Categories
Tech Career Tips

10 THINGS I WISH I KNEW BEFORE BECOMING A SOFTWARE DEVELOPER

 

Years ago, I switched my career to tech & started learning code. However, I took many years to be professionally proficient in code & wasted so much time! If I knew what I know now, my journey would’ve been so much easier!

Here’s how I’d learn to code if I could start over:🧵

1.  Find a mentor

The first thing I’d do is reach out to professional programmers for mentorship and advice. Starting out, I knew nobody in tech. I just thought tech’s cool and I kinda winged it. Having a mentor can shave years off your learning journey & prevent u from learning unnecessary stuff.

Finding a mentor, it turns out, isn’t that hard. All the good devs are here on LinkedIn, just DM them and offer to buy them beer. What’s the worst that could happen? Yes, they’re likely to say no because they’re busy chaps, but just think of the upside if they agree.

A mentor I met online gave me my very first job in tech. A good remote role where I grew my skills. To this day, I keep perusing GitHub pages and reaching out to devs whose work I admire. 6 out of 10 times they’re always enthusiastic to meet and talk about their craft.

2. No need to get a CS degree

When I wanted to get into tech, I thought a Computer Science degree was mandatory, so I naively enrolled in a uni. I know better now. YOU DON’T NEED A CS DEGREE! Half of the devs I know didn’t even go to college. Hear me out:

If you’re in your late teens or early 20s, sure, go get that degree, it certainly wouldn’t hurt. If you think you need a structured environment, then a BootCamp might be a good option (there are many free online boot camps out there like ALX which are quite great).

But the amazing thing about software is that you can have a very fulfilling career without either a CS degree or a BootCamp. We’re in the golden age of learning, everything you need to know is available for free somewhere on the internet. What a time to be alive!

3. Learn how to use cmd

I wish I had gotten familiar with the command line earlier. It would have saved me so much time! I also wished I could have practiced my typing techniques to use all my fingers and not glance at the keyboard while typing.

4. Go deep, not wide

I would have spent much more time learning just one language to its core (python), before branching out and learning a little JavaScript.

I almost exclusively code in Python now, but I wasted so much time trying to learn everything. I learned PHP, Java, Python, JavaScript, Rust, C#, C++… Anyway, I suppose there are no sunk costs when it comes to learning.

5. Eliminate distractions and focus

If I could, I would have saved up living expenses for 6 months and done nothing but dive deep into code and projects. Unfortunately, I had to take long breaks from learning code so I could figure out how to pay my rent and bills. When I came back, I often found myself having forgotten everything and needing to relearn it.

6. Learn GIT

Learn GIT. It’s where you’ll save and manage all your code. When you become a pro, it’s how you’ll work with your team to share code. Here’s my contribution graph:

7. Get out of tutorial hell

Get out of Tutorial Hell! Watching coding tutorials is fine, but you often forget whatever you’ve learned in a few months. To make the concepts stick, build your own real-world projects (not just tutorial follow-alongs).

8. Learn to write tests

Learn how to write tests! Creating testable code is not only the mark of a good developer, but also can turn out to be a lifesaver when your program starts to break.

9. Read the experts’ code

Read other peoples’ code! Yeah, it helps! I became a decent writer because I read works by other great writers. I am trying to become a world-class dev by reading code by people I admire.

10. Learn proper resume techniques

Learn how to write a proper tech resume! One page is ideal, two max. A tech resume is written for the ATS machine, not human eyes. Quantify nearly every bullet point with numbers and metrics. Ohh! and projects can also be substituted for work experience in a resume.

11. Learn how to swim

Learn how to swim. This has nothing to do with coding, but it is fun, keeps you in shape, and it just might save your life one day.

12. You can’t escape DSA

Get good at data structures and algorithms. They are required to get a job. But remember, they are just a part of programming, not its totality.

13. Don’t be boring

Watch good movies and educational YouTube channels. Read fiction. If you don’t know where to start, ask me for recommendations. These don’t make you a better programmer, but they imbue you with personality and prevent you from becoming a boring c*nt.

Meanwhile, I am looking for a co-owner and co-developer for my JS game, Jeshi la Mzalendo (Patriot Army). Been meaning to add features to it. Lemme know if it seems interesting: jeshi.lukorito.dev

On twitter? Here are awesome tech communities & people u could follow: Optimize your TL so everywhere u look it reminds you of your coding journey
@SpaceyaTech, @kotlinkenya
@lux_academy
@kirinyetbrian
@iamukasa
@WeCodeNairobi
@SamProgramiz
@codewithlenny
@reactdevske
@SharonJebitok

For women, there are awesome communities such as @SheCodeAfrica@akirachix , @KamiLimu@shehacks_ke and personalities like @mbithenzomo@jojociru and @CatherineKiiru

Don’t forget to follow me, @Lukorito_ , as I intend to be your virtual guide every step of the way as you try to make a decent living from tech as a developer.

By Wafula Lukorito

I am an engineer with a strong Computer Science foundation with practical experience in full-stack web design, building and maintaining REST APIs, creating Django and PHP backends, and designing educational JavaScript games. You can check out my work at https://lukorito.dev

Leave a Reply

Your email address will not be published. Required fields are marked *