The year 2018 included exceptionally lot of new “tech stuff” for me: Azure, Azure DevOps / VSTS, Git and Docker. Especially learning Azure took a lot of time from my “learning budget” in 2018. Besides those, I managed to read a lot of tech books, more than I’ve ever read. I can say in 2018 I learned especially much. In this blog post, I will go little details about what I learned in 2018 and take a quick look to my new programming language for 2019: Angular/TypeScript.
Azure (70-532 Developing Microsoft Azure Solutions Certification)
I had a chance to enroll in an Azure online course in my workplace from September to November. The goal of the course was to earn a certification: 70-532 Developing Microsoft Azure Solutions. Luckily I passed the exam at the end of November.
If I have to say one single thing I learned in 2018 it is definitely Azure. I changed a workplace in April and before that I had no experience with Azure or any other cloud platform. Before the course began on September I knew only some basics about web applications in Azure which I learned when figuring out how to deploy our applications from Azure DevOps / VSTS to Azure.
The course, and especially exam, was much harder than I expected! Studying took much more time than the organizer told. Maybe one reason for that was my close to zero knowledge about Azure. I am not sure would I have enrolled to course if I would’ve known how hard it will be. This was my first certification exam and now I respect more those who have such certifications. You need to work hard to earn certificates!
I learned a lot and Azure is really interesting, like other cloud platforms. Cloud will definitely be in the key role in the future. It is already but I believe that more and more organizations and companies will start moving from on-premises to cloud.
Azure DevOps / Visual Studio Team Services (VSTS)
In April, when I changed my workplace I got my first touch to Visual Studio Team Services, aka VSTS (whose name Microsoft has changed to Azure DevOps). Immediately I wanted to figure out how does it work compared to Jenkins, TeamCity, and Octopus that I had used before. As a “DevOps guy” I wanted to learn more and more: “Jenkins/TeamCity/Octopus had a feature to handle configurations, how can I do it with VSTS?”. I have to say I like it a lot even if now and then I miss Jenkins, TeamCity, and Octopus. My vision is to create a release pipeline that automatically updates our software to the production environment.
Git
Believe or not, I used Git first time this year (I don’t calculate some experiments with the Github). Mercurial (hg) was familiar to me so I had a solid background to learn Git. But Git turned out to be quite different compared to Mercurial. Even if commands are quite similar, they have a lot of differences. Especially their approach for branches and history are surprisingly different.
I still can’t use Git very well from the command line but I am learning it more and more daily. I try not to do everything with the Sourcetree to learn Git commands.
Which is better, Git or Mercurial? I’d say Git, because it is more versatile (though it makes it more complicated): rebase and different merges to mention couple that Mercurial is missing.
Docker
Another tool that I hadn’t used earlier but finally had a chance to have a first touch to the Docker. I learned only basics and was able to do what was required, but my work with it ended a little too early: Docker image that I created works now but it could be done better. Maybe in 2019, I will get another chance to use Docker and make that image better and learn more. No, I will learn Docker more even if my work tasks aren’t straightly related to it.
Tried to Learn JavaScript
I had a goal for 2018 to learn JavaScript (read more from New Language Every Year). Though I read a few books (some of You Don’t Know JS book series) and did some courses from Pluralsight I couldn’t achieve this goal. You have to code to learn a new programming language but I couldn’t find enough time for it. I remember that the this
is quite complicated in JavaScript.
Books I Read in 2018
I read many work-related books in 2018, much more than I could’ve imagined: 27 books (you can find them from goodreads.com)! Five years ago I read only 0-2 books per year. In recent years I have started to read more and more and I’ve learned much from the books.
Here are the books I read that I gave 5/5 points:
Continuous Delivery by Jez Humble and David Farley |
Functional Programming in C# by Enrico Buonanno |
Mahtava moka by Mika Sutinen and Mikko Kuitunen (only available in Finnish) |
Software Design X-Rays by Adam Tornhill |
The DevOps Handbook by Gene Kim et. al. |
Transforming NOKIA: The Power of Paranoid Optimism to Lead Through Colossal Change by Risto Siilasmaa |
If I have to raise one book to recommend to read it is The DevOps Handbook. That is the book everyone working in software development simply must read.
New Language for 2019: Angular
As I wrote a year ago (New Language Every Year), I am trying to learn a new programming language every year. In 2019 I have decided to learn Angular/TypeScript (not AngularJS). There are two reasons I have chosen it:
- In my current project, we are using Angular in frontend and
- I finally want to learn to program frontend, not just backend.
Well, those are the same reasons as last year when I planned to learn JavaScript. Hopefully, the year 2019 will better when learning a new programming language than 2018 was about JavaScript.
My main learning material will probably be Pluralsight’s Angular path. I have already taken a false start and have completed two cources from that path. Now our Angular code base makes much more sense after those cources, so already I have learned something that I can use somehow in my work.
Learning a new language is nothing if you don’t have some project. My personal project will be “Finnish baseball league scheduler” (yes, I play baseball). It is not easy to make a schedule for any sports league, especially in short Finnish summer. I believe that work can be automated, or software can at least help with that work.
ps. Now I have my own domain: lassiautio.com