
Ask HN: starting a career in software dev in my thirties,  am I nuts? - paulnelligan
ok,  so here's the rub;<p>I am technically minded, I did my first degree in Elec. Eng,  which I finished in 2000, and was exposed to some programming.<p>I spent 5 unfulfilling years in tech support at a big global company, then went travelling for a few years,  then came back and did a software degree in 8 months at the age of 30 (due to the fact that I already had exposure,  they allowed me to skip some credits).  I came out with a high 2nd class honours from this,  which I felt was pretty good considering the amount I had to learn.<p>Since I graduated in 2008,  I opted not to jump into the first job that came my way,  and instead started studying Ruby on Rails, jQuery, and more recently BDD with Rspec and Cucumber,  as well as working on some projects and building wordpress sites in between for a little extra cash.  The idea was that this time around I would get work that interested me instead of going through the motions.<p>Recently I've been looking for employment,  and haven't been successful,  although feel as though I have come close once or twice.<p>Still, I'm starting to get a sinking feeling.  I don't have enough experience to get started,  and I can't get started without experience. It's starting to get me down a bit. I'm 33 now, and I need to start my career already.<p>I would love to know what insight you guys have for me in this situation.<p>cheers<p>Paul
======
patio11
_I don't have enough experience to get started, and I can't get started
without experience._

Horsepuckey. Can you FizzBuzz? If so, you're experienced enough to get a job
as a developer. What you need to work on is not your programming ability --
that is what professional experience is for -- but your competence at
marketing yourself.

You will probably not be hired to fill a hole labeled "I need a developer who
does RoR, jQuery, Rspec, and Cucumber." First, most of the people who need
exactly that skillset don't have the budget to hire anybody. (No offense to
present company who may use exactly that skillset.) Second, most developers
start with semi-relevant experience and gradually learn more about the stack
their current job (or project at the job) involves. I was a Big Freaking Java
Web Apps dev for 3 years and I started not knowing SQL, Spring, etc etc. That
was fine -- it just meant my first several months involved doing an awful lot
of iterating over hashmaps (java.util.* is my second home) when not reading
code and tutorials.

Now, in terms of marketing yourself:

1) Make stuff you can show off. This distinguishes you from the 90 out of 100
candidates who are incapable of making stuff. Making stuff is the core
developer competency. (Actually, it might be #2 after communication skills.)

2) Polish your communication skills. See #1.

3) Start networking. "Send a resume and pray" is jobseeking for people who
enjoy unemployment. Know the decisionmaker beforehand. There are a variety of
ways you can get started on this today -- for example, start writing a blog
about the kinds of problems you have solved or will eventually solve for the
kinds of people who will hire you. This gives you something to talk about.
Alternatively, talk about what other people are writing in the same field.
This has a long payoff timescale but the rewards can be fantastic.

Also, don't neglect traditional networking: business cards, meeting people
face-to-face in your local community, etc etc.

~~~
kyro
_Can you FizzBuzz? If so, you're experienced enough to get a job as a
developer._

I am always so surprised when I hear that, and have a difficult time believing
that's true. With only an extremely beginner's level understanding of Python,
I can solve FizzBuzz. Can I get a dev job?

~~~
patio11
This would put you ahead of literally half of software engineers at or below
my level of seniority at least one Japanese megacorp. While I have very little
experience with working in the United States, anecdotally, many programmers
can't program there, either.

~~~
SHOwnsYou
I've always wondered -- is the reason people can't do fizzbuzz because a lack
of understanding of modulus or because they can't comprehend the problem?

I know modulus isn't necessary, but I can see someone not doing the problem if
the solution they are turning in is in a less elegant way.

~~~
patio11
FizzBuzz comes from a game for six to eight year olds, who also don't
understand modulus. That's part of the reason it is such a great problem: they
fact that you realize "Hey, this is a whole lot easier with modulus"
demonstrates that you can reason abstractly. You certainly don't need a mod
operator to make it work -- if you're capable of writing a function, you can
write _divides_evenly_by_3(int number)_ using facts that every fourth grader
knows.

If you prefer, you can substitute a similar problem which doesn't require even
fourth grade math. Here's one: write a program which calculates the sum of all
numbers between 1 and 1,000 whose digits sum up to 7. Or write a program which
takes this post as input and tells me what the 3rd most common letter used
was.

~~~
BioGeek
My Python answer for the second question, where `post` is patrio11's post as
input:

    
    
        from  collections import defaultdict
        from string import ascii_letters
    
        d= collections.defaultdict(int)
    
        for letter in post:
            d[letter] += 1
    
        print [letter for letter in sorted(d, key=d.get, reverse=True) if letter in ascii_letters][2]
    

Any comments on improvement for readability or conciseness?

~~~
follower
Ah, your use of the collections module prompted me to read the docs for it
(who would've guessed :) ) which leads to a revision of my other response:

    
    
      import string, collections
    
      s = "your text here"
    
      print collections.Counter([i for i in s.lower()
                                 if i in string.letters]).most_common(3)[-1]

------
jwecker
Ignore the age. In 10 more years you'll be 10 years older no matter what. You
could be a world-class programmer and product designer at that point. Or you
could be wishing you had started 10 years earlier. I seriously doubt you'll
have starved to death by then unless you make some destructive life choices...
I could come up with plenty of examples of people who didn't start their
life's work until 33 (and much older)- but it's irrelevant- a distraction at
best.

Having said that, I think we have an innate tendency to... acclimatize as we
get older. We start to expect that things should come easier. You'll need to
counter that if you continue this path. Expect it to be very hard- on the
learning side and the self-marketing side and the delivering value to your
employer or own business...- and deal with that reality instead of assuming
that the difficulty is somehow related to your age or self confidence or how
long it took before you got whatever degree etc. etc. Step up.

~~~
dolphenstein
Right on! Today is the first day of the rest of your life!

------
wyclif
You're not nuts. I'm doing it and I'm over 40, I spent a decade or two in
civil engineering as a land surveyor and then as a cartographer. That whole
industry collapsed, and since I had learned BASIC and C in high school and did
some sysadmin UNIX stuff decades ago, I'm getting back up to speed thanks to
Python.

My advice would be to get a related job in a shop that uses a similar set of
technologies and has programmers on staff. Keep working on your skill set, and
get some mentoring from an experienced programmer.

Another avenue I would recommend is to work on a high-quality open source
project to get some experience under your belt.

------
lkrubner
I did the same as you. I did not get into programming till I was in my early
30s. I think I was 34 years old when I first started identifying as "a
computer programmer" (I mean, when I would meet people and they would ask me
what I did for a living).

I've had a great time doing software work, but the first year or 2 I was doing
it were frustrating for the number of things I still did not know how to do.
It is a little bit amazing how many different things you have to know to be
good at it.

Anyway, my own experience is that it can be done. Of course, 2010 is a tough
time to be starting in any career at all. You did not mention which country
you are in, but from the way you talk about your schooling, I assume you are
in the USA. The recession has been intense in the USA, see this chart:
[http://calculatedriskimages.blogspot.com/2010/07/employment-...](http://calculatedriskimages.blogspot.com/2010/07/employment-
recessions-june-2010.html)

One change I've noticed in the tech industry since 2005 is there is a much
bigger interest in knowing frameworks, rather than simply a computer language.
Maybe 10 years ago a person could say "I know Java" or "I know PHP" but
nowadays its more like "I know Spring, Hibernate, Grails" or "I know Symfony,
CodeIgniter, Drupal". So my advice is to pick a specialty.

------
mgkimsal
Life begins at 40, dude :)

Never too late, and frankly I think you've done good getting grounded in
things like BDD/TDD. There are people I know with 10-15 years of development
experience that don't _know_ about TDD, much less use it. It's not a silver
bullet, but I think demonstrates a lot of forward thinking.

Have you considered just being an independent service provider? Looking for
'employment' isn't going to necessarily get you all that much more than you'd
get if you got your own short term contracts. At the same time, different
people have different needs - perhaps you have some _need_ for 'employment' in
the traditional sense?

I'm sensing some independence though - travelling for years, went back to
school - jumping in to a new arena - etc. You may not fit well in most
traditional employment situations.

How are you making money right now? How are you getting by? Are you doing any
web work for hire? Could you do more? Does that not appeal to you?

------
geebee
First, you aren't too old at all. We recently hired a programmer in his late
50s, and man are we glad we did (and btw, age was never a consideration in the
first place). He's _great_ , and we're probably going to use much of his work
as a reference point for future apps.

As for getting into it... glad to hear you've had some success with
interviews. My biggest bit of advice to you is to get your hands on a good
data structures and algorithms book (Java is fine), and learn the crap out of
it. Since you like programming, you'll enjoy this, and it'll help you in
interviews and as a programmer. In particular, make sure you know:

linked lists binary trees (be able to code insert, traverse, find on the spot;
read about delete but don't worry so much about keeping it all in your head)
sorting (quicksort, mergesort, maybe a few others) read about balanced trees,
b-trees, etc, follow and try out the code, but don't worry about keeping it in
your head Hashmaps (what's a hashing function, how to keep good performance)
Graphs are fun, and once you can code trees, you have all the tech skills, but
the algorithms in graphs are very interesting... and now and then does come up
in an interview. SQL - I still get asked about this a lot... know the basic
stuff (select, conditions, joins) cold, and also make sure you know some of
the grouping functions (HAVING) and how outer joins work. Anything more
elaborate will get you points, but probably won't hurt you if you don't know
the answer.

Personally, I find it slightly obnoxious that interviewers rely so heavily on
this stuff, but it _is_ actually kind of fun. I always review this carefully
before an interview. It can make the difference (in fact, I'm pretty sure I
missed out on a job because I let it get stale and fumbled around too much...
it's a shame, if I'd spent my usual 8 hours preparing, I probably would have
rocked it).

It's a lot to learn, but it sounds like you enjoy this anyway.

One other thing... to get experience, try taking on a small software project
for your current employer. Once you've done it, you'll have "official"
experience. Sounds like I started in a similar spot to you (math major with
some CS coursework), so I had to work a little harder to convince employers I
could write code. I think EE would probably put you in a pretty good spot, so
you really just need to convince them of this thorough those technical screens
(which is why I so strongly recommend you read up on data structures).

~~~
ardit33
This is good advice.

Also to the OP: this book is good, and a must read. It will help you a lot on
the fundamentals of CS. [http://www.amazon.com/Algorithm-Design-Manual-Steve-
Skiena/d...](http://www.amazon.com/Algorithm-Design-Manual-Steve-
Skiena/dp/0387948600)

------
addywaddy
Hi Paul,

you're not nuts :) I studied Civil Engineering at university, and then faffed
around for the next 10 years because I didn't know what I wanted to do. I
discovered my passion for programming at the age of 32 through the initial
Ruby on Rails podcast. Unfortunately I couldn't program at all at the time,
had never knowingly used unix and so spent the next 2 years teaching myself
most evenings after putting the kids to bed.

The key thing for me actually landing a job was through meeting up with a
local programmer. I'd discovered his blog, realised he was local and arranged
to meet up with him for a beer. He told me that there was a Ruby User Group in
town and so I plucked up the courage and went to the next meeting - it was
great! At the third or fourth meeting heard through a fellow attendee that the
company he worked at was looking for rails programmers. Two interviews later
and I was employed.

I'm not a world class programmer. But I consider myself very fortunate to have
discovered my passion at what seemed to me at the time so late in life. Many
people never do.

And getting a paycheck as a result of that passion is better than a kick in
the teeth ;)

All the best mate.

------
whyme
The people who are nuts are the one's that don't have any other aspirations
than a paycheck. You sir, are not.

As I see it you have a few options:

1\. Create something meaningful, on your own, and publish it. Having some
applications even when they do not generate revenue, can act as your
experience. It will certainly help in marketing yourself.

2\. Consider starting in another role in a software company, like Quality
Assurance, then try to moving into a developer role for the company.

------
moron4hire
#1 most important thing to understand: programming will consume your life, if
you let it. And if you want to be good, you need to let it.

#2 most important thing to understand: people-networking is important, though
you probably know that by now. The rub is that #1 has a tendency to prevent
#2. It's good to work hard and program and make stuff, but don't neglect to
_tell people about it_ and _find other people who share your interests_.
Without them, you'll never learn about the good jobs because you'll be lost in
the sea of recruiters and contract jobs.

------
jamesteow
I know of people who enter med school in their late 30s/early 40s.

So no, you are not nuts. Life isn't a race.

------
iuguy
No, you're not nuts at all. Fellow 30-something here, you should run with it,
if it's what you want to do. Like with start ups, persistence is key.

As other people have said, put some stuff up to showcase what you're capable
of. If you work on a side project that you can demonstrate to people and
possibly get some revenue (or at least public recognition) from it'll help
improve your personal brand, which in turn will make it easier for you to get
hired, providing the jobs are around in your area.

------
zackola
If you are located in NYC send me your resume. The company I work for is
looking for someone whose experience matches yours.

~~~
klochner
ditto for me in San Francisco

~~~
paulnelligan
Thanks a lot guys, that's encouraging, and I would be willing to move, but I'm
in Ireland, and visa could be an issue.

------
dmillar
You're not nuts, if that's what you want to do, then do it.

However, the truth is 30 is not young for an entry level developer. Most 30
year-olds are accustom to a higher income than a 22 year-old CS grad, and this
might make some employers adverse.

Keep pounding the pavement. With your engineering background you should be
able to find a good job. It might take some time in this job market, but keep
at it, and try to pickup some freelance to pad your resume.

~~~
patio11
_Most 30 year-olds are accustom to a higher income than a 22 year-old CS grad_

Having some familiarity with both fields, entry level programmers in the
United States routinely make twice (or more) what L1 tech support workers get.

------
thinkingeric
As a manager I can tell you that I am looking for any clues I can find to
mitigate the risk of bringing on a new person. "Experience' means very little
if I have no way of assessing what a prospective employee/contractor did in
those previous jobs. You need 'evidence' more than you need experience;
evidence of your language and problem solving skills; evidence of your
communication skills; evidence of your motivation and interests.

Eric

------
JangoSteve
You are never too inexperienced to get started. In fact I think that's
probably the greatest obstacle to more people being experts at something, the
fear of not being good enough before they even dive in.

I also came from a technical background, Mech. and Elec. Eng, and didn't
really start programming until about 6.5 years ago. But I was deadly serious
about it and about being the best, even if I didn't have a CS degree. I
immersed myself.

About 2 years ago, I was able to quit engineering and go full-time. Now I run
a web development consultancy that has a great team, and I'm writing articles
that even get picked up by Ruby Inside (thanks perterc!). I'm even in the
process of contributing back to both Rails and jQuery core.

I talk to a lot of people looking to dive into software development because
they can't find technical cofounders. I think this is the right approach, but
they all seem to have this mindset that they'll never be a real programmer, in
that they ask me how in the world they can get started and simply not suck.
Not sucking is one thing, but being great is where it's at. Do the latter, and
you'll always land on your feet.

------
natch
You'll meet a lot of ageists in your career. Ignore the objections from all of
them, including yourself.

------
davidamcclain
>> I don't have enough experience to get started, and I can't get started
without experience.

Sounds to me like you probably have bucket loads of experience compared
against a recent grad. You've held down a job, traveled, went to school twice.
Your current skill-set includes a lot of soft skills (people skills) that many
experienced developers lack. I'd suggest putting that foot forward.

------
flacon
"Build it and it will come." That was my strategy. I had no career and a
degree in Philosophy that was taking me nowhere. Out of the blue I jumped into
Web development and started building websites for anybody that needed them,
for free. Once I had a portfolio of 10 or so I got a few part time position
doing web development at a university. This gave me more experience and at the
same time I started hacking on more technical aspects like OO PHP, Mysql, Ruby
on Rails etc. I hacked on a few things and had some examples to show. This led
to one fulltime job doing mostly PHP. I then hacked a bit more with Ruby and
landed another job doing that fulltime. Now I am hacking on IOS and Macruby
hoping to make a jump into the fields.

See the pattern? Get a development job doing whatever you can. Hack on stuff,
build it, then try to move up.

Key is, Web Based software, IMO, is a show and tell type profession. Like
carpentry the emphasis is on what you can do, what projects you have built,
rather then degrees, age etc ...hope that helps...

~~~
paulnelligan
Yes, it does, thank you

------
iworkforthem
I suggest you contribute to an open source project, if people like your work
there, freelance project is a possibility. Also it looks good in your CV. But
seriously, if you intend to be a s/w engineer, why build an app and sell it
yourself? With Android, iPhone and Ruby on Rails, it is easy to make something
and sell.

------
eccp
I had a workmate on a J2EE team who had a Physics degree but couldn't work
find anything on his field here in Chile. He moved into computer programming
around his mid/late 30s and now he works in the largest bank, but he's always
hacking small proyects.

I'm 34, and have a job with Java technologies that pays the bills, but I can't
help to hack small projects after hours. I often feel that I need to escape
that 'sinking' feeling, so I'm trying to build my own small business right
now.

If you review other posts here on HN, you will notice a pattern of people
which feel on a crisis around our age. It's common. But it's not the end of
the world. You are not old, and you've proven to have the will to keep going
forward, so just keep trying. Best wishes!

------
elliottcarlson
I don't think you are nuts, but be realistic in your expectations for your
first job in the industry. There will be plenty of competition out there that
could have a lot more experience - you just need to focus on showing why you
are passionate about starting in this field and that you are not only capable
but also willing to learn anything required to improve your potential within
their companies.

If I saw this kind of drive I would (and have in the past) overlooked people's
actual experience. Someone with a go-to attitude and very eager to increase
their skills will always do well in an interview with me.

Good luck and don't let the current job market bring you down - it'll happen
sooner than later.

------
thirdstation
I did a similar thing when I was your your age.

Try to get a programming job in the industry you worked in. Domain experience
matters.

Don't correlate your age with where you think you should be in life.

When I finished grad school I subtracted 10 years from my chronological age
and declared it my career age. I picked 10 b/c that's the difference in years
between my graduate and undergraduate degrees.

Nowadays, when I get hung up on where I think I should be in life (office,
better salary, etc), I think how I'd feel if I were my career age. From that
perspective, I always come out ahead.

------
mannicken
No, you are not nuts. Here is an example of nuts: thinking that you have a
telepathic connection with your ex-girlfriend, who wasn't actually your
girlfriend.

You are normal. Go for it.

------
gexla
Sounds like you are already there if you are making money building Wordpress
sites. Just keep doing that and scale up to a point where you are able to make
a living from it. When you feel comfortable, expand into taking freelance Ruby
/ Rails work as well as your Wordpress work. Keep going along this track until
someone offers you a full time gig, by then maybe you don't even care to take
one.

------
thor79
I'm going through a very similar situation, though I never finished my degree
the first time around. I dropped out, and spent most of my 20's working in
various dead end tech support jobs. Then 3 years ago I went back and finished
my degree. I graduated in June of 2009. I took a job I now hate because I was
trying to get in to get experience and to be able to pay off my student loans.
I'm going through the motions in this job, but trying to work my way into the
field I want to be in, web development. Bottom line for me is, if you don't
enjoy what you do for a living, you don't find it engaging, then you shouldn't
be in that job. Find the job you want to work in. I realize it's more
difficult as a person who is looking and not currently employed full time, but
keep at it. Just keep racking up experience where you can, and eventually
you'll get the job you want to be in. Trust me, I've wasted a year in this
job, and if I could go back a year, I wouldn't have taken this position.

------
Todd
The most successful people do something they love. If you love something, you
will spend more time doing it. If you spend more time doing it, you will
inevitably become good at it.

Sure, it's easier to pick things up when you're younger. Yes, you remember
more of what you learned in your teens vs. 20s and 20s vs 30s. That's just the
way the mind ages. But people learn new things at every decade of life. Your
30s are still a great time to learn. You'll be an expert by the time you're 40
if you stay with it.

------
T_S_
You are nuts. Wait until your forties, like I did.

------
slantyyz
One thing you might have to do is price yourself to sell to get some sellable
experience at which point you can start charging more.

------
ig1
How far are you getting, are you not getting interviews or are you getting
stuck at the interview stage ?

------
greyman
"and I can't get started without experience"

No, no..that's not universally true. Don't let yourself to be affected by this
concept. You can get employed without formal experience, some bigger companies
also hire newbies. You will just get lower salary.

------
bitwize
You're nuts.

I'm also 33 years old, and let me tell you, getting a break in this business
at 33 with not much professional experience is very, very difficult. By 33
you're expected to have around ten years experience in the relevant
technologies/application domains. At least 3 or 4 are pretty much requird for
even a so-called "entry level" position. Companies are willing to cut you a
break if you're fresh out of college, less so if you're not.

Your best bet is to move to either the SF Bay area or the Boston area. There
you are more likely to find hiring managers who don't care about the bullshit
HR filters and do care about what you can actually do and what your interests
and motivations are.

Outside of that, good luck to you.

------
udfalkso
Apply for unpaid internships. I'm sure most companies would rather have you
than some young kid. Take the hit for a little while, and then turn it into a
real job in a few months.

------
murgatroyd
I'm 30 and just got my first job in Software Engineering. I just recently
graduated with a degree in CS and I started at the company as an intern - they
hired me within a month.

------
gherque
There are no jobs in this field unfortunately, especially not these days. I
have 15 yrs experience in SW dev, and can't find a job now that I am suddenly
unemployed. Sad truth.

------
keokilee
I got worried while reading the headline because I'll be 30 when I get my
master's in CS. The supportive comments in this thread at least alleviated my
concerns.

------
shareme
Paul, build something..no I am not joking..

what got me back into programming..my A.A.S. 2 year degree is in accounting
and Computer Science..my time at Purdue University was in Molecular Biology
was that I started building computer applications while at Purdue University.

Once you get something built and start showing it to people..someone shows up
sooner or later with a job offer.

also what helps ..show off your projects here at HN..

Your are not nuts.

So Paul if you could build any Ruby on Rails Application what RoR application
would you build?

Side Note: In fact all my successful interviews involved me showing something
that I built.

