Why Git Should Be the First Thing a Developer Learns and Not Code
Starting your programming career by learning Git puts you in a better place compared to the developers who learn git later in their career. This blog explains why this is the case.
Knowing where to start in your endeavour to become a Software Engineer is a daunting experience - sometimes discouraging - especially as a self taught developer. My experience was no different. From wondering what programming language to study, how long it will take, how it will affect your day job/routine, where to study and a whole plethora of concerns that might be holding you back. In this article I'll tell you all about my experience.
There's no denying that software engineering is one of the most in demand career fields currently and also enjoying decent growth rates. Just like any other occupation, it is perfectly okay to get into it due to the prospect of better financial returns that software engineering offers. However, being a very demanding field, passion, determination and loving what you do will fuel you towards success.
I come from an Electronics and Computer Engineering backgroud. The initial reason to focus on engineering was the fact that I could build things that have an impact in the society. Software engineering promises this with the minimum starting requirements being a computer, internet connection and a sane mind. Comparing this with other engineering fields which requires very huge resources, I decided to make the switch to software engineering.
A quick google search at the time led me to Python. The language is beginner friendly and is less verbose syntactically. I didn't however move forward with it. The same happened with C-Sharp. I then moved to java. At the time I did not plan on focusing on Web development. I learned core java in the hopes that by the end I would become a desktop (and probably mobile) application developer. It took me around 3-4 months to complete the resouce I used.
I spent most of my time at the time automating various activities on my PC. This went on for a few months until I received a request to build a website. Of course as a noob who can code, there was no saying no. Luckily, they weren't on a timeline so I had time to do some research. Again a quick google search (on being a web developer with java) at the time led to to Java Servlets and JSPs 😫.
I started by learning HTML and CSS as that was a prerequisite in the Head First Servlets and JSP before proceeding to servlets and JSPs. I dealt with .war and .xml files fo quite a while. I didn't know about maven for quite a while so I would copy the files to Tomcat's webapps directory (of course I automated the process after a while). Also it's worth noting that I used SQLite for the database (I had learned database systems in school).
After some time, my beautiful website was done and it was time to deploy😌. This is was a whole different world. First, my war wouldn't cut it - jar file with embedded tomcat was needed, copying files wouldn't work anymore, also deploy via git and use maven or gradle as the build tool. WTH was mav... git wtf😼!! Anyway, I took my time to learn this two technologies and then deployed to heroku using the Webapp Runner to generate a jar. Finally! I could see my web online, but the SQLite database would get deleted by heroku so I made the switch to PostgreSQL.
This was a good period to me as I would build web applications however, the word Spring Boot kept popping up. After sometime curiosity made me decide to know what it was about. I learned spring boot and coming from the servlets world this was pure magical efficiency. I later decided to study Javascript to give the my webapps more life. Around the same time, I joined the Tech Twitter community and got so much development insights which lead me to build a portfolio website. I also learned React and tailwind while expounding my knowledge on the Spring Framework and spring boot.
At the moment, I use Spring for my backend systems and APIs. For the front end part, it really depends on the nature of the application under development. Mostly I use React Js but under some occasions I go with thymeleaf. This website is built using gatsby and you can check its code on GitHub.
I plan on using this website to share my knowledge and help those who will be coming after me to get up to speed in tech with ease.
Footnote: This is my first blog😁.
Contact form