How to Get Ahead of 99% of Software Engineers
Want to be a top software developer among the 27 million out there?
I have analyzed and asked dozens of software engineers why they want to be a top programmer and the response is always the same.
Most software engineers dream of working at big tech companies for perks like free food, unlimited vacation, cool gadgets, chefs, and high salaries.
But to land such a job, you need to stand out from 99% of developers. Don’t worry, you don’t have to be a genius. I’ve been in tech for a long time and I’m just like you. Success comes from hard work and following a clear roadmap. Let’s break this down into five easy steps you can start today.
Step 1:
Work on personal projects when you can. Time is precious, and not everyone has a lot of it, but to excel you need to invest time. If you're experienced, you will not need as many side projects, however for beginners, focus on quantity over quality at first.
Try different mini projects to explore various coding aspects and aim to build something every few days. When I was learning, I made two small projects a week. In six months, I had 50 projects, which was great exposure.
After a bunch of mini projects, try something more complex. Quality now becomes more important than quantity. For instance, if you’re into web development, create a web version of Instagram where users can post images. This kind of project looks great to employers checking your GitHub. I once made an adventure game; it wasn’t perfect, but it showed my skills and helped solidify my basic understanding.
Want some bonus points? Learn basic infrastructure during this time. Make sure your projects are easy to set up and consider deploying them on a cloud platform. This shows extra skills. Again, when I was learning to code I had my game live online, which impressed my interviewers. There are countless tutorials on how to deploy on AWS so the whole world can use your apps.
Step 2:
The second thing I did was define my goal and reverse engineer it. Instead of a vague aim like 'work at a tech company,' set a measurable, specific target. For example, 'join a tech company in six months' is a measurable goal. Then plan backward from that date, filling in what you need to learn each week.
If you look up the definition of reverse engineer you will get “deconstructing individual components of a larger product”, that is a super fancy way of saying pick a date on the calendar so we know how hard we have to work.
“Deconstructing individual components of a larger product.”
Step 3:
The third thing we need to do is get good at data structures and algorithms. You don’t need to be perfect; just be competent. Focus on common problems involving maps or arrays. Python is a good language choice for its simplicity and is the top interview programming language. Also, read books like 'Cracking the Coding Interview' and 'Clean Code.' They provide invaluable insights.
Step 4:
Now number four is developing soft skills. This is a highly overlooked skill that you must have to be in the 99th percentile of software developers. Communication and teamwork are crucial in tech. Software development is a team effort, not a solo venture. Enhance your ability to work and communicate with others.
Soft skills are all about how to interact with other human beings, and in the software development world you will be doing this a ton. For some reason, software development has this reputation of doing everything by yourself.
Creating the next unicorn by yourself, being a senior engineer and leading a team by yourself, fixing bugs by yourself, putting out fires by yourself, creating enhancements by yourself. When a team has a bunch of individual contributors not working together that is known as siloing the developers.
Step 5:
Now number five is networking. Join development communities and surround yourself with other developers. Networking can open many doors. Check out my LinkedIn for daily programming content and community links.
Now, there are actually two main benefits of networking.
1. You are what you surround yourself. So, if you want to become a top 99th percentile programmer you must absolutely surround yourself with other programmers.
2. You can meet other top 99% programmers.
There are so many opportunities in life that are available by just knowing the right person. Outside of friends and family, nobody really knows who you are. It is up to you to change that.
Bonus Tip:
Be yourself.
Simple enough, eh?
Cheers friend,
Eric