3 Reasons You Need A Better Foundation 🏠
Aug 26, 2023 3:01 pm
REMINDER
Last week I launched coaching services for software engineers.
- 2-hour private technical mentoring
- 1-hour career coaching
- Resume reviews
Check out my page here!
https://topmate.io/imliamodonnell
On to the newsletter ⬇️
__________________________
Something I say often on LinkedIn is:
"Learn the fundamentals"
I think this applies to everything in life – and programming is not an exception.
No matter what you do, taking the fundamental (or conceptual) approach to learning will take you miles further than learning everything at the surface.
Fundamentals of computing like:
- Bit shifting
- Concurrency
- Boolean logic
- Control Structure
- Memory hierarchy
Will benefit you forever in your career.
Even if you don't directly use them
Here are 3 ways you will benefit from becoming a fundamentalist:
A Deeper Understanding (Demystify)
This one is the most obvious of the 3.
When you have an understanding of the fundamentals you will have a deeper understanding of how things work.
The main benefit of that is that you demystify what is actually happening when you write code. A change to pull back the curtains.
Small things like:
"Why is code slow when I pull from disk instead of caching in memory"
"What is happening inside the computer when I write if"
"What is happening when I call fetch() in javascript"
All these add up to help you make better decisions as a programmer.
And make the idea of programming less scary
A Basis For Learning More
Fundamentals are the best foundation.
In general, the closer you get to a full understanding – whether it is:
- Life
- Coding
- The opposite gender
The more you are able to learn by drawing on your past knowledge. We do this all the time without even knowing it. It's what we are made to do.
If you touch a stove and it's hot you could make 2 conclusions:
- Do not touch stoves
- Do not touch hot things
Number 2 serves you way more in life as a fundamental idea. So later in life when you're working on a car for the first time you won't touch the hot engine when you feel the heat coming off it.
The "hot things are hot" lesson just saved you valuable time and energy when learning something completely new.
The same thing happens with programming.
Take this fundamental for example:
Getting data from disk is slower than getting data from memory
This lesson is valuable no matter what you're learning:
- Web Apps
- Server-side code
- Building a database
At the end of the day – It's all just files and folders on a computer.
The lesson works everywhere.
A Greater Appreciation
This one is my favorite because it never ceases to amaze me.
One day somebody (Alan Turing) made a boolean logic machine....
Then one day somebody made it electric...
Then made it programmable...
Then built operating systems...
Then made a display using those electric signals...
Then machine code...
Then assembly to make it easier...
Then compiled programming languages that compile into assembly...
Then languages that auto-manage memory...
Then languages that ship with libraries behind them...
Then graphical user interfaces...
Then the internet...
Then protocols to interact with the internet....
Then package managers...
Then code on the internet to do 1,000,000 things...
Now we just write print('hello world') and run it in Python.
Obviously, I left out a ton of things.
But you get the point.
Don't take for granted how much has already been done for us.
And how much we can do for those who come after us.
“If I have seen further, it is by standing on the shoulders of giants.” - Isaac Newton
_________________________
Thank you for reading this week's newsletter.
I appreciate all of you who read to the end.
Book a coaching call with me if you want to chat or have any questions.
Email me at swdlodonnell@gmail.com with any questions
Check out my free course if you are learning to code
Until next week 👋