Caleb Wells enjoyed solving problems as the manager of a tech support center, but he wanted to be solving deeper technology problems as a software developer. He considered teaching himself, or studying for a computer science degree, but eventually decided to enroll in Code Fellows’ 20-week coding bootcamp in Seattle. Caleb tells us how Code Fellows helped him land a job as a full stack Software Engineer at Alaska Airlines, how supportive his new team is, and how he learned numerous new coding languages on the job.
Tell me about your career and education background and how your path led to Code Fellows.
When I was eight or nine, I learned HTML and CSS and always figured I would do something with computers in the future.
Before Code Fellows, I managed a Tech Support Center in Seattle. It was quite basic tech support using software fixes and patches that a manufacturer would provide. Someone would come in with their phone, tablet, or laptop, and we would just apply whatever fix, method, or update that we were instructed to. So it wasn't anywhere near as deep as you get as a software developer.
I started off as a technician and then became the manager. It was interesting, but it wasn't the same as being able to actually solve the problem that people were coming in for, so I started looking into how I could get a little deeper with my knowledge. In my research, I found I could go to college and do a four-year degree in computer science. But then I started seeing some articles and reports about coding bootcamps, and what subjects they focus on in preparing their students for the workplace.
Since you already knew some HTML, did you consider teaching yourself the rest of the skills you needed to become a developer?
I considered it. Over the years I bought a couple of books about coding, but I never really committed to sitting down and learning it. I needed to commit more, and have a good learning structure.
There are a few different coding bootcamps in Seattle. Did you compare a few options before you settled on Code Fellows?
I looked at Galvanize, and at online courses at Team Treehouse. After doing some research, I heard about Code Fellows. I knew someone who took an introductory course at Code Fellows and liked it a lot. I also talked to several people in the tech industry, who had heard good things about Code Fellows, and a few people who had graduated from there. I went to an information session there one evening and decided to go ahead and do the program.
What was the application and interview process like for Code Fellows?
I did three Code Fellows courses; 201 (four weeks), 301 (four weeks), and 401 (10 weeks), all of which had their own entrance requirements.
Before the entrance exam for 201, I received pre-work to learn about loops, declaring variables, writing functions, creating classes, and stuff like that as an introduction to programming languages. The entrance exam was 30 or 40 questions with some multiple choice, and some required me to evaluate functions to find out what's wrong with them. I also had a brief call with a Code Fellows staff member who asked me what I was looking for, and whether I could commit to the Code Fellows format.
Could you take all the courses one after the other?
I took all the courses full-time, back-to-back, but some of my classmates took a month or two off in between. In total, including a week off in between, the program was 20 weeks from start to finish for me. It’s tough, it's a lot of time, and it's a good challenge. I liked it a lot.
What was your cohort like in the 10-week 401? How many people were there and was it diverse in terms of backgrounds, gender, and race?
It was around 25 people, and it was pretty diverse. It wasn't exactly equal in the ratio of men to women, but it was close – there were about 11 women and 14 men. There were all sorts of backgrounds – people who already knew how to write code and were trying to get back into it, people who had never written code at all before Code Fellows, veterans who had tech backgrounds, and others who didn't. Some people had been to college, while others had not.
What was the learning experience like in the Code Fellows 401 class?
Teaching style depended on the teacher because they're given a lot of leeways. They have certain subjects and technologies they need to hit. The main goal of Code Fellows is to get you industry ready, so the instructors continually work on the coursework to make sure they're keeping up to date with the newest technology concepts.
In a typical day, if we had a morning lecture, we’d arrive around 9am, and lecture would go until noon. Then we would have a lab from 1pm to 6pm. There is a teacher assistant allotment of one TA for every six students. TAs were either alumni or people with backgrounds in technology who work with Code Fellows students. I actually worked as a TA for a few months after I graduated.
The speed of the program is a blessing and a curse. If you like what you're learning, and you like being challenged, then a bootcamp can offer a lot. You learn technologies pretty quickly, so you never feel like you're stuck on something that's too elementary for too long. You’ll study a certain topic, and its surrounding technologies, then you'll move on. It was nice.
What technology track did you choose to learn for 401?
What was your favorite project in the 401 program?
We created an application for structured round-robin style writing. Someone can start a story, then allow someone else to continue it. All the projects are in small teams, similar to what you do in an Agile development team. We divided up our team of four, and had students pair off or work solo on certain tasks. We created profiles and multiple dashboards for users so they can see what stories they're writing, following, and contributing. We used Mongo, and Express, and Node for that. We used Git-flow to organize the process, and to commit changes etc. There's a lot more trial and error with displaying meaningful clean UI to a user, so I really enjoyed back-end development a little bit more than front end.
How did Code Fellows prepare you for job hunting?
Code Fellows has career development days where they coach us to sell ourselves as a product when we’re interviewing for a job, whether it's in the tech industry or not. Code Fellows covers how to show your strengths when you're interviewing, and how to present yourselves to potential employers. The instructors would make themselves available to help us practice for interviews, and advised us to go to meetups because Seattle has a very active tech industry meetup scene.
There's a lot of push for Code Fellows to connect us to people in the industry, and also to dispel any awkward feelings that companies may have about interviewing bootcamp graduates, as opposed to computer science degree graduates. Code Fellows invited companies to speak in a course, and hosted a job fair. The last course I teacher assisted before I started working at Alaska Airlines was a .NET course, and they had some Microsoft folks come down and sit with us. Each person in the class was invited to go through an interview loop for positions at Microsoft.
Congratulations on your job at Alaska Airlines. How did you find that job?
I found my job with Alaska Airlines at a Code Fellows event where they connect students with companies for mock interviews or job interviews. One day I got an email saying, "Alaska Airlines is looking for people. Are you interested in interviewing?" I did some research on Alaska Airlines and thought it sounded pretty cool. That's how I was introduced to the company, and then I just went through Alaska Airlines' normal interview process.
What is your role at Alaska Airlines?
My role is a software design engineer. At Alaska Airlines, pretty much everyone is a full stack engineer. They don't really hire for front end or back end, and everyone on the team is expected to be able to do full stack development. I work on one of the checkout teams in the e-commerce division, and we're responsible for quite a bit of the website – a lot of the stuff that has to do with purchasing your ticket, choosing and changing your seat, etc.
Tell us about the learning curve when you first joined Alaska Airlines. Did you have to learn new technologies on top of what you'd already learned at Code Fellows?
It's actually pretty common that you get trained in one set of technologies, and you might get a job in a completely different one. Alaska Airlines is a .NET shop, so a couple of days before my first interview, I started learning C# and .NET. I don't know how to use everything yet, but I'm comfortable in the technologies in our environment. We use Azure and other technologies in .NET. The code base at Alaska Airlines is vast. There's a lot of logic and different factors that go the systems that actually manage tickets and stuff like that.
It's a continual learning process that comes a day at a time, but I'm confident in pretty much any work that I'm given. I know I can get to the code and make the change. One thing I learned early on at Code Fellows, is that if you don't know it, that's normal. You need to learn it, and you shouldn't be afraid to ask questions and do research; that’s just part of the job.
Did Alaska Airlines have an onboarding process? How does Alaska Airlines make sure that you and the other engineers continue to learn and grow as you go?
When I first started, my team was expected to help bring me up to speed. My mentor was someone who had been on the team for a while, and was comfortable in the technologies. They worked with me, did check-ins, helped answer any questions I had, and found the right documentation for study.
Alaska Airlines has “personal development time” which is about 20% of all the time spent at work. For my team, we do coding for about six to seven hours a day, and then the other hour or two is either meetings or personal development. The company also has internal training on relevant technologies and will cover conference expenses. This year I went to Microsoft Build.
You were working in high-level tech support – has that background been useful in your current job?
To be honest, the technical aspect of the job didn't really help. With troubleshooting technology, more than anything else, it's basically “turn off and turn it back on.” It's not that technical. What was useful was building my leadership skills, working with a team, and being able to resolve conflicts in a professional manner. People think developers are shut in a room by themselves, working on code all day and not interacting with the outside world. But it's very much a collaborative experience. You work with a team, they rely on you, and you communicate regularly with your teammates.
What has been the biggest challenge in your journey to becoming a software developer?
All developers have a lot of struggle when you're first learning. There will be times when you're not sure if you're going to be able to grasp the concepts and worry you’ve made the wrong decision. It's imposter syndrome – something that pretty much everyone's going to feel at some point.
For me, one of those times was the first week of my 401 course. The assignment was really tough and I wasn’t expecting that. For the first couple hours working on that assignment, I thought, "Did I make the right decision here?" But pushing through it, taking a break, getting back to it, pushing through that is something I had to get used to as a developer.
How have you been able to stay involved with Code Fellows?
My classmate, whom I was coding with last summer, became an instructor at Code Fellows so we're still in touch. I also go to discussions about how Code Fellows can improve for alumni, and I've signed up to be an industry speaker, where I’d come in to tell students what it's like being a professional developer and answer some questions.
What kind of advice do you have for people making a career change through a coding bootcamp?
It's important to understand what you're going to be committing to and make sure the bootcamp is going to support you. Everyone at Code Fellows is really supportive, but you should know what pace is going to work for you. There are night classes that are slower than full-time day classes which are more accelerated. Try the coursework – if you enjoy that, take the first course.
You're going to have a lot of struggles, but it gets more interesting, and more fun to write the code. You're definitely going to have moments that are like, "This is insane. This is really frustrating and very stressful.” But, it's really worth it when you see something that you built with your own two hands work – it's a great feeling.