Four Years After Coding Bootcamp
Four Years After Coding Bootcamp
Last night was the first (and hopefully only) COVID-19 Thanksgiving. I took my two vizslas, Banjo and Kahlo, up to the summit of Grandeuer Peak in the afternoon while my girlfriend Jess was cooking up a storm in the kitchen.
When I got back the two of us ate a Thanksgiving feast and gave the dogs some marrow bones to enjoy.
Four years ago, I was in a coding bootcamp, Boise CodeWorks, during this time.
I still get asked about this experience constantly as coding bootcamps were a very new concept at the time and now are becoming vastly popular.
What Happens After A Coding Bootcamp?
After my coding bootcamp, I began a blog on Medium. Recently, I decided to self host my blog and created this site.
The purpose of my blog was to teach to learn. I had finished a bootcamp and then was a teaching assistant at that coding school. I love to code and learn, but I also love to teach which I found is the best way to learn.
The other purpose of my blog was that I wanted to showcase what happens 1, 2, and 3 years afer a coding bootcamp.
Unfortunately, I can't say that I ever wrote those posts... until now.
I am going to briefly try to update you on what happens in the years following my graduation of that course.
Year 1: One Year After A Coding Bootcamp
First, I was a TA for the following full-time immersive full-stack course. This was an important experience for me because I felt that I learned significantly more while teaching about coding than I did when I was sitting at the desk only as a student.
The three months that I was a TA, I learned that teaching to learn is one of the best ways to learn. It is one of the reasons that I keep this blog.
Towards the end of my time as a TA, I was eager to get into a developer position. I applied to junior developer and internship positions and continued working on side projects and learning new skills.
I was offered an internship with InventoryLab Inc and I began that position shortly after my job as a TA ended.
My First Tasks as an Intern
My internship was for the summer and my goal was to build some admin tools for our support team. Our users would get a GUID at times when our servers returned a 500 error. If the problem persisted than users would send the GUID to the support team, who would ask a developer to look up the GUID in our logging system and message them what the error was.
I completed a tool that allowed the support team to enter the GUID a user sent them and print the error message to the screen so that they could view the error message without needing to wait for a developer.
I built a few more tools and I was added on as a full time employee and I was excited to take that position.
Milage may vary on the upcoming years. Working at InventoryLab is a smaller company with about 20 people total. Working at Microsoft or Google or some large company is going to be different.
I was given a lot of autonomy early on. I had a senior developer to mentor me and ask questions about. He taught me unit testing and about different design patterns (like the repository and factory patterns) that a 12 week bootcamp didn't have much time to teach.
While my internship was fully greenfield development, which was very exciting, I was now tasked with a lot more issue management items. Each cycle I ususally has a few production bugs to fix and then one new feature in the existing legacy app.
While the coding bootcamp I learned modern web technologies like angular and vue JS for the frontend and using node and npm, the software that I was now working on was much older. I had to learn much more jQuery, vanilla JS, backbone, and lodash.
This is a very common occurance for bootcamp graduates that are working on maintaining a legacy system. They learn the latest and greatest tools that make development easier and then have to learn older tooling that their new job requires because the applications that they maintain were built before the new technologies were ever thought of.
As the years progress, our experiences will likely become more and more different. In my third year, my company began to write a new web app.
This used the latest angular versions on the front end and I was tasked with leading a lot of the front end development.
Another thing that I learned a ton about was architecture. We weren't going the route my company did with their first successful web app, which was a giant monolith.
Instead, this new app was going to be using microservices and Domain Driven Design.
I don't have a blog post about Domain Driven Design yet, but hope to add one in the future. It expanded my mind and skills exponentially. Previously I thought a backend was just a REST API included in the monolith and they were all deployed together.
Lastly, I learned a lot more about continuous integration and continuous deployment. These were both not possible with the large monolith we had previously, but with this new application that would use microservices and designed with DDD (Domain Driven Design), these new ideas were possible.
Year 4 is really just beginning but I believe that it will be a continuation of the end of year three and I will include that here.
While when I began at InventoryLab I was very much a full-stack web developer, I am now mostly committing code to the UI projects.
A lot changes in 4 years in both terms of technology and architecture.
My company is currently in the process of re-writing that legacy monolith that I spoke about previously.
We are using microservices, serverless architecture, and Domain Driven Design as much as we can, where we can.
We are also creating the new applications (plural!) by breaking the current application into smaller domains and creating a new UI for each domain. This is the concept of micro-frontends, which is basically microservicing UIs!
I changed careers into web development so that I can always learn new things. Four years into this career it seems that Dunnings-Kruger syndrome hits me constantly and I realize how little I really know.
That feeling you have or had in your coding bootcamp where you are sitting there 40+ hours a week in school and overwhelmed with how much there is to learn... that feeling doesn't really go away. That has been a great blessing to me because the journey of web development, in my experience so far, seems to be lifelong.
Embrace the challenges you are facing and keep trying to satiate your curiousity becasue if there is one thing I can say about my 4 year journey into web development so far, it's that it is a fantastic ride and there is a lot to learn.