Keep It Simple — Issue #50
Did you ever feel overwhelmed when trying to learn how to code? You're not alone. I struggled a ton in the beginning and took a lot of wrong steps – I was even fired from my first job.
It took me 3 years to understand and write code that I was comfortable contributing to a product.
If you want to learn how to code, you have to push through a lot of discomfort
There will be challenges, frustration, and mindset shifts that need to happen over a long period of time.
While I had a good process for learning how to code – If I could go back I would change what I learned to code. There are important topics I didn’t spend enough time learning that would have improved my ability to move forward.
If you’re new to programming, here are the 3 things I recommend to learn. (that you should get a head start on)
Let’s jump in.
It doesn’t matter what kind of application you make. I'd be damned if it doesn’t need some kind of database.
The earlier you learn how to use databases, the better off you will be. It isn’t just about learning how to implement a database. Structuring data in a logical way takes constant learning and iteration.
Your first database will probably suck, and your 100th will suck less.
I recommend you spin up several small databases and consider ways of modeling data for your applications.
Get the hang of structuring data early on. You will do it a ton in your career.
Beginning your career knowing databases will fast-track you from a junior to a senior developer if you flex your database muscles. Knowing how to structure databases is a huge part of understanding "systems design". Which is usually what makes you a senior developer.
To get started, here are 3 popular databases I see used in the industry:
An API (Application programming interface) is how almost every application in the world interacts with a database.
Go to your favorite website (like YouTube), hit F12, click the Network tab, and look at all the calls while you navigate around. Most of the calls you see are making calls to an API of some sort/.
So what is the benefit of calling an API? Why not just call the database?
With an API you can change the data in the database, restructure data, and even add database-specific data (creation dates, tracking tables, association tables, etc.)
These changes can increase speed, reduce data size, and do whatever you need them to do. Then when you make these changes you don’t have to change anything in your app.
The API will be changed to respect the database and manipulate the data in a way that the app expects.
Before API:
You make a data change —> You change 200 lines of code in your app to match the data because it broke everything
After API:
You make a data change —> You change 1 data model in your API to match the data —> Your app can’t tell the difference
This is why every company needs people to build solid APIs. It’s one of the most important skills in the industry.
Actionable advice:
Google “How to build an API in Express.js”.
Once you know APIs it is good to get comfortable using cloud services. The most popular ones are
(Yeah — I know — they own everything)
All of these platforms pretty much offer the same things. I reference the AWS equivalents in parentheses.
With those 5 things alone you can build almost any application.
Learn how to do those 5 things in a cloud service of your choice.
Every cloud service will have 100 things you can do within it, but focusing on those 5 will give you an advantage when you get into the industry.
(Note: Googling “How to use AWS” is like Googling “How to use the App Store”)
You want to learn how to use the individual apps, not the App Store.
1. Databases
Pick a database and learn it.
It is likely whatever tutorial you follow will lead you along to make a database.
If you want an exercise:
Build a database of dog walkers. Each dog walker can have multiple customers. Each customer can have multiple dogs.
2. APIs
Learn how to build a simple API.
Every real software project I have ever worked on has an API of some sort. Knowing how to build and maintain them will give you a serious head start.
Google “How to build an API using Express.js” to get started.
3. Learn Cloud Services
Every cloud service offers these 5 things at a minimum:
The big ones are AWS, Microsoft Azure, and Google Cloud Platform.
If you ever have any questions:
See you next week 👋
______________________________________
One thing to mention:
What you just read is the first newsletter I ever wrote.
1 person opened the email. It was me.
If you thought the writing sucked – That's why. I wanted to re-share this as an opportunity to introduce some old ideas I used to talk about on my LinkedIn.
Last week we crossed 150 people on the newsletter. It isn't huge but it means a lot to me.
Thank you all.
As usual 👇
______________________________________
Thank you for reading this week's newsletter.
I appreciate all of you who read to the end.
How I can help you:
Book A Coaching Call ☎️
Free Course 📚
Email Me 💌
Until next week 👋
Newsletter for Software Engineers. Teaching how to solve career and life problems with first principles thinking. One email. Once a week.
First Principles — Issue #52 How To Be The Person People Hate There is an advantage to being liked. People want to be around you more, they think of you first when opportunities come up, and you gain leverage by making people feel good. I know that sounds sociopathic to say it that way, but it's true. Goodness, good energy, and being a team player is just as beneficial to you as it is to the entire team. It's a mutualistic relationship. On the other hand... Being an asshole causes the...
Keep It Simple — Issue #52 3 No-Code Tools That Don't Suck When I started programming in I remember my teacher said:"Coding will be mostly drag and drop in 10 years" I think his claim was fair, but it didn't go as deep as any of us thought it would. The"drag and drop" code platforms are useful for a handful of things, but the full no-code movement never really caught on. For the most part – people still code. However, I have come across some tools that change the way I approach solving...
Keep It Simple — Issue #41 The Truth About Motivation Coding is Hard. Anything worth it is hard. You might love the idea of doing hard things, but you should ask yourself why you want to do it. Do you find it fun?Do you want the money?Do you want your parents' approval? It might all seem the same, but motivations make all the difference in how your accomplishments feel. For most of my life, I chased opportunities for the wrong reasons. The common reasons people would expect you to pursue...