Resuming a Career

About 15 years ago, I started working as a web developer. I taught myself some HTML, picked up some JavaScript and ASP, did some projects using PHP and MySQL. CSS was just coming into use, the mobile web was implemented with WML and WAP, and Web 2.0 was emerging. I worked for a handful of small web hosting and internet retail companies, and then did some freelance contract work.

A few months ago I decided to make a concentrated effort to re-enter the development field, or at least get some experience interviewing and do some networking. I had spoken to a career counselor at my university a couple of months prior to that, and asked him some questions about trying to re-enter a field I hadn’t worked in for some time. I took copies of the last several iterations of my resumé and a list of questions and issues I thought of ahead of time. I’ll share a few of the things he suggested to me:

  • Don’t Discount Previous Experience: Focus on the skills and specialized knowledge you have from previous work experience, regardless of the job title or how long ago you did it. The fact that I had once done web development was a good indication I could do it again.
  • Use A Functional Resumé When Changing Careers or in School: A functional resumé focuses on your skills and achievements, placing them higher up on the page, then followed by your work experience and education. You can Google the term for a better explanation and other opinions, but I really felt like focusing on my previous experience and achievements worked in my favor.
  • Use University Employment Resources: I have searched for jobs and internships on using the University’s job search system, but didn’t find much relevant to me, but others may have better luck. Most full-time CS positions were looking for graduates, and the full-time internships mostly wanted full-time students. I will still continue to check it out to look for new opportunities.

I put together a new resume focusing on my strengths, then searched and applied for some junior developer positions. I wasn’t expecting much to happen since I didn’t have much recent experience or personal projects to show off. Most of my recent experience has been more academic. I figured at the very least I would get some experience interviewing and do some networking.

To my surprise, I was contacted by a recruiter for a consulting company that I had spoken with several years ago. They had a few junior-level roles they were trying to fill. A week later I went on two interviews, and about a week after that I had two offers. The first offer was from a larger enterprise organization for a position described to me as “Java developer support”, which was essentially to help out the devs with whatever they needed. The other offer was from a newer, smaller company with a startup culture. The job description I originally got was for a frontend position, although in the interview with the hiring manager, when he asked what I would really be interested in doing, I confessed I was more interested in backend development, but wanted to get experience working across the stack. He said if they made me an offer it would be for a fullstack position.

I was pretty surprised to get two offers after my first two interviews. They were both contract positions, so I reasoned maybe they are more willing to take a chance on someone as a contractor. On the other hand, nobody wants to waste time or money, so I must be employable as a programmer. This felt really great, since I was trying to transition from retail back into development.

The enterprise Java offer required a longer commute and paid a little less, while the smaller company was a couple miles from my house and paid a bit more. It was also only about a mile from school, so that was a huge bonus as well. (Both companies were willing to accomodate my school schedule). I thought it over a bit and talked with some friends about my options. I ended up taking the offer from the small company, mainly for the proximity and salary considerations, but also because it seemed like it would be more fun and I’d have a chance to work with newer technologies.

I put in my notice at my old job in late April and started the new job at the beginning of May.

After almost 15 years, I am officially a web developer again!

If I sound excited, that’s because I am. It has been a lot of fun, and I’ve been learning a ton, but it hasn’t been without some struggle.

I was given a handful of  links to dev environment setup instructions, wiki pages with info on processes, and then pulled into the daily scrum within 45 minutes of my first day on the job. I also happened to be the only developer in the office; all the other devs are scattered all over the world and the daily standups are via videoconference. It was a bit overwhelming at first. I felt pressure to begin contributing immediately. It didn’t really seem like the organization was prepared for onboarding a junior developer, but there I was and I just had to do the best I could to figure everything out.

Suddenly I had a whole slew of skills and technical knowledge to acquire. Agile/Scrum, doing daily standups by video, estimating story points, communicating via Slack, filing tickets on JIRA. I had some experience with Git and Github, but now had to collaborate with others and use features and workflows that were new to me. I had to set up a working development environment to run their web application. I had used Sublime Text for a while but now I had to configure it to work with their stack.

I learned about Stylus, CoffeeScript, and Jinja. I began (and am still) working on my JavaScript understanding, and started getting some experience with Angular and other JS libraries. I had a little experience with Django, but now had to examine a sprawling set of apps and develop an understanding of how a huge new codebase is organised. I learned about code reviews and how to work with and learn from a team of remote developers.

I started off working some simpler frontend tasks, to get familiar with the site and the development process. Since then I’ve began doing some more backend tasks, working more with Python and Django. I’ve become more familiar with their processes, and more comfortable reaching out for help from other devs.

Although I have made a lot of progress, learned a ton, and gained some great experience, I am still working as a contractor, and may or may not receive an offer to join the company directly. I actually could be dismissed with very little notice. I am not sure if I anticipated the level of uncertainty that can come with contract work. I was originally under the impression I would be on a 6-month contract-to-hire assignment,  but later found out the client company can basically end the contract when they wish. I’ve come to understand this is common with contract assignments, but the added uncertainty does make me a little nervous.

I’ve tried to focus on the things I am learning, putting in extra time at home learning things that can be relevant to my current position, as well as helpful for personal side projects that I can add use for future applications and interviews.

I gained a lot of insight from this Quora thread: I got fired after 2 months in my first software development job. What can I do next? Although I haven’t been fired, I have felt a lot of the same frustration the questioner has. I have been looking at my options in case I do need to find another position, so some of the replies were very helpful. The main thing I took away from the replies was to stay positive, focus on what I’ve learned, and view it as valuable experience.

It has been a tough road to get where I am now: going to school while working retail, changing jobs, changing routines and mindset. At my current part-time rate, I have several semesters left in school to finish my BS in CS, but if feel like getting some experience now while I am in school will pay off when I eventually graduate. I’ve been excited to get into some real world application code and begin to actually make some contributions. I’ve been inspired to work more on a personal project or two, and to focus the learning I do outside of work better. It hasn’t been stress-free, and I can’t say how my current position will pan out, but I can say that I am once again a professional developer.

Chris Bryant / July 12, 2015 / career development, computer science, education, programming