I picked up programming just a little over a year ago from the time I was writing this. I wouldn’t quite say I’m anywhere near being a wizard in the field yet, but I’ve probably had my fair share of programming and code writing experience across a handful of languages (coupled with more than just a handful of frustrations that come along the way), being in a software engineering course. Before I dive into why I think everyone should at least try to learn to code, take a look at this:

Well looking past the guy’s seemingly unavoidable eye stare, those are only words coming from a hobo looking guy who poses in such a way that only makes him look pretty smart. I mean, just look at him. Bet he doesn’t make much money either. Why listen to him? Just because he owns a turtleneck? Heck, this might even just be put together by some 30-year-old in his basement using MS Paint.

Well then, looking past the awesome quote (and hopefully you’ve scrolled low enough that you could avoid his glaring stare),

Let’s get right in.

It teaches you how to think

Okay, I gotta give this one to the turtle neck guy (1). Programming DOES teach you how to think (or maybe it’s just you learning the hard way). Over time, you’ll learn how to strip a problem down to its core most elements, clearing off the fog that’s surrounding the problem you’re trying to tackle. For example, one of the more powerful concepts I’d assimilated from are the concept of classes and objects, a core concept of Object-Oriented Programming (2), and functions, a cornerstone to pretty much every programming languages out there. Both of them are powerful tools, whom when used properly, discourages code redundancy (which wastes space, time, and deteriorates code readability), and encourages code reusability (which saves space, time, and promotes code readability). When mastered, you’ll be able to break down huge, complex problems into their respective constitutional parts, passing them through multiple, reusable and customizable functions that solve the individual parts, and combining them back together to a complete solution. The best part is, I’m not just talking about codes. Your entire mindset shifts — or as I would like to call it, you gain a “third eye”.

(1) Actually, he did say this in here @ 1:22.

(2) Don’t mind the terminologies first.

It’s the freaking future (or now), dude.

As a matter of fact, it’s probably happening all around you now. The world is turning digital. I don’t think I’ll have to do a lot of convincing to you, being with the fact that you’re probably reading this from a laptop or a phone. With artificial intelligence on the rise, IoT appearing just over the horizon, and Big data analysis playing a more important role in business than ever, I guess it’s pretty safe to say that the world needs people who understand a line or two of code.

All the sub-niches

The best part about being in the software industry is that it’s way more than just sitting behind a desk and typing code! Yes, coding might be a part of all of these, and it lays the foundation to most, if not all careers in the software world, but heck, just look at this:

Web:
Web Developer, web designer

Security:
Information security analyst, network security, security software developer

Database:
Database admin

Software:
Software developer, software tester

Gaming:
Game developer, DevOps Engineer, Game Programmer

Others
Computer system engineer, Network Engineer, Project Manager, Academic positions, computer support specialist, IT technician, IT customer service, Network Systems & Data Analyst

(Taken from here, here and here)

And this is just a list that I’d gathered up with a quick search on the web (3). Who knows what else I’d missed? Each of these jobs has their pros and cons, along with specific requirements and qualifications on what it takes to get the job done. But the best part is, when you have the skill sets to qualify yourself in one of these, it’s probably true that you’re qualified for several others too.

(3) Like seriously. Just under an hour of work tops.

The thing about job security

Job security is something that shouldn’t be taken granted nowadays. I believe that today, there is no longer such a thing as a guaranteed job in the market just because you have a certificate in your hands. Why? Because there’s probably going to be more than a thousand more graduates out there who has the same degree qualifications as you do. So how would you stand out? What’s going to set you apart from the other guy, who’d had the similar education, similar field exposure, similar academic syllabus, and similar knowledge acquired as you? Your extra efforts, that’s what. The behind-the-scene, 10pm-2am extra work that no one asked you to do, which do you anyways, every day. The truly content filled and updated LinkedIn, and your professional portfolio that stands out so much more compared to the LinkedIn profile that wasn’t given the slightest amount of fck by the other person, who made it just because his lecturer or something told him to. THAT, is what’s going to set you apart.

Why am I mentioning this? Well, in the case of programming and coding, it’s a skill that requires a right balance between practical application and wide knowledge base, i.e. you can’t do much without a solid knowledge base; nor can you accomplish much if you don’t know how to apply it. It’s also one of the few sets of skills that can be learned, practiced, mastered, and applied within the comfort of your own room, with minimum expense (mostly just your time, energy, and a strong Wifi probably), yet still being specific and demanding, that it is widely sought after. This, in my opinion, gives you the much needed edge, because let’s say you’re taking a course that is somewhat programming related, the course syllabus would firsts supply you with the knowledge base that you could work-off of, and you could then polish your toolset with personal projects during your free time, achieving the best of both worlds. You can even get as good as providing a freelance service for others with your polished skill, which would serve not only to populate your portfolio (which in my opinion is speaks more volume than a resume) but maybe generate a small stream of income on the side as well.

These are my 2 cents on why I think everyone should at least give coding a try. Perhaps you’ve noticed that I did not put up starting pay, average salaries, or number of job opportunities for software graduates in the workforce because

  1. You could probably search them up online
  2. But more importantly, I don’t believe numbers should dictate what your next move would be. They could be a guideline, but you should never, ever depend on optimistic numbers alone to make your decision upon. Heck, the market could be craving for graduates in a particular field and is offering fat, juicy salary — but as long as the effort isn’t conscious on your side, miracles ain’t gonna happen.

Wow, congratulations on reaching the end of this post, and I’m getting ahead of myself here. With all that’s said and done, the final piece of the puzzle lies in you. If I haven’t swayed you a little bit to come over to the dark side, don’t sweat it — life’s still fcking beatiful. But for those of you who would like to start getting your hands dirty and have an actual taste of what it feels to write your first line of code, I recommend you start with this…

Psst. This way to magical land.

…and get to work.

– Just another dude

--

--

Daniel Kwok

Explaining things how I understood it in the first place. Remote work | Backend engineering | danielkwok.com