If you were alive and looking for work when the U.S. was building its railroads, there was a good chance you ended up a laborer, perhaps an engineer, depending of course on your education and wherewithal. What about now, in 21st-century America? Well, safe to say your next (or current) gig will be connected to the internet. Maigen Thomas, now in her second year as a web developer for Unigo, got the memo. She went from managing the front cabin of a plane to building the front end of a website. How'd she do it? By going back to school. ValuePenguin asked her all about it.
This interview was edited and condensed for clarity. To contribute to ValuePenguin’s coverage on careers, follow us on Twitter @VP_Careers. Please also feel free to use the comment section below.
What were you doing before you were coding?
Until February 2014, I was a flight attendant for a major U.S. carrier. I'd been flying for several years and was no longer loving flying around the world. I was recently married and wanted to be home with my husband. I didn't have a degree, but I had a decade of experience in an industry that didn't translate well to any other job; I felt like I was going to be stuck, with no other options.
My husband suggested that I look at going back to school, an undertaking that was daunting because of the expense. I also didn't know what I wanted to accomplish by going back to school. He suggested looking at "code schools" or "programming bootcamps." I did some research and decided to attend Epicodus in Portland, Ore. It worked out to be the right price, and I already lived in Portland.
How did the transition go?
Coming from being a flight attendant, where the hardest thing you do is, you know, programming the oven to cook the meal, moving to the boot camp -- it intimidated me at first. My husband suggested it just as one option for something I could move into, and I did some work on codecademy.com. It's a really brief introduction to programming for just about anyone, and I actually found that I liked it.
So when I got into the boot camp -- there was a waiting list -- I felt that this was the right thing for me. I'd had like a month of kind of playing with code on my own, trying to learn it on my own. So I figured if I liked it enough and this boot camp was going to be like a major crash course, like drinking from a fire hose.It was five days a week, Monday to Friday, 8:30 a.m. to 5:30 p.m. It was a full-time job.
What sorts of things were you taught initially?
Then we moved into learning Ruby on Rails and everything made sense. There were still days that I struggled with it, but it felt like naturally kind of easy. Not easy, but it just kind of came to me. I really enjoyed it. I think the class was wonderful. There were about 50 people and we did programming in pairs at one computer and worked on problems together all day long -- that’s all we did. We tried to build web apps every day from scratch, learning a little bit more, adding on to our knowledge from the day before, and a little bit more.
By the end of the boot camp, you're not perfect, you're not proficient at absolutely everything, but you've at least touched a lot of the technologies involved with building web apps that are very popular and up and coming. You're going out with not a whole lot of knowledge and people know that when they hire you. My company knew that I basically knew nothing. I had some experience but they would have to teach me from scratch. And it was one of the best decisions I ever made, to go there.
What did you enjoy about coding right away that made you think it would be a fit?
What I enjoyed about it was that I could see, to quote my dad, "the direct fruits of my labor." I could actually see what I made. Even to the smallest amount of code. I can look back and see my very first program work. And it is ridiculously simple, but I can see that it worked. I can go to the site where it's hosted, click on it, choose a number and it does what I have told it to do, and that is huge.
I compare it to being like a wizard. I can do anything like Gandalf except that there are no requirements for having to get a horse to run for miles. I can do anything. I just have to figure out what the parts of it are.
A lot of new job titles are out there... what do you call yourself and why?
And as a natural shift with my current job, I picked up the UX development and by no means am I wonderful at it. But I’m learning so much and the whole user experience part is wonderful. Just to find out more about how people engage with website, their products, with each other through online interfaces. I love doing it.
What's an example of a piece of a website that an UX designer would work on?
The UX designer works hand in hand with the UI, or user interface, designer. For instance, if you go to espn.com, they recently had a website development change. Now, they have some of the most elegant user experience designs that are made so that the whole user process seems seamless. To someone who doesn’t know anything about development, it’s like ESPN can read your mind. It’s like you already know that you want to be there. You're not totally sure what you want to look up but you could wander for hours reading and doing things, just sliding your thumb through in your phone. And they designed that in such a way that you don’t even notice that you're there. That's a nearly perfect user experience.
Back to your career path: What was your first step toward employment after graduating from the bootcamp?
At the job fair Epicodus hosted, I spoke with a recruiter for the company I currently work for, and started as an intern with them a month after graduating.
Mine was a three-month, paid internship, and it was intense. I definitely found a company where I fit in to the culture really, really well. I personally know that I do better in situations where there's at least some stress. I kind of thrive on the chaos and with a startup, there is just so much that needs to be done and there was no sense of, "OK, I come in at 8 a.m., I leave at 5p.m., and I don’t think about work anymore." I actually asked if I could work overtime, and that was obviously approved. And I just worked as hard as possible and constantly tried to think of the next steps that would bring value. I got rewarded:Before my internship was up, I had a really nice salary offer.
What is the salary range for web developers in your region?
One of the people in my bootcamp class recently put out an anonymous survey for just our group. Out of 60 people, 27 anonymously responded. The average starting pay then was $49,148, and the current average is $64,056. That doesn't account for degree, previous experience, whether they're front end or back end developers. That was just a survey with questions like, "What did you start out making?" and "What are you making now?"
Editor's note: According to the Bureau of Labor Statistics, the 21,020 web developers employed in the U.S. in May 2014 earned $68,670 on average. The average in Portland, the seventh-best big city in which to work as a developer, according to an upcoming ValuePenguin study, was $71,210.*
How do you keep in touch with your fellow bootcamp graduates and network with other developers?
We have a monthly happy hour where we just catch up and see how everyone's doing. I definitely try to go to at least one event a month. We go to Calagator, a Portland-specific tech calendar of events.Every person I've talked to that does development in Portland has an interesting story for how they came to be a developer, what inspires them and what they want to learn. It's a very welcoming group of people, and it's not all old guys with pocket protectors (laughs).
I also go to a lot of women-in-technology events, and I’m a mentor with a program that’s focused on helping girls who are 15, 16 years old, in high school look STEM careers options. I had a mentee last year, and I'll have another mentee this year which is really fun.
Given your experience, would yourecommendthe non-four-year college route to other aspiring coders?
It's funny because Unigo, the company I work for, is a software service company that helps high school students find the right college for the return on their investment because obviously it's many thousands of dollars. And we also help college students find the right scholarship for them.
But there's many of us at the company who also recognize that there are other ways to be successful in life. I’m 34 years old, I used to be a flight attendant serving coke and peanuts, and this happened to be an avenue that — it works for me. It definitely stimulates and challenges me every single day. And I don’t have a college degree, and I get paid pretty darn well for what I do, but I also work exceptionally hard. I feel like I have to work three to four times harder than anyone else who's just starting out because I’m basically a decade behind. So, yes, I think this is an amazing way to go.
We have an intern right now who is transitioning from being a bartender. He's 24 years old, went to the same bootcamp that I did and he's working exceptionally hard. He never coded before in his life, and he's really got a handle on that. So it depends on your aptitude and what it is that you're looking for. But this is a viable way to go.
And what would you say is that aptitude that you and your intern have that made your transitions more feasible?
I think it’s the curiosity about how things work, the diligence to actually work through problems and the creativity of making things.
What sorts of educational backgrounds do your colleagues and peers have?
There's a huge variety. Two of the other developer designers I work with -- one went to school for graphic design, so she works obviously on the front end, and it’s a perfect fit for her. The other went to school for marketing, which probably has a really solid base for front end development because you're marketing to people with every website you build; you're trying to find a way to entice your users.
But there are also people who took the traditional path of majoring in computer science at a four-year college. I’m actually taking classes at a community college in computer science just because I know a couple of programming languages and I want to learn more. My mentor, I don't think he even has a college degree. He's been doing Ruby on Rails for ten years, and I think he makes something like $150,000 a year, building programs for people.
How did you meet your mentor?
Through my bootcamp. One of the other girls in my class, she and I became friends, and it's her mentor as well. He encouraged her to do the boot camp because it’s the same kind of programming that he does. And when we met, we totally hit it off, so we actually get together occasionally and work on apps together to continually check out skills and learn new things.
But he actually doesn't even work for a company. He has his own company and works for himself. And that kind of independence is incredibly appealing.
What are you personally interested in terms of the next phase of your career? Being an autonomous freelancer like your mentor?
The attractiveness of working for myself is definitely there. I have projects on the side; I do freelance work. I run my own website for budget weddings, and I'm a writer as well. I feel like I’m working 90 hours week, but it's by choice.
But if I have the urge to work with people. I can’t see myself working like he does with one other person and they work together all day in their apartment and that's all they do. Obviously as a flight attendant, I’m very people-oriented, and I’m really good with helping other people find what motivates them. So I feel like a transition into management would actually be a natural fit especially if I continually enjoy working in technology.
What is the path for you to end up in a managerial role?
My senior vice president of technology at Unigo and I, we spend a lot of time talking about how to do that. I actually ask a lot of questions about what I need to do now in order to move in that direction, and we have lots of discussions on how that works. It happens naturally. You become someone that coworkers go to and respect.
And he's incredibly encouraging and supportive of me moving into this role and had said that he'll help me in any way possible. And I’m just learning; I’m still just a year in so, I still definitely got a couple more years at the very least as just a front end developer before I look at any kind of movement. I'm going to spend these three years learning from him and hopefully other managers to develop a really good personality for that.
You mentioned your freelance work... how does a developer such as yourself find new clients?
Mine has been a couple of different routes. I have braces and my orthodontist mentioned to me one day that they needed a new website. So I ended up working on theirs for probably eight months, and it looks really good now . It's totally different, and it’s amazing to see the transition from something that looks like the late 1990s style to something that looks very current.
And then there are a couple of other people who run their own companies, and I’m just friends with them and they end up with more work than they can handle. As a result, I get to skip the whole dealing with the customer part and just work on developing, which is wonderful. I can hole up in my home office and get a Diet Mountain Dew and just hack away at it.
Could you take us through the orthodontist website project? What went into it?
It was actually really great to go into a green field. They were like a completely open, didn't have expectations.
To begin, I looked at their website and I kind of made note of all the different ways that it was more difficult for users to use it. And then I made a couple of mock-ups to say, "Here's what I see for your website." I saw less pages, less navigation, a more intuitive feel and lots of pictures. My thinking was that people aren't going to come to an orthodontist website for information. They don't want to read pages and pages of details, they want to get the idea that you're the person that they want to come to, and then they'll come in for information.With that, I tried to make it as attractive as possible without having an overwhelming amount of information.
They picked one of the designs, and I checked in with them every couple of weeks as I continued to develop it. It was literally building it from scratch on a completely different server on a different framework entirely, and they ended up really liking it. I built it in a way that they can actually update the information so they don't always have to call me and pay me to do it. I tried to make them self-sufficient.
When you're working on a project like that, are there any online resources that you consult for inspiration or instruction?
Codrops . There are some CSS things on there that just blow my mind. People have designed gorgeous transitions, and I just love watching them. I can literally just scroll through and mouse over, and just watch it happen for hours because I’m amazed at how beautifully they did it.
On what machine do you work? In other words, where do you stand on the age-old debate: Mac or PC?
I have a Macbook Pro that my husband got me as a gift and I love it for some things, but I actually use my Lenovo ThinkPad. I use a PC most of the time, and it's really powerful. And I love that I run Photoshop Illustrator, Visual Studio and a few other things simultaneously and it still runs amazingly well.
Back to your full-time gig: What are the perks to being a developer at a startup?
There's a ping pong table and a keg in the office (laughs), but that's pretty normal for a tech company. I love the company I work for, and I think that’s a huge perk. We have monthly or every-couple-weeks events where we all get together and actually hang out. Like I've got a pretty well balanced group of people for a group of nerds. We're actually all pretty social.
Sounds like you have a great work life... is there any one thing about your job that you'd change if you could? Something to take away and get rid of?
Yeah, if there's one thing that comes to mind...
The limitation of the number of hours in a day.
What is a normal day in your life like?
I go for yoga at 6 a.m. or sleep in until 8 a.m. If I'm up past 10 p.m. the night before, I sleep in. Then I play a game of League of Legends while I eat breakfast, take the dog for a walk and get to work around 9 or 9:15 a.m. I start by checking emails, pulling and building the repositories for the projects I work on and check out the JIRA dashboard to prioritize my tasks for the day.
We have a daily standup conference call at 10 a.m., then I'm usually head down in my work. I get to design and develop some really fun projects. I'm currently working on a review process that I've never seen before online. It's streamlined, built mobile-first and focuses on what our users like most about sites like Instagram and Buzzfeed.
Occasionally, there are meetings that break up the day, but not a lot. The design team has a design review meeting weekly so that we can stay up to date on what each other is working on and give feedback on design and development. "Call each other's baby ugly" is what we call it.
Sometimes I leave work at 4 p.m. and keep working from home, or I stay at the office until 6 or 7 p.m. Depends on what I'm working on and if I have a ticket that I'm close to finishing or if we have a "deploy" soon.
We work in two-week sprints, and since we're still a startup we all work really hard. We don't have any extraneous people to handle anything that falls between the cracks, so we all have to stay on our toes and be diligent about helping out where we can. When it comes down to the final days of a sprint and our marketing team reviews pages they haven't been able to see before, the flurry of requests tends to cause a lot of stress.
There’s so much to do that I literally run out of time, and I'll find myself not having a life because I’m so involved, and that can be hard. I am constantly working because I love to work.
What should a developer that hasn't found a company like yours do?
Well, one of my mentor's other mentees hates his job. He's only been doing it for, I think, two years because he's still pretty new as a developer and yet he won't leave a job that he's miserable in. Don't do that. There are so, so many jobs for developers. To stay somewhere you’re not happy is almost unheard of. So basically my advice is find a place that works for you, and if it doesn’t, give it six months to a year and then get out. Go find something that works for you.
You certainly did.
The rewards of being a developer are amazing. Imagine being a flight attendant: You serve Coke and peanuts to tired, sometimes cranky people who really don't care about anything but getting to where they're going. At the end of the day you're exhausted and you have nothing to show for it but a hotel key card in a city you don't know.
As a web developer I feel like I have value, like I produce things of value. I can point to what I make and proudly tell people I made that... or not, if we're looking at my early work. I know that my skills grow every day; I'm immeasurably more skilled than I was when I started, and that's incredibly gratifying.