In this article, which happens to be the first I will be publishing on dev.to, I will be going through a list of Software Development topics and tools I will develop my skills on. Although I would not outline the plan to do this here, I however have developed such a plan and would be willing to share same if you want the plan. If you need the plan comment your email below and I will send it to you, but remember to modify the plan to suit your needs when you get it.
I am a Software Engineer who has traditionally worked out of Nigeria both as an onsite and remote Engineer. Since I was young, I loved reading and learning new things. I keep having this pressure inside of me when I see new Software Engineering tools that I know nothing about. When I was 12, being unable to pay tuition at the school I was attending, I spent most of the year reading books in the local library. I read anything from fiction to Encyclopedia. That was when I first read about how the Hubble Space Telescope was built. Learning new technology has been an integral part of whom I am and the proliferation of technologies I know nothing about is heartrending for me.
The technology I will be spending time learning spans from DevOps to Cloud to Programming Languages. Before we go to the details of the specific technologies I will be learning, let me give you an idea of the technologies I already use or know a bit about:
- Databases (PostgreSQL, MySQL, MongoDB, Redis)
- TDD (Jest, Mocha, Chai, Puppeteer)
- HTML/CSS, SASS
- Redux, Flux, Vuex
There are other tools or concept that I know well enough about but did not make it to this list.
To answer the question, why these technologies? requires an understanding of the tech ecosystem today. The trend of cloud based technologies, serverless computing, continuous integration and continuous delivery, etc rules the software engineering field today. As an engineer, whether frontend, backend, fullstack or devops, you are required to not only know about your craft, but from most of the job advert, it is an advantage to know a lot of the technologies listed below. I like to think of it this way; If I happens to own a startup where all the engineers suddenly resign a few weeks to launch, I should have enough knowledge to muddle through the launch.
Yeah I know, it must be an awful startup to have all the engineers quit at the same time. Let's just say we would have a difference of opinion on who is the G.O.A.T in football. BTW it is Cristiano Ronaldo. And the best club is Chelsea FC
So finally we move on to the various technologies that I want to learn within the next nine months:
- Continuous Delivery
- Circle CI
- Travis CI
- Cloud Technologies
- Azure (Certification this year)
- React Testing Library
- Messaging and Real Time
It is going to take me a great while before I can be proficient in this technologies especially with respect to the cloud technology and Go but one thing I know is that if I dedicate sufficient time to this, it will definitely be worth it for my peace of mind or career progression. Follow me on twitter http://twitter.com/bytenaija to know how it goes.