Rahul Pandey (joinTaro.com)
Rahul Pandey (joinTaro.com)

@rpandey1234

13 Tweets 4 reads Apr 14, 2023
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 break down my advice into 3 parts:
1. The mindset
2. What you should learn
3. Becoming 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 Twitter, go clean your dishes, or watch Netflix.
Focus on creating an environment where you 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, well-designed 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 v hard for hiring managers (let alone recruiters) to evaluate if a website is good.
It's so much harder to standout
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.
For most people learning to code, the eventual goal is to become a SWE.
(This is what I spend most of my time thinking as the founder of @join_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 challenging but fulfilling.
It's the pathway to lucrative jobs and huge impact on the world.
If you enjoyed this thread, feel free to follow me @rpandey1234 and my company @join_taro.
Here's this thread as a video: youtu.be

Loading suggestions...