Time really does pass quickly. It has been a month since I first stepped into my first ever proper “office job” and it has been an enriching experience thus far. I have been recording some of the things I am learning and learnt throughout the weeks. The first week was really rough for me but it started getting better.
The current job I am doing is quite different from the position I applied for. The internship offer was on a project and for me to do more front-end development and related kind of tasks. I was required to have skills of a front-end developer, something that while I am still vastly new in is still something that I am absolutely more experienced and comfortable with as compared to what I am doing now.
DevOps is a practice about automating the process of software delivery and infrastructure changes. Perhaps you can now understand why the first week was tough for me. I know the idea and I somewhat know the concepts behind DevOps. That said, I have never ever touched tools related to it nor have I understood the processes that gone behind it.
Week 1 – Lost
I stepped into the office, met my supervisors and they immediately asked me: “Do you know DevOps?” The question is then followed by words that I have never heard of. These words, which I now have already spent some time with, are referring to the different tools available and processes of which my supervisor wants to implement to enhance the current project. I did understand the end goal of it all but my god was it tough to be flooded with so many new tools and processes. To put it simply, I was overwhelmed.
The worst thing was that I had nothing to play with. Learning technology through experimenting is extremely beneficial. That said, I did not have with me the tools to play with and learning was basically through a textbook style kind of way which did not benefit me much. Even when provided the tools in the company’s system, I was afraid to make mistakes that might potentially bring down their system. I was very lost and talked to my supervisors about it. They reassured me that it was fine and that I simply had to learn it.
And so I did.
Week 2 – Things are getting better
I was braver by now. I had access to some of the tools and with this access and the reassurance that even if I screw up it would not be the end of the world, I went on to try out some of the things that I have been reading. Started to automate some of the processes and managed to partially complete a release cycle (building and then releasing the module’s artefact into a repository).
If it looks like the output is seemingly little (which it actually does look to be the case now that I’m looking back), do note that a lot of time is spent to continue learning the technology and tools to get the job done.
The newer task that was introduced to me during the week was that I needed to not just release the artefact but also to deploy the artefact and setup the server environment to get everything working (through automation). The company is using WebSphere (first time hearing of it, pardon my ignorance) and I needed to learn the scripting tool to enable automated deployment and installation of the applications.
Week 3 – Automate everything
Most of the time in week 3 was spent learning and scripting the deployment and installation process. By the end of the week I managed to successfully install (seems to be the case) one of the project’s application (out of 4). It felt great until I was told that the production environment was different to the environment that I have created scripts for.
Back to the drawing board.
Week 4 – Changes
Basically the production environment is done in a clustered setup. It required me to tweak my script to cater to the clustered architecture. I seem to have managed to do so but that is using a simulated environment which I am absolutely not 100% certain is similar to that of the production environment. I basically set up a pseudo clustered environment given the server (yes one server) I had access to and tried using my script to see if it works. It seems to work.
The project had 4 different modules that required automation. I basically completed 2 of which is developed in house. Towards the end of the week, we had much discussion with the vendors on how to get their code to use our process of automation. This discussion will continue in the next week.
A month of much learning and doing
I have to be very honest, I am not very keen or interested in all these DevOps practices. I do not dislike it but I am simply much more interested in many other things in the technology stack. I do recognize that this 4 weeks have been a great eye opener to this side of IT and totally appreciate the opportunity to learn such skills. Maybe at the very end of my internship I will do a video tutorial series on the different tools I’ve used so far. Good even for myself to refer to if I would ever need it in the future.
3 more months to go before school reopens. Final year project is ongoing and many more exciting things to look forward to in the coming days, weeks and months. Life seems good.
[second photo by Village9991 via flickr]