user avatar
Beau Bruderer·Technology ·Beginner

Teaching myself to code and becoming a senior level automation engineer

  1. It actually started because I was telling people that I was building a website for my art.  I did some basic HTML, CSS etc... in school so I brushed up on these skills a bit.

  2. People were intrigued that I could build a website and I had some conversations about building sites for people.

  3. I soon realized that "javascript" was more like programming than the graphic design element of building a website.  This seemed like something that could be valuable career-wise so I started looking at some basic coding sites like w3schools, codecademy etc...

  4. This led me to FreeCodeCamp.org, which had a very elaborate syllabus for full stack design.  This was my first understanding of a "roadmap".  I began doing as many of their projects and assignments as I could, occasionally supplementing my knowledge with deep dive videos on Udemy.

  5. Around this time, I found out the marathon running training group the Leggers was looking to redesign their site.  I met with them and they hired me to redesign their site.  I soon found what they wanted was a Wordpress shell for future content.  I wasn't as familiar with PHP or dynamic content loading but I still dove in.  This taught me tremendously about back-end development that loads content dynamically from a SQL database.

  6. Near the end of this project, I got a job at my current company doing customer support.  This leveraged the customer service aspect of my previous jobs while also exposing me to various aspects of software development.

  7. This whole time, I kept plugging away at FreeCodeCamp.org and expanding on my javascript skills.  I slowly got involved with some light Python work at my job, which I was able to pick up based on my knowledge of Javascript.

  8. In customer support, I began working with the support aspect of our "export" process, which is done via python scripts.  Two years into my job, a position opened up on this team.  Between my background with Javascript & PHP, increasing Python knowledge, and having worked with the export team, I applied and got the position.

  9. The first thing I noticed is that we had to essentially "reinvent the wheel" for every customer.  I took concepts of how Wordpress themes are essentially shells that users customize, as well as concepts learned from FreeCodeCamp about code reuse, and told my boss that I thought the work I do could be automated, or at least tremendously standardized.  Since "scalability" was becoming the biggest problem on this team, they were very open to my proposal.

  10. Fast forward 2-3 years, I developed the proficiency at my position to know just how to build a long term solution.  Long story short, each customer has unique business logic so we used to write out a unique script for each customer to contain that logic.  My proposal was to engineer a UI application that builds the logic then stores it in the DB.  That way, when a new customer comes on board or an existing customer needs to change their logic, it simply requires a user to navigate to a portion of the application and tweak some forms, dropdowns etc... It used to require a trained python engineer to modify the script and another team to test changes.

  11. Interesting to note, there have been several times I busted out Photoshop to make a quick mock-up of certain things that were very complex, or difficult to describe with words.  This allowed me to draw on my graphic design background in an unexpected way.  I would say "it should look like this (img 1), then when you click the dropdown, this panel would appear (img 2)."  Knowing HTML also helped me know the available components for UI forms (dropdowns, number inputs, datepickers, modals, accordion panels, etc...).  In many ways, this job and project I'm doing now pulls from several different aspects of my background.  What I once thought was a limitation (my background with no CS degree or software experience) actually became a strength (creative and visual thinking, graphics background, people oriented jobs).  On that last note, I'm starting to pivot more toward "people lead" rather than "technical contributor" as to further leverage my people skills and experience rather than continue to compete with technical folks with way more experience/education.