Ask HN: Advice on making the jump from PM to developer

6 points by biesnecker ↗ HN
Here's the story: I'm 33, American, have significant experience abroad (and possessing the attendant linguistic/cultural skills), and have nearly 10 years of project and product management experience, mostly in consumer-facing mobile and web services.

I've been in love with software since typing out verbatim code from the back of Contact magazine and then playing around with it as a kid in the late 80s, and I've walked the basic Pascal -> C -> C++ -> Java -> various web scripting language pathway of late 90s/early 2000 computer science education.

Over the last ten years I've kept myself reasonably sharp, and have spent time picking up Ruby and Clojure and Scala, but never as a day job. Increasingly, though, I realize that what I'm doing as a hobby is what I really enjoy, and I want to make the jump into a position where I can write code as my primary job, but I'm finding that the first step is harder than I imagined it would be.

So, any advice?

* Should I market myself on the PM skills that I have as "a competent developer with benefits," or should I focus on the technical skills I have and try to wow someone into taking a chance on me?

* Should I pick a language / architecture (realistically for me right now it would be Ruby or a JVM-based language, probably Clojure) and really dive deep, or do my generalist roots help more than hurt?

* Any experiences making a move like this that someone would be willing to share?

5 comments

[ 4.3 ms ] story [ 25.3 ms ] thread
Disclaimer: I'm a PM; though I've always also considered myself a developer, I haven't had a "Software Engineer" job since college internships years ago.

There are a couple of things that spring to mind based on some experiences I've had.

Firstly, even though my resume says PM, I get approached for developer roles all the time (probably the CS degrees pattern-matching recruiter bots). Have you tried applying for a developer job at all, just to see which hurdles might be the hardest for you based on your experience and current skills?

Secondly, there are some roles that might be a good transition from PM to developer that would allow you to get the best of both worlds. Developer Relations/Evangelist comes to mind, Technical Project/Product Manager, and similar.

One thing I would personally do if I were making this transition is focus on building out a personal project, putting it on github and becoming active in the relevant community (whether it's stack overflow, irc, reddit, pull requests, etc). Contributing to open source is commonly recommended, though not something I'm particularly involved in. I would personally stay a generalist as that's something I enjoy and part of why I became a PM in the first place, but YMMV.

You could potentially find ways to code as part of your PM job. I knew PMs who committed patches to the main product, and I managed to find several ways to write code (internal hackathons, test apps, etc) when I was working on our developer platform.

Also, I'd recommend you look at Hacker School, if a sabbatical from work would fit into your plans. There are also several "programming bootcamp" in-person courses which are aimed at placing graduates into engineering jobs, but these are probably beneath your current skill level.

What's your thoughts on being a PM? I'm looking at jumping into the role (more of a 'technical PM'). I have corporate development experience and could likely move towards more architect type roles but I feel the pull of being a PM is also worth considering. I can always hack on my own time (not something I would completely stop doing).
As someone in a similar situation as the OP, I'll jump in.

I've been a Technical PM for a while...

I've grown tired of dealing with Clients on a daily basis. I'm tired of the days of back to back meetings or meetings every half hour on the hour to deal with 8 different clients that want attention to piddly problems.

For me I'd much rather switch to a technical management route.

Sorry for missing this reply.

PM is an awesome role on the right team and there have been a lot of things written on the subject. My take would be that it varies a lot from team to team, company to company and product to product.

Some mature product PMs are essentially funnel optimisers and project managers. Early stage PMs are more like startup founders with different downsides. There's a tremendous spectrum.

It depends if you want to be thinking about the 10,000 foot view, users and the context of the product more than you're thinking about how to build it or what a specific customer needs. Best thing to do is get coffee with PMs in a few companies you'd be interested in working at (or within your current company - much easier).

I'm a current PM, previously a developer for a number of years. Here's what I would do:

Create a portfolio of side projects / sample applications in whatever language /framework you'd like to work with. You'll learn something, and have something to talk about in interviews. Then the interview process for a developer position is easy: show them what you've done and talk about how you built it. If your skills and approach are a good fit with the company, they'll hire you.

Another idea: create a profile on oDesk / equivalent and take small paying programming jobs. They may only pay $20, but you can gain experience, contacts, and credibility.