The Connection Between Learning to Code and Corn 🌽

Apr 30, 2023 3:01 pm

Software engineering seems like a black-and-white field:


  • You learn to code
  • You land your first job
  • You either write good code or bad code


But like we always discover in life:

Things are rarely black and white


The reason for that?

We're People


It's a sexy idea to think that people can be purely rational, always make rational decisions, and have rational feelings. But that's nonsense.


People are everything but rational.


So this newsletter is not going to be advice about how to optimize your day or squeeze every last bit of gains out of your coding studies.


It's a pure, practical, and real philosophy that will help you during hard times.

Advice based on my experiences and observations in the industry.


Based on the fact that we are people.


Let's get into it:



Overcoming The Corn Field

We've all been in this situation before:


*Skilled person shows you what to do*

You think to yourself: "That looks easy!"

You sit down without guidance to do it yourself and...


Shit.


They just did it so easily! How come you get stuck so soon?


I call this the "infinite barriers"


Imagine there is a field full of corn:

image


That's what a cornfield looks like in case you didn't know 👆

I grew up in Ohio so I'm familiar with them


When you are new to programming, you have a fresh cornfield.

Every stalk of corn represents something you don't know.


When you encounter a corn stalk, you get to chop it down and pass easily.

But every time you encounter another corn stalk, you get stuck.


This is what learning to code is like.


You encounter situations like this as a junior engineer:


Plan:

Make a website that sends me a text message


How it goes:

Okay.. how do i make a website?

I need to know HTML and CSS...

But how do I make it do things?

Oh... I need to know javascript.

Okay.. but how do send a text message?

Google says I need to use an API...

What the heck is an API??

Okay, so it's something I need to send web calls to.

How do I send web calls??

Okay... but how do I...

And it goes on.....


This situation is familiar to every new developer.

I still run into stuff like this daily.


But here's the connection:

Every line above is a corn stalk you get to cut down


Meaning the next time you need to pass by, it is much easier.

There is nothing to overcome.


Let's imagine somebody is making that same project, but they are a developer with 15 years of experience who has already done that before:


How it goes:

Okay.. lets make a website

Add a textbox...

Add a button...

Let's Hook it up...

I remember Twilio has an API to send SMS (text messages)...

Okay, I found the documentation...

Let's set that up...

Let's write a function to make the web call...

Call it from the button I created earlier...

Cool! I got a text!


Now that seems like it is simple, but there is so much prior knowledge that goes unseen there.


From the outside it seems like an easy breezy walk straight to the solution.


But here's the truth:

Over the last 15 years, they have cut down a lot of corn


They have an easier time navigating the field since they have already overcome so many obstacles, while your is still full.


So next time you feel dumb, or get frustrated that you feel like you can only make 10 feet of progress before getting stuck again.


Remember:

You will only have to cut the corn down once.


One day you will run around the field with ease, and only encounter obstacles for the complicated and rare tasks way in the back.


Just like that highly skilled person you met a few years back.


image


Hope this helps.

_______________________


Thank you all for reading this week's newsletter.

I appreciate all of you who read to the end.


As always:

Email me at swdlodonnell@gmail.com with any questions

Or schedule a free call with me if you want to chat face to face


Until next week!

I hope you all have a great weekend.

Comments