I've been coding for 14 years now, at companies like Meta, Pinterest, and Walmart.
It took 4 years before I finally felt competent as a developer, but I could have gotten there *much* faster.
Here's how I'd learn to code if I could start over. [I made this a video! https://lnkd.in/gRxNwztq]
I break down my advice into 3 parts:
1. The mindset π§
2. What to learn π§
3. Become a software engineer π©π½βπ»
Let's start with the mindset π§
The most important advice is to simply get started. You learn programming by doing, not by researching the best tutorials.
Writing code is fast, entirely free, and the cost of screwing up is *zero*. How cool is that?? If your hands aren't on the keyboard, you're doing it wrong.
Next, you need to embrace discomfort.
Coding is all about abstraction: you won't know how everything works, but you still need to get things done. That'll feel uncomfortable when you start out. Adopt the mindset that you can figure things out, even with incomplete information.
The last mindset advice is to learn how to focus.
Writing code is hard. You're going to feel tempted to open up Linkedin or watch Netflix. Create an environment to give yourself the time/space to actually do deep work.
Next, let's talk about what to learn π§
I have a contrarian viewpoint here. If you're learning how to code, start with Kotlin, and then build Android apps.
There are 2 reasons for this:
1οΈβ£ Kotlin is a modern language which will become even more popular in the coming years. Itβs also fully compatible with Java, which has been widely used for decades.
2οΈβ£ Publishing a mobile app is the secret hack that junior engineers don't realize.
Most new coders will build a website as their first project. The issue with this is that *anyone* can publish a website in < 5 minutes. It's very hard for hiring managers (let alone recruiters) to evaluate if a website is good.
Publishing an Android (or iOS) app is more work, but that friction is great for someone building a portfolio. An app in the Play Store will have a download count and star rating. Now it's obvious if you passed the basic test of engineering: your software added value for others.
Finally, let's talk about being an effective software engineer π©π½βπ»
(This is where I spend most of my time as the founder of Taro)
First, I recommend you learn the basics of git. All teams will use a version control system to get work done. There are 4-5 commands that you need when starting out. ONLY learn these and nothing else (eg. add, commit, push). The rest you'll learn as needed.
Finally, teach what you know! Even if you're not an expert, your perspective is valuable since it may resonate with someone.
If not, the act of teaching itself is immensely valuable for you. We retain 10% of what we read, 20% of what we watch, and 90% of what we teach.
Learning to code is the first step to lucrative jobs and huge impact in the world. Video link below ππ½
#learntocode #softwareengineer
It took 4 years before I finally felt competent as a developer, but I could have gotten there *much* faster.
Here's how I'd learn to code if I could start over. [I made this a video! https://lnkd.in/gRxNwztq]
I break down my advice into 3 parts:
1. The mindset π§
2. What to learn π§
3. Become a software engineer π©π½βπ»
Let's start with the mindset π§
The most important advice is to simply get started. You learn programming by doing, not by researching the best tutorials.
Writing code is fast, entirely free, and the cost of screwing up is *zero*. How cool is that?? If your hands aren't on the keyboard, you're doing it wrong.
Next, you need to embrace discomfort.
Coding is all about abstraction: you won't know how everything works, but you still need to get things done. That'll feel uncomfortable when you start out. Adopt the mindset that you can figure things out, even with incomplete information.
The last mindset advice is to learn how to focus.
Writing code is hard. You're going to feel tempted to open up Linkedin or watch Netflix. Create an environment to give yourself the time/space to actually do deep work.
Next, let's talk about what to learn π§
I have a contrarian viewpoint here. If you're learning how to code, start with Kotlin, and then build Android apps.
There are 2 reasons for this:
1οΈβ£ Kotlin is a modern language which will become even more popular in the coming years. Itβs also fully compatible with Java, which has been widely used for decades.
2οΈβ£ Publishing a mobile app is the secret hack that junior engineers don't realize.
Most new coders will build a website as their first project. The issue with this is that *anyone* can publish a website in < 5 minutes. It's very hard for hiring managers (let alone recruiters) to evaluate if a website is good.
Publishing an Android (or iOS) app is more work, but that friction is great for someone building a portfolio. An app in the Play Store will have a download count and star rating. Now it's obvious if you passed the basic test of engineering: your software added value for others.
Finally, let's talk about being an effective software engineer π©π½βπ»
(This is where I spend most of my time as the founder of Taro)
First, I recommend you learn the basics of git. All teams will use a version control system to get work done. There are 4-5 commands that you need when starting out. ONLY learn these and nothing else (eg. add, commit, push). The rest you'll learn as needed.
Finally, teach what you know! Even if you're not an expert, your perspective is valuable since it may resonate with someone.
If not, the act of teaching itself is immensely valuable for you. We retain 10% of what we read, 20% of what we watch, and 90% of what we teach.
Learning to code is the first step to lucrative jobs and huge impact in the world. Video link below ππ½
#learntocode #softwareengineer