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:
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.
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.