It's been a long, wonderful ride

Since this is the first article for the site, I thought I would start it out describing the long windy journey I've taken to find myself here as a senior frontend developer.
My first real exposure to web development was a course teaching how to use Microsoft FrontPage. This was a full WYSIWYG editor for making websites. This was back in an era of AngelFire and Geocities websites. There was all kinds of glitter and XSS was seen as more of a feature than a potential problem in those days. It was FUN! I loved every minute of it. The first website I created back then was a fan page to my favourite comic, Calvin and Hobbes. I was totally and completely hooked on this whole website building thing and from that point on it was always at the periphery of my thoughts.
Fast forward to when I was choosing what to do at university, I still had the mentality that website development wasn't a "serious career" and if I wanted to make a living I needed to get a normal job. So I went and got my degree in education. Thankfully, I enjoyed my work as a teacher, but in the back of my mind was always web development. I took courses from Team Treehouse, watched YouTube videos and bought a couple of Udemy courses. At this point I knew that web development could be considered a "real job" and if I could just break into the industry I knew I would be living my passion. I made Joomla and Wordpress sites for anyone who would let me. I recreated my own personal blog dozens of times and just loved creating things.
In 2012 I got my first break as I saw it, but it wasn't in a tech job. It was for a school. This was a distance education school that offered all of their courses through remote delivery methods and so the website for the school was incredibly important. It would house all of their in-house curriculum and be a central place to refer people to for a myriad of reasons. I jumped at it and said I would do it. In my off-hours I created mock ups in photoshop, I made proposals, I created a custom Joomla template, and in general did my best to make the school happy.
I spent a lot of time at this teaching job not teaching. And it was great!!! Having done well with their website, they decided to get me to moved fully into the IT management role. I managed their help desk, I managed younger employees, I continued to do website development. This was more in line with the role that I had been working towards and wanting since I was a teenager. However, it still wasn't quite what I was after. I've always loved code but up to this point I hadn't really passed what I considered the hobbyist / website creator / template creator side of things. I continued to do my online courses, studying PHP, Ruby, and Python, but none of it really stuck past the very basic variable creation, basic math, and if statements. Anything beyond HTML and CSS was beyond me.

By 2018, things were changing. The school had continued to grow 100% year on year and the school was now well over 1200 students. This caused a whole new level of management requirements from when we were a school of 100 in my first year in 2012. The principal of the school was a big believer in keeping student data "in house" and was a huge proponent for maintaining privacy. This meant that we purchased a server and hosted it in a data center. We had a part-time employee that would manage that server for us and helped us set up and maintain a myriad of open source software stacks. From 2012-2018 he also taught me a lot about Linux servers and helped me to gain the experience I needed to maintain basic web services that he would set up. By 2018 we needed him full-time. We also needed more clever ways to manage things like enrollment, attendance, online lessons, etc. The list of things we needed was endless. However, no "off the shelf" solutions really fit our school model. Part of our success as a school, I believe, is that we kept the parents very involved with everything their student or students were doing. Because of this, we weren't really managing 1200 users. We were managing 1200 students, plus parents, plus our own staff that consisted of 100+ teachers and support staff. This was when were undertook our most ambitious step yet.
The school needed a system. They needed a way to enroll students, and parents with accounts so that we could have more clear communication. We needed a central place for documentation and knowledge around the student. We needed a central place where all communication was recorded and where we could identify problems before they became insurmountable. We needed a whole cloth custom application that would suit our specific niche. The school wanted an app. A very complex app. So, me and my coworker went at it. I was doing UX and he was managing the infra and doing all of the backend work. He was also teaching me as much as I could absorb about Linux, devops, and hosting and maintaining services. It was madness, but we had a vision and the support of the school behind us. However, we quickly realized that to pull this off we needed more hours, and that meant hiring another developer. As chance would have it, I had a friend who was also an experienced fullstack developer and he came to work with us. This ended up being a huge boon to our productivity and we were able to make a lot of progress quickly.
As the three of us continued to work on the project, it quickly become apparent that there was a lot of work to do on the backend and on the devops side of things. There was also a lot of UX work to do. Meetings, designs, prototyping, etc. That was when the co-worker who started the project with me suggested that we separate our monolith into separate frontend and backend stacks. This would allow me to have more autonomy to do UI work without interrupting or waiting on backend features to land. He suggested we use Quasar on the frontend and continue using Laravel on the backend. The other two developers continued to do backend/devops work and I was left to work with Quasar. Quasar uses the Vue framework and I liked it almost immediately (big almost). I was somewhat familiar with Vue from working with Laravel, but Quasar was allll JavaScript, no PHP in sight. No Blade templates. This wasn't just UX work with HTML and CSS. I was out of my comfort zone in a lot of ways, but the single file vue component structure with the template, script, style sections made my transition much smoother than previous languages I had tried to learn. While the frontend logic was still a struggle for me, I was starting to experience some success using Vue and I was PUMPED!
The friend that we hired, apart from doing exemplary work, also became a great mentor to me when it came to coding. He had been doing it for a long time and because we hired him for frontend work initially, we worked alongside each other a lot. He encouraged me, questioned me when I did something dumb, and patiently explained things to me any time I had a question. I'm sure that first month was a trial for him as I had a LOT of questions.
At the end of the first six months, I felt fairly confident in what we were doing. Confident enough to take on a mentoring role for some of the high-schoolers in the school who wanted to learn about programming. This paired well with my experience as an educator and it forced me to continue to develop my understanding quickly, as there is nothing that makes you understand something as well as trying to teach it to someone else.
In just a few months we released one feature of our app. In six months we released a few more major features. We could now handle all of the enrolment process, and monitor attendance records through our system. In another few months and we were integrating external services into our application. By the end of a couple years of work we had a system that could take care of enrolment, create user accounts in the various apps and services our students used, send emails and alerts when events happened in our LMS, take attendance, house all private user data, manage our public facing website (we build a CMS into it!), and much more.
I got to do EVERYTHING in this job. I was the "manager/scrum leader" of the team, so I was responsible for timelines and goal setting. This was very difficult for me since I didn't have the development experience the other developers had, but by listening and leaning on their experience I believe I handled this well. I also got to help design our deployment strategy, select the tooling, and yes, do a lot of coding. :) It was a great experience and I often miss those guys and the great time we had. We all believed in the software we were creating and we had leadership that was allowing us to do whatever was needed.

Time moves on and I have since moved on from that job, so have all of the other developers for that matter. However, that was the jumping off point and the for what I would consider actual development. While I had created a lot of websites over the past 10 or more years, some even using frameworks like Laravel, I really only used them like a templating engine. They didn't really do anything. That is no longer true. I now work as a senior frontend developer and I make web applications. While that first project was a mammoth effort, it had all the complexity I needed to really understand how the frontend works and some of the complexity that comes with it. I also gained a rudimentary understanding of how the backend works. (Backend developers are wizards!)
I love my new job, but I'll always be grateful for the opportunities that my first real development job gave me.
Published: Wed Dec 22 2021
