sorhanp.github.io

Last time I wrote about my experiences at university of applied sciences and how they did an assessment on my programming abilities. Today I’m here to write about other awesome challenges that are waiting for me at the beginning of next month. This, plus info about new language that I’m learning, on this post.

This story starts on a 6th of February 2019, when I received an email from public employment and business services, also known as TE-services. The email contained info on soon to be starting labour market trainings and the name of the last available link caught my eye; DevSecOps-developer, which was a joint training by TE-services and the same university of applied sciences, that also carried out my programming assessment. Here is summary of what this opportunity has to offer, roughly translated from Finnish to English:

…to learn modern software development, student needs to be able to work at agile software team, which has frontend- and backend developers as well as security, usability, and cloud experts. For this training to quickly respond to demands of the worklife, the training focuses on teaching very specific software development methods, such as agile development, Lean operating model, version control (Git) and network services related to it (GitHub, GitLab), unit testing, DevOps, (CI / CD), Robot Framework, and code review.

I read the description and was somewhat enthusiastic to participate in this opportunity. I had my doubts, if this really was the thing I should attend to, since I also was about to send my applications for universities on joint application starting next month. However what drove my enthusiasm further to being super enthusiastic, was when I received a phone call from TE-services on 27th of February and the clerk really sold me the training, along with the programming assessment that I attended earlier this month. The clerk in question had very good points on why it is an exceptional idea to take this opportunity and of course apply for university to maximize my learning. I also read more about what is DevSecOps and what is the basis of it in modern software development and how it brings to automate security on every level of development and that got me really excited to start learning more.

Thus I decided to take another look at the summary and noticed that I have still enough time to apply to training. Long story short; I applied and shortly after received an invitation to a interview with the coordinating teacher. The interview was held at local TE-services office on 20th of March. Three people were present, two of teachers from the university of applied sciences and one clerk from the TE-services. Teachers gave me very good feedback on my assessment and where eager to have me studying. They were glad that I had experience in other fields of work rather than just programming, especially my skills as a team supervisor got their attention. The interview ended by both of them agreeing that my probability to get accepted to course was very high and keep the eyes open for a letter of invitation. Because of this overwhelmingly good reception, I left the interview room with high self-esteem. It truly felt that my self-studies of programming and mathematics are getting recognition and all the hard work is paying off. It gave me validation that I’m going in the right direction on my journey to become software developer.

Two days later, on 22th, what made me even happier was the fact that I received a letter from the TE-services, stating that I have been accepted to the training. The training starts 1th of April and lasts to the end of November 2019. Which means I have very exciting eight months ahead of me. The training starts with one month of contact instruction on modern software development at one of the university of applied sciences campuses. During the interview I also got a hot tip from one the teachers on what student should be really proficient at before starting the instruction. That something was one modern scripting language for creation of network programs, such as Node.js, since many of newly developed applications are web applications instead of traditional local desktop application. Web applications significant concern is it is security, which happens to be main goal of DevSecOps, like said the idea is to bring security in every part of the development process.

After one month the training shifts to on-the-job learning at one of the local companies, which collaborate with the university of applied sciences. This is something that I’m really looking forward to, because I believe one of the best ways to learn is to experience how the work is done in the professional environment. I feel that one of the biggest benefits of this real-life setting is that it demonstrates the areas I still lack know-how, thus giving me ideas on what I should concentrate on when I continue my studies. For example at the moment I know that there is still a lot I could learn about Data Structures, and speaking of learning. I took teachers tip to my heart and started learning Node.js to prepare myself for challenges ahead of me. My first task was to found myself editor that is recommended for Node.js development and stumbled upon Visual Studio Code, as can be seen from this documentation, it has support for the JavaScript and TypeScript languages as well as Node.js debugging, everything works without extra setup or downloading extensions, except of course the Node.js-runtime itself. Visual Studio Code is multi-platform so it works on Debian Linux that I have as a guest operating system on my Virtualbox. This editor also has support for C++, so I think I will later try it for C++ development and report back with my observations.

I started by learning the very basics of the language from w3school.com Node.js Tutorial and finished the MySQL-examples before posting this. I have to agree with this article’s pros of the language. It is very easy to learn, it is fast (at least when comparing to PHP, which I have done little on the side with C++) and it has strong community backing (you can find modules, Node.js version of program libraries, to almost everything). I have not stumbled upon any of the cons listed on the article yet, but like with every programming language, they are tools. Tools in the sense that some languages excel on certain things, and are lacking on other departments, same way you don’t use hammer to cut a 2x4. I also checked 10 Best NodeJs Certification, Courses, Training, Class & Tutorial Online to find out what kind of courses there are available on the web and how they are ranked on digitaldefynd. I also checked out Top 20 Node.JS books and have made my decision on how to continue to learn more. More on that on later posts. For now it is time for me to start dwelling deeper in to the world of Node.js.

-sorhanp