3 things that you need to know before you decide to get into coding as a profession 408 Views Thursday April 9, 2020 | Filip Kunjadić - Ćulibrk

3 things that you need to know before you decide to get into coding as a profession

In today's world, it is very easy to get into coding! Coding is getting more and more popular. And to be honest, as a web developer I can kinda understand why. I personally really do love what I do for a living. And to be quite honest, when I am not working for a client I am eager to spend my time learning a new technology or work on my own project.

CHOOSE A JOB YOU LOVE, AND YOU WILL NEVER HAVE TO WORK A DAY IN YOUR LIFE

Unknown source (many claimed that this was said by Confucius but that can not be confirmed)

Many people are getting a wrong impression when it comes to this segment as a profession. I need to admit that it really does look quite easy when you are an observer! But have you actually thought about what you really need to become a developer? Any kind of developer - it doesn't matter if it is a web developer, app developer or any other! Well here is a list of things that you need to know before you get into coding as a career choice!

IT IS LIKE LEGO… BUT FOR ADULTS. WITH ONE IMPORTANT DIFFERENCE - YOU CAN'T STEP ON IT!

This may not sound like a lot of fun but if you have played with LEGO as a kid you will know what I am talking about. Now you usually had a set with instructions on how to build what's in the box. The first thing would, of course, be to build that - so you can get a grasp on how can you use bricks included in your new set! That part would be - following your course material and replicating the code in it. After you have successfully built your lego set you would first admire it for some time, and afterward, you would play with it a bit. But then... Then comes the fun part. BREAKING IT UP!

Oh yes, you can only imagine the possibilities when you see those bricks separated and possibly mixed with bricks from another set! Now imagine one LEGO set called "Front End" and another one called "Back End" (for example) and now you could create something that would use both of those sets. And you can create it in unlimited ways! Keep in mind that you have unlimited bricks and unlimited space for them! Yes, it is that fun! Plus you can always return to your previous build version by using some external tools like GitHub. If only I had something like GitHub for Lego as a kid...

BE PREPARED TO ALWAYS LEARN NEW TECHNOLOGIES AND NEW PRACTICES

In a way, developers learn each and every day. At least they should if they want to be successful. In the modern world, new technologies appear each month. What you knew yesterday may still be relevant tomorrow, but in five years it may not be relevant anymore. This is why it is important to know the concepts and architecture of software development.

You should develop the ability to adapt to any new technology and focus on the logic behind it rather than syntax. The syntax is something that can be easily learned but how does it work behind the curtains - that is the real deal! And you should always have this as a learning goal in mind! At least I have it!

Here is a quick example: I started working with Ruby On Rails a couple of years ago and I didn't know Ruby yet. But I had to learn it on the fly! I didn't write important parts of the project since this was my side task during that time and all the code that I would write would be checked by senior before releasing it to production.

So I learned how Ruby on Rails works and I could easily navigate through the entire project - but I wasn't expert by any means. One year ago I needed to develop MVP fast. So after a bit of googling, I decided to go with Laravel since PHP was my primary language. I expected that I would need some time to get a grip on all the possibilities since the framework was new for me. But as it was built to be like RoR, getting a grasp of it wasn't hard at all! And in a few weeks MVP was released!

ALL HELL CAN BREAK LOOSE IN A MATTER OF MINUTES

True story. I did work for one online store and I was the only developer hired to maintain their online shop, develop new features, change something urgently, etc, etc. And I was doing fine, my code didn't cause a single bug on the production server. But as "Black Friday" came, some urgent last-minute changes were requested. So naturally, I got onto it and I was determined to deploy them before midnight.

I started coding and everything was going fine. Code was tested on our development server and everything seemed ok. Now the only thing that I needed to do was to deploy it to production and pat myself on the back.

But of course, as soon as I started deployment - our server crashed out of nowhere! And there was nothing I could do about it. Although it wasn't my fault, everybody started calling me. With no time to explain the situation to everybody - I started calling our server provider. Midnight came and our server was still offline, tension began to rise. Until the server came back online. After ten minutes we were back online with the latest changes released.

After each deploy, I always make sure that I go through all product types and buy each one of them using different payment methods - just to make sure that everything is working properly. But it wasn't working - and this time it was my fault.

Keep in mind that it is already nearly 2 in the morning and I am becoming tired and unable to focus properly.

After 15 minutes I have discovered that one file wasn't deployed onto production because I have changed it on our development server and wasn't in GitHub. Now once everything was fixed I was relieved! And one important lesson was learned!

USE GITHUB AND GITHUB ONLY.

I have learned that the hard way and I won't repeat that mistake ever again!

Before I end this post I just want to add couple of things that you will most likely hear:

  • Hey, I've got a 1.000.000$ idea for an app, I just need you to develop it!
  • Hmmm... It looks like my phone is glitching - can you fix it?
  • You are a developer? Awesome! Can you install windows for me?
  • So, you make computer programs? My printer won't connect, can you fix it?

And trust me, many many more things like these above. But that is all part of the game! And that is why we love it!

I hope you have enjoyed reading this and as always I would like to hear your comments and ideas! Or maybe I have forgotten something important?

#keepCoding