Why I Decided to Go to Coding Boot Camp as a Senior Software Engineer
image by eldewsio @ pixabay.com

Why I Decided to Go to Coding Boot Camp as a Senior Software Engineer

First, a little background information on me. My first computer was a Kaypro ][ running CP/M in 1982, which I used to “hack” into games so that I could win them. That led me down a path of working with Trash-80s (TRS-80s, for the kids in the audience) and Commodore 64s. I learned Q-Basic and did fun stuff with it. Leisure Suit Larry was no match for my 1337 skillz. Just before graduating college, I was asked to build software for a small retail company. It was at that point that I realized that I had a knack for writing software. I taught myself Delphi 4 and wrote software that managed the various sales, costs, and inventories of individual stores throughout the state. I used that experience to market myself to other companies in the area and I ended up getting a job with a local startup.

I chose to go with a startup due to my entrepreneurial nature and ended up having two of the best years of employment I’ve ever had – I still miss the people and the culture of that job. After the company was bought by a larger and much less fun company, I decided to start my own business. Fourteen years later I found myself mostly maintaining/modifying/patching other people’s code. Sure, I had a few standalone apps that generated a small amount of income, but nothing that I could retire off of. I took jobs writing software for companies just so I could learn new languages. The problem with that approach was that there was no consistency. One week consisted of building and/or fixing something written in C# and the next week was just writing JavaScript. I made a good living from it and I loved the variety, the independence, and the challenge of keeping a business running.

Before I knew it, it was January 2016 and most of my clients had gone out of business, merged with other companies, or their business had slowed so much that there was no budget for consultants. I had a decision to make – reinvent my company in a new industry or get back into the world of W-2s and get a job. I'm not going to lie, I really missed the collaborative environment of being an employee on a team of developers. I missed the camaraderie and being a part of something bigger. I also wanted to work with cutting-edge technology and spend less time billing clients and collecting on unpaid invoices and more time coding. I had a lot of fear, as well. What if I’m not good enough? What if I’m not a team player anymore? What if I’m too old? What if I can’t check my ego and work for someone half my age?

With some help from the most supportive girlfriend in the world, I put myself back out there and started submitting resumes. I got an offer faster than I ever expected and I accepted. I was excited to be working at a start-up again. It’s sixteen months later and I’m still at that job and I’ve learned tons. I’ve learned Entity Framework, MVC, and LINQ to an extent I never knew previously. I’ve learned that refactoring your project to use Angular halfway through the project is a bad idea (not my idea, nor my implementation). I learned that I am still a team player and that I’m not too old and, most of all, I learned that I still enjoy working in a collaborative environment.

What I didn’t expect to learn was that companies had a new way of judging talent. Because I had started the job-hunting process, I kept getting emails and calls from recruiters. Some of the jobs were so amazing that I decided I would interview with them just to see if I had the chops. That is how I learned that my coding foundation needed improvement. I was regularly asked questions that I’m almost positive had no relation to what the development team worked on. I had one interviewer ask me to implement five of the top design patterns on a sheet of paper from memory. I thought to myself, “If they’re using five different design patterns on their project, they’re probably doing it wrong.” It goes without saying that I did not receive a callback from that interview.

In nineteen years of experience, I don’t remember once needing to know what something was called as long as I understood how it affected my code. I never sat at my desk writing software thinking, “This pointer to a function is a delegate.” Programming had advanced – become more sophisticated – and I had dog-paddled in circles in an above-ground pool.  What an eye-opener interviewing was. It was a shock to the system. Even JavaScript, which I’ve been writing since 1999, had become a completely different animal. On a related note, interviewing had changed during that time as well. Paired programming, pseudocode drills, Hackathon rankings, and online tests were rampant now. What happened to writing actual code? I learned that the industry used to be focused on whether you could overcome obstacles, solve problems, and actually write good, readable, publishable code but was now more focused on whether a candidate had memorized a bunch of stuff before the interview. How could I go from writing business process management software that allowed companies to efficiently run their day-to-day business to stuttering and stammering over the definition of polymorphism or inversion of control.

It was at that point that I decided to learn some modern JavaScript. I took every online class and tutorial I could find on JavaScript, Node.js, and functional JavaScript. I learned that I really, really enjoyed JavaScript and my gut told me it was my future. The problem was that I wasn’t really building anything. Sure, there was a Spotify app here and a Google Maps app there, but there was nothing with any substance and I was still just putting band-aids on a broken foundation. Then it hit me. I need help.  My learning style required some deep learning with actual projects and with instructors that would be available to answer questions in real life

I researched every boot camp in the Los Angeles area. Some seemed scammy. Some seemed awesome but had price tags that were astronomical. Almost all were full-time boot camps. Keeping my day job was important to me. I didn’t want a three-month gap in my resume while attending school. So, I decided to enroll in one of the only part-time boot camps around. I won’t name it because I’m still attending, but it wouldn’t take a lot of Google-fu to figure it out.  The course covers programming, of course, but it also goes over fundamentals. Algorithms, data structures, design patterns, etc. All of those “pesky” things that tripped me up in interviews. At the end of this journey, I’m confident that I’ll be able to go into an interview and intelligently answer the questions interviewers throw at me – unlike before.

As I write this, I’m in my eighth week of boot camp and if I’m being honest, most of it so far is review. That’s not to say I’m not learning anything – I am – it just isn’t a paradigm shift. Yet. Having said that, I will say that it has still been worth it so far. I’m very happy with my instructor and the coursework and I can see that future modules will be challenging in their newness, so I’m excited about that. I’ve even taken it upon myself to learn something during this “review” period. I’ve started implementing ES2016 changes into my JavaScript so that I’m more challenged than I would be otherwise. I’ve already started building up my GitHub portfolio and that’s exciting as well. It’s these little things that make me confident in my decision to go to a boot camp, as well as confident in my potential career path afterwards. Coding boot camp is not for everyone. However, if you’re like me and you need to have a more hands-on approach coupled with live, in-person instructors and TAs to help when you get stuck, I strongly recommend that you look into attending a boot camp. I think it will pay for itself within a short amount of time. We’ll see how I feel in October when I’ve completed all twenty-four weeks – maybe I’ll write a follow-up piece when it’s over.

Feel free to connect with me or comment here if you have any questions or comments you’d like to share. I’m more than happy to tell you as much as I can about my specific transition or boot camps in general. If you have any tips on or experience with transitioning from a Microsoft stack career to a MEAN/MERN stack career, I’d love to hear from you.

Sherman, thanks for sharing!

Like
Reply

What a great write-up, thanks for sharing your experience as you make this career shift. I'd be very curious to see the followup in October, even if the experience isn't as positive as you expected!

Like
Reply

I the last few years I've been involved in gulp, sass, bootstrap, jquery, MVC, nhibernate, Git, Jira, TFS, and a bunch of other stuff that weren't even on the horizon when we last worked together at London Bridge. Often times I have to dig in and learn new stuff. It comes in cycles as the years roll by. I've been programming since 86. And like you Sherman, I've seen Javascript change enormously these past few years. I too am in the process of relearning it as I work with it daily. Nice post!

I really enjoyed reading this. I am completely new to the field, so its nice to hear your perspective.

To view or add a comment, sign in

More articles by Sherman Gore

Others also viewed

Explore content categories