How do I get back into a coding career?
September 15, 2016 11:59 AM   Subscribe

I got a CS degree 6 years ago but didn't get a job coding (but my job is technical). Job listings all seem to require 3+ years industry experience. Any suggestions as to how I might get into development at this point?

So I got a CS degree from a 4 year school in 2010 and largely enjoyed developing (insofar as one does in college).

When I graduated, I took what was meant to be a temporary tech job which didn't involve development but rather had me doing ETL work and dealing more with customer DBs. That company got acquired by a large, multi-national tech company and I've been a 'consultant' ever since.

I dislike it and I am not keen on staying with the company.

I'd like to get into a career in development, but I feel trapped. Basically, I believe I need to look for the same sort of job that a newly-graduated candidate would be searching for, but I don't often see such things in the job sites. They almost always want 3-5 years minimum of industry experience. While I have done some coding on my own time, it hasn't been a lot. I am also concerned that if I do find a "junior" software engineer position for which to apply, I'd be at a disadvantage against new grads.

I would be willing to work at intro salaries even if that means less money (to begin).

So I figured I'd ask y'all how to go about this. Anyone else deal with this? Are there resources out there for folks like me? Or am I screwed?

posted by ghiacursed to Work & Money (13 answers total) 10 users marked this as a favorite
Do one or two self-contained, significant coding projects on your own, post them publicly (github is good for this -- many software companies even ask for your github when you apply), and list them on your resume.

3+ years of industry experience is just a suggestion. The important part is that you be able to demonstrate your ability to write competent code and complete a project.

What kind of project you should do depends on your interests and what area of development you want to get into. For example, if you want to work for Apple you should absolutely make an iPhone app -- a friend of mine does hiring for Apple and says that anyone who's created a Mac or iPhone app gets instantly moved to the top of the resume pile. Otherwise, do your development in whatever the main language is in your desired field.
posted by mekily at 12:04 PM on September 15, 2016 [5 favorites]

Have a great Github profile. That is the new resume.
posted by annathea at 12:08 PM on September 15, 2016 [1 favorite]

It is difficult to compete with new grads -- they're getting their first jobs through university exchanges or co-op work terms and the like, which you don't have access to. That being said, are there any parts of your current job that are relevant to a development shop? You mentioned DB work, which involves at least knowledge of DB's and of scripting (what tools did you use)? You might be attractive to a smaller shop where the programmers also do a little bit of everything, including DB design or writing queries. Once there, you also have to do coding, which builds the resume. I was a hiring manager for 10 years for a small shop like that, so I might hire someone strong in DB's and also give them other work.
posted by Mogur at 12:13 PM on September 15, 2016

I went to graduate school in philosophy for four years after graduating with my CS degree, so I hear you. When I was getting back into the game, at first I took a job at a startup, for way under my market value. I wasn't totally sure what I wanted to do and the job offered the opportunity to do lots of different kinds of work in the course of a day, so that I could sell myself in lots of different ways when the time came to move on. That was a successful strategy that I was able to pursue because my wife made a good salary.

That said, I think you're overthinking it a little. In my experience doing phone screens and inteviewing candidates for half a decade, basically no one meets every requirement in a technical job listing. In particular, someone with ETL/DB experience who also appeared to know how to write code would certainly be someone we'd phone screen. Just apply to those jobs that require experience that you don't have, if you think you're a good candidate otherwise. Let the company think of reasons to reject you, don't reject yourself for them.

In addition to having a great Github profile, talk to your friends/contacts that you graduated with; presumably they work at places that might be hiring or be able to vouch for you with their own contacts.
posted by Kwine at 12:57 PM on September 15, 2016 [5 favorites]

Do a software bootcamp to refresh your skills and get connections with the kinds of companies who hire folks who did software bootcamps, then apply for entry-level/new grad positions. You may not look great compared to regular new grads, but if you have a CS background, you'll probably kick ass on interviews relative to other bootcamp grads.

Having a good Github profile doesn't hurt, but IME evaluating someone's Github profile to actually see whether it's good is usually too much work for employers to do on a general open-to-the-public resume screen.
posted by phoenixy at 1:04 PM on September 15, 2016 [1 favorite]

ETL background? You could get hired into a smaller company and learn Spark/Hadoop and being doing real 'coding' but using your experience. Maybe look into that..
posted by sandmanwv at 1:20 PM on September 15, 2016

Setting up your github profile is a good step. Even better, get involved in an open-source project, and most of the good ones are on github. If you pick something that is hot and excites you, and you're good at it (or good enough), I can't see how it won't lead to paying work.
posted by morspin at 2:28 PM on September 15, 2016

A good Github profile would be one way, but the underlying thing there is that you need to be able to demonstrate that (a) you can actually write business-ready code and (b) you can learn.

Personal projects of a meaningful size (like, bigger than FizzBuzz or Hello World, but it doesn't have to be a half-assed Facebook clone - just something that shows you can think in units bigger than a single method/class), or some code katas (with a blog post or two about something you've learned) - as someone in a hiring position, those sorts of things are what I'd be looking for in the absence of recent experience.

"3+ years of industry experience" is also a shorthand for "has built a real thing in a real team, not just a University project, with all the interactions with non-academic/non-developer people that entails" - your existing experience should count for something towards that, but you'll need to translate it.
posted by parm at 3:21 PM on September 15, 2016 [2 favorites]

There's currently a lot of demand for software developers, so changing industries may be as simple as responding to some recruiters, networking a bit, and practicing whiteboard interviews until someone offers you a junior role that you can use to get a foot in the door.

That said, if you don't feel motivated to learn more about software development, the jobs you get aren't going to be much better than doing ETL. It will probably be paid better, but there are a lot of software development jobs out there that are basically the equivalent of yours. Same uninteresting work, different stack. I found myself in this position for a few years, just treading water in various junior roles. I was pretty miserable, and didn't feel happier until I started challenging myself to learn more about my industry, pick up new skills, and become better overall.

So, I think that it would help you to spend some time finding out what you feel most motivated to do, as a developer. This doesn't necessarily have to be something cool or popular. It just has to be that something that is challenging and engaging. Look around for an interesting, fairly open ended problem to solve with computers, and try to solve it. I find that working on those sorts of problems teaches you a lot, and also gives you an opportunity to write new code of your own. Also, meaningful contributions to open source projects tend to suggest themselves when you're engaged with a problem that a particular library almost solves, but not quite. For example, if you wanted to create an image editor from scratch in Java or Scala, what would you have to know about in order to make one that you were minimally satisfied with? Once you have it done, how could you do it better? etc. Once you've done that for a while, start looking around for jobs that make use of the skills you've picked up. Practice your data structures and algorithms and whiteboarding, and catch up on what's going on in the industry you're interested in, so that you won't be out of touch. You may have to work a few more junior positions for a while, but you'll move up faster if you pick something you're already motivated to learn about in your free time.
posted by rhythm and booze at 6:21 PM on September 15, 2016

An experience filter of 3-5 years is as much for "candidate knows how to have a job" as for specific technical skills*. Personal side projects and open source are fine ways to sharpen your coding skills, but being a professional developer is also about meeting deadlines, working with other people in different roles, parsing requirements, and plenty of other skills that aren't visible in a GitHub profile. If you've been working in a technical field for 6 years, you likely have a lot of those other skills. And you also have coding experience, it's just a few years old and was in a university setting. You're not really at a significant disadvantage.

It's easier to apply to a few of the positions you've been looking at than it is to spend a bunch of time on side projects while also holding down a full-time job, so you might as well go on some interviews. If they go poorly, ask for feedback, consider dedicating some time to working on a project that demonstrates your skills in a specific technology or problem domain, and then have another go at it, whether at the same companies or at new ones.

* Possible exception for job requirements that ask for lengthy experience with a specific technology. They're still not really strict requirements, but I would probably not bother applying to a job that wants 5 years of a specific language I've never used. I would apply to that job if I had 1+ year in that language, or in a related language.
posted by orangejenny at 7:38 PM on September 15, 2016 [2 favorites]

I just wanted to say how much I appreciate all the responses. And the encouragement. These have been very valuable. I set up a GitHub account yesterday and will definitely figure out a medium-sized personal project to get my feet re-wet soon.

Thank you so much for taking the time to provide your insights.
posted by ghiacursed at 8:23 AM on September 16, 2016

Late to the party, but my company is about to start a "returnship" program, sort of like an internship for folks that have been out of the workforce for a while. This might be something to look into as well.
posted by theRussian at 3:53 PM on September 18, 2016

I also recommend going through a bootcamp program. Being surrounded by other motivated people while refreshing your skills at the same time and building good projects for your Github. They can all propel you toward the right direction of getting a coding job. Especially if you have a CS degree, you will have a much easier time scoring a job out of the bootcamp compared to everyone else without one.
posted by burea1124 at 3:03 PM on November 2, 2016

« Older Boundary setting with friends   |   Kids and surf and LA, oh my! Newer »
This thread is closed to new comments.