Views Of A 21-Year-Old Software Developer

Trust the vibes image by @TheRastaViking on twitter

I first want to start by disclaiming that this is in no way a motivational or inspirational “Should I become a software developer” story. It’s also not one of those “I code at 3 AM because I am a superhuman who turns caffeine into code and lives in an incredibly effective loop of writing complex code.” I’m also going to mention some things that might be a little hard to swallow, and because this comes from a certain perspective anyway, take some of what I say with a pinch of salt.

So, since I’ve failed drastically at introducing myself on the first line of this story, now is probably a good time.

Well, I am not popular for anything besides my obsession with music amongst my friends. I thought I would become a rapper/musician earlier on in my life actually but I guess I’ll write about that another day, lol. So besides my cool job, I’m not known for anything else besides my horrible overspending on food and my twitter (@lerato1ofone) where I talk a little smack once in a while. In a nutshell, I am a creative and I love seeing ideas come to life. Did you get that? I am ‘a creative’, kids these days smh.

So, here’s what I’ll talk about. —

  • University is so…
  • The truth about being a dev that no one tells you.
  • Being a dev is more than just coding.
  • Itsy-bitsy wholesome content. (just my 2cents worth of advice.)

University is so…meh, idk.

First of all, let’s get one thing out of the way. Our precious and expensive universities are far behind what the industry standards are like and they don’t equip us enough; that’s the sad reality you have to face as a developer in South Africa. So in my sophomore year, I already knew that I didn't want to get into honors. I couldn’t wait to get my foot in the industry and play with the big fish, and I don’t regret this decision one bit. You’ll notice how many companies offer a graduate program before they can fully employ you right. I hope you don’t think they do this because they just got some extra bucks they want to throw at you while teaching you some things. They do this because there is an actual gap they are trying to bridge. I was lucky enough to have one of the big software development companies in the country (which is my current company’s now rival btw, yeah evil I know) come to our campus twice every year to show us some cool things, and it was in these times that I saw how my life was different from theirs.

I’ve learned from my job in four months what I couldn’t learn in university in 3 years — yeah read that again. And this has nothing to do with my institution’s teaching standards in any way. I found that the biggest lessons I’ve come out of varsity with are the concepts of programming and how to learn stuff, so I essentially spent loads of money for okes to teach me how to learn, yikes! This is not to say it was a waste of money though — because the concepts of learning and programming will remain the same for a long time. Moreover, the people I met at the time in varsity were brilliant and some I’ll keep in my network of colleagues, clients, and friends for life, needless to mention those parties at rag farm and gulping beer like a goat every weekend; that’s why we get into uni in the first place right?

While your university may not teach you the latest javascript frameworks, or no javascript at all (thanks UFS), no version control, Azure or AWS or no tools that you will end up using in your day-to-day job, I can see how studying computer science formally helps to give me an upper hand to many “self-taught” developers (because of the principles). But, and this is a big but. I’m sorry to burst your bubble but the truth is you need to learn what they teach you and a bit more because if you don’t you will graduate and then struggle to get an interview or struggle to make it past one, simply because you don’t know the real stuff your lecturers didn’t teach you and you haven’t built anything. Please don’t call me a villain, but I find this very beautiful. Why? Because it represents exactly how the industry is. Your qualification is just a piece of paper, okay, what the industry wants is demonstrated ability.

The truth about being a dev that no one tells you.

I’ll be blunt and shoot straight for the head here because this is something that genuinely pisses me off. I think the hype around software development has gotten a little out of hand honestly, well at least in my opinion. People think we spend our days drinking the best free coffee, free beer, and free soft drinks. Eating free food, going on free adventures, and free dope exhibitions and attending free talks. (speaking to you directors of movies like The Internship, lol) While this is true to some extent, it deeply saddens me that some people get into the industry just for these free free free benefits and end up being unhappy or even depressed because people don’t talk much about the other side of the job. I am very big on mental health and that’s why I want you guys to know that it’s not as it seems in the movies.

We spend 80% of our work lives frustrated and screaming at our machines. 80% bro, this is a bit scary and unhealthy if you think about it. The job is very stressful. We solve problems every day and it can get pretty frustrating being stuck on something for half a week when you thought it would just take you half an hour. Now I’m not saying I have the hardest job on earth and my brain cells hurt because I solve the matrix every day on my life, but trust me, you will solve a lot of complex problems.

If you hate learning and you’re just a lazy dude you might wanna run off to somewhere else, honestly. This shit is like medicine and there’s a new virus every day, but for code. I like to use this comparison because of how I was terrified of the idea that doctors have to keep learning for the rest of their lives (because I hated school, still do). Continuous learning is something that will be at the very heart of your career because technologies change, things are advancing every single day and people are finding new ways to solve problems so you need to upskill yourself to remain competent. This is why companies fall and rise, and a language that was popular 15 years ago is not that popular today. One of the BIG reasons I love my job at this company and chose it against its competitors who pay slightly more is — I am built to know no stack. That means I am a full-stack developer and I can take anything being thrown at me because I engineer solutions and not “mobile apps”, “web apps”, “IoT” or “games”. My company might decide to stop using C# and jump to Python on the same project tomorrow, and I should be fine with that; you can see how that requires me to continuously learn, right? So I think it’s important to understand what you value as a developer.

Being a dev is more than just coding.

You’re going to spend a lot of your time communicating. Whether you’ll be discussing features or updates, speaking with your designers about something you don’t understand, speaking with another developer — either helping them on a task or trying to understand something. Or even worse, when you’re still starting you will be in a lot of meetings to ensure that you understand your work and the processes of building software. But you will surely be stuck in some meetings where you’ll be thinking “damn, I could be coding and getting some work done right now.” Bet.

So, it is very important that you know how to communicate professionally and you can express yourself comfortably. Lol, that’s what I’m trying to do here anyway. (It comes in handy when you want to suggest what you think is a better implementation of something.)

Now, this one is more of a preference and some people don’t see the importance of it, but I’ll explain why I would advise it. Become part of a community. Whether it’s stuff like attending developer conferences, meetups, or simply getting together with some friends and chatting about some tech and solutions over a beer on a Saturday. It goes a long way. I understand that we may not value the same things, but the tech industry in South Africa is still growing, kinda small actually, so that means it’s the perfect time to build relationships and networks that will not only benefit you and your career but they will also help share and gain some knowledge. The big shot guys leading teams in your company talk to other big shot guys in other companies okay, understand this. So if you come across as a negligent and incompetent person they will speak about you, they speak about these kinds of things because the game is only so big. So keep yourself in check and don’t cuss your whole office before you quit.

Itsy-bitsy wholesome content:

eat(); sleep(); code(); repeat(); but don’t do it image by Trust Onyekwere

Take care of yourself. Do you see the picture above? yeah, don’t do that, please. This picture is meant to be motivational to engineers so they can get some work done, not that you should do it. You will spend most of your days sitting down, in front of a computer screen. I don’t know what you think about that but I think it’s very unhealthy. That’s why you must take walks/jog to balance it out. Drink water, try to eat less junk and, get some nutrients. Also, look into getting a pair of computer glass to protect your eyes for those long hours in front of your screen, they reduce the amount of blue light that hits your eyes.

“ the better your body, the better your mind, the better your code!” — Lydia Hallie

Don’t get yourself in tutorial hell, or if you are in it already, GTFOT. Tutorial hell is when you spend a lot of time and money (but some tutorials are free) doing online courses or tutorials without getting your hands dirty. While they can help in getting started, it’s very important to re-build what your lecturer showed you without their help. This is where the real learning happens. Then take what you learned from that and apply it to your project. Practice, practice, practice — that’s the best way to learn, IMO.

Be humble and observe. The industry has a couple of jerks and assholes. I mean, people even pick on each other because of programming languages and the games that they play, wtf. So with that in mind, you will work with an asshole or egotistic developer at some point in your career, and if you don’t, you are probably one (just kidding). When you come across this kind of person, don’t lose your temper. Be cool, calm, and collected, and, don’t be emotional about it. As a developer, you must have a shield because you will feel vulnerable a lot. Also, when you are still starting you will have a lot of comments in your code reviews. It’s very important to understand that people are coming for your code and not you: take this as a learning opportunity instead. If you’re not clear on something, always ask why they suggested it over what you had because some intermediates will rain on your parade just to look cool to the seniors, I hate it so much.

Thanks for reading.

With that said, please leave me some👏 👏 down below or leave a response if you enjoyed this read or found it helpful in any way.

I am looking forward to writing about more topics so do follow my account. Connect with me on social media: Twitter, Instagram, LinkedIn. See you on my next post, or on my sm. Kthnxbai.

About the author

Lerato Letsepe profile picture

Lerato Letsepe