Direction of this blog
April 09, 2019
For now I have been writing blog posts only about Python and its libraries. This will probably change in the future. Before starting to really get into programming with Python, I had already learned some C at college some years back, so I already had an idea about the basic data types, loops, functions and so on.
My background is in electrical engineering, so somehow Arduino got my interest and I started playing with it and did some small projects included in the starter kit. The language that Arduino uses is C, so I didn’t have to start from zero, but I didn’t fall in love with programming at college and I didn’t do so playing with Arduino either.
It was Python that did the trick. Python is so straight-forward and easy-to-understand language that I could concentrate on learning the programming concepts instead of fighting against the syntax. Suddenly programming didn’t seem so hostile anymore and I just started learning more and more every day. Even today I really can’t believe that something that had always seemed so hard and inapproachable has become my passion.
My primary goal at the moment is to get a job in the IT industry. My feeling is that the most available jobs are in web development and more specifically the need for good Full Stack JavaScript developers is quite high. That is why lately I have been learning Javascript, Node.js and ReactJS.
Before before delving into JavaScript I already know some HTML and CSS, so starting to get into new language and new technologies hasn’t been too hard. If I had started with JavaScript with no programming knowledge I probably wouldn’t be here trying to start a new career with all I’ve got. The JavaScript realm is just so vast and confusing. If you don’t have a good grasp of the basic before your first lines of JavaScript, it is easy to get lost and quit.
I need to say that the amount of different things that one must learn in order to become a Full Stack developer is astonishing. Just the back-end side of it seems to have things to learn for a life time. The programming side of it is, of course, very important. The logic of the application most of the times is on the server-side, so the most complex programming is done there. It is not all about algorithms, it’s about best practices, patterns and security. You may know how to tell a computer to do a certain task, but is your way the correct, most readable and secure way?
There is also a series of side skills that one should master like package managers (Python has pip, Node.js has npm), libraries, testing methods, databases, frameworks, APIs, servers, Docker and so on. I found on GitHub a perfect repository with a graphical developer road map. The road map attempts to gather all concepts that one needs to learn in order to become proficient in the IT industry in their chosen field. The map makes me realize that I still have so much to learn, but that the direction is correct. If I ever wonder what I should be doing next I just open that map and take a look. The answer lies there and is always accessible. This effectively eliminates much of the procrastination.
There is so much learn. That is what makes the IT industry so exiting. I love learning and being able to get noticeably better at what you do day-by-day really keeps the motivation up. As my goal is to find a job as a web developer, I will start writing more about the things I need to learn in order to achieve my goal. The next articles posted in this blog will be about related to web development. I will shift focus from Python onto JavaScript and I will delve in all the stuff related to this ecosystem.
Thanks for reading.