The 3 Mental Shifts That Separate Code-Bots from Software Engineers
If anyone can learn to code then why do some software engineers make hundreds of thousands of dollars?
Quite simply, software engineers transform complex logic into code. They take an idea and understand how to implement it with a programming language or system. They understand the trade-offs and maintenance costs of their solutions.
Sometimes they even have to explain this to other humans who may not speak in code 😉.
Unfortunately, many developers think that just learning React/JS/[insert language] will make them hire-able.
You’re paid to understand code. You’re paid to solve problems.
Code-Bots are overly attached to a language, framework or pattern that they learned in University or Bootcamp or their last company.
Code-Bot is a dangerous career path and it’s easy to stumble onto it.
- You write code that works but you don’t REALLY know how or why
- You’re problem solving is limited to your programming language
- You rely on memorization instead of logic
- You are easily expendable 😅
First off, its OK to start at the code-bot stage. It’s where we all start.
If you want to be more than code-bot then 👉 join me at Parsity.io 👈 and build cool sh*t
To limit your stay at this stage, there are a 3 mental shifts you need to make as you’re learning.
First Shift: Poke All Sacred Cows
You simply MUST use Typescript.
EVERY serious developer does TDD.
- Some dude on X
The tech bros on Twitter and LinkedIn are not the coding gospel. Always question the value of their advice or any pattern you’re learning.
Ask yourself: What is the problem this library/framework/pattern is solving?
This can lead you down interesting rabbit holes. With ChatGPT this is easier to do than ever:
Example prompt: Give me a reason for and against using TypeScript
Make your own opinions and be prepared to change them.
Second Shift: Know Your Coding History
There are a handful of algorithms and design patterns which dominate the software industry.
The problem you are solving has likely been solved many times over.
Get to the root of the problem you are trying to solve.
Have you created a really complex if/else statement? Look up how to make it simpler and then look up the meta-pattern behind it.
Again, use ChatGPT for this.
There’s nothing wrong with copying an answer from AI or Stack Overflow but go a step further.
Ask AI, what is the pattern behind this answer? When was it introduced?
You will find that there is very little that is new under the sun.
Now you can then apply patterns which are language-agnostic rather than memorizing specific solutions.
Final Shift: Go Wide
While everyone is rushing to understand the nuances of JavaScript or add another language under their belt, I want you to go wider.
Coding is hard but can increasingly be handled by AI.
Understanding the complex web of systems that work in unison to get our code from our laptop to the internets is less obvious.
Deploy your code on multiple platforms including AWS, Vercel, GCP and whatever the hell else is popular.
Go old school and try FTP… or maybe don’t. Just look it up maybe.
Discover the relationship between your code on your machine and your code in the cloud. Describe the flow from one environment to another in a document by using Excalidraw.
Literally, look up what happens when a user types a url in their browser and a web page pops up.
You will now know more than 92.5% of bootcamp grads… give or take.
Conclusion
There’s a hell of a lot more to coding than coding. We stand on the shoulders of giants in tech and leverage the algorithms and patterns made decades ago. Learn just a fraction of this stuff and you will be confident, capable and so much more than a code-bot.