Ask Slashdot: Re-Entering the Job Market As a Software Engineer?
First time accepted submitter martypantsROK writes "It's been over 15 years since my main job was a software engineer. Since then I have held positions as a Sales Engineer, then spent a few years actually doing sales as a sales rep (and found I hated it) and then got into teaching. I am still a teacher but I want to really get back into writing code for a living. In the past couple of years I've done a great deal of Javascript, PHP, Ajax, and Java, including some Android apps. So here's the question: How likely would I be to actually get a job writing code? Is continual experience in the field a must, or can a job candidate demonstrate enough current relevance and experience (minus an actual job) with a multi-year hiatus from software development jobs? I'll add, if you haven't already done the math, that I'm over 50 years old."
As someone who just went through this, it is going to be tough
It didn't work out so well for the dog.
My university employer tends to hire older people for development (especially DBAs). They often do a lot of interfacing with external vendors in terms of customizing canned solutions... with sales experience, they might see that as a bonus. Try them.
By some friends' words, you'll have a much tougher time in the private sector.
I've been doing a lot of interviews lately, and as long as you can demonstrate you have the skills necessary to complete the work in the job, I could care less how long since you've had an "actual job." Though, I'm not sure how much HR screening goes on before I see any resumes. The hard part is just coming up with a good way to demonstrate that you have the necessary skills. The last applicant we hired brought a laptop with him and was showing us parts of a cool project he'd been working on, there isn't a much better way to show of your skills than to talk intelligently, then just show off what you can do. Good luck!
you should continue teaching and sell your apps on the side. It isn't worth the headache of getting back into a field dominated by a bunch of 20 somethings who think they know everything there is to know about writing "good" software.
At 34 I've re-entered the job market myself after giving my own business a shot and I landed a job as CTO of a start-up game company. We're developing a couple of games now (one while will be in beta tomorrow) and when I look for programmers, I could care less about a space in employment as long as they can demonstrate the skills needed for the job.
honestly our young software engineers are uninspiring, we give them lots of opportunities but they don't seem to have the work ethic of the more mature and experienced engineers, they make a lot of mistakes and won't work very much (if any) overtime without complaining. On my project we have about 8 software engineers, only one of them is under 30, the rest are all late 30's to early 50's.
I would advise you to find a small company that doesn't specialize in web/software development. If they don't specialize in web/software development their standards won't be too high and the pressure will not be there because they don't have an understanding of how things normally work. Most likely though you will have to take a lower salary than the industry standard and you will probably be doing techie work also because to smaller companies anyone who knows anything about computers knows everything. Two years of this and you should be good to step it up to another company.
I actually worked at Microsoft awhile, quit for a couple of years, and then decided to freelance. You've just got to be stubborn and have a lot of passion. It can be done.
We have three people who are have been at least semi-retired, now working full time and one on contract... --dave
davecb@spamcop.net
Spoken like a true quitter.
I could not disagree with you more.
I'm 63, I still love to code and am quite good at it, and I just got hired away from my current company at a significant pay increase. If coding is stressful, then you're probably not cut out for it or you're doing it wrong. Coding should be fun.
It's pretty much an uphill slog. What's totally frustrating is then reading about those same companies complaining in the press they can't find qualified applicants and need more H-1B visas.
When I was CIO I never had trouble finding qualified people. I did have trouble finding qualified people willing to work 70 hours a week for $35,000 a year, which is what I think most companies really mean when they say they can't find qualified applicants.
That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
the sales engineers I know actually do engineering while the sales rep just sells clients on an idea. For example, i worked at a place that sold custom power switchgear, the sales engineers were EE who designed solutions.
If you know either Java or .NET you can easily find a job making good money coding today. I am always hiring top talent and right now for the .NET and Java skill set there are currently FOUR jobs to every ONE candidate looking for work. My company has four openings right now in Orlando, FL.. Sell what people want to buy - right now that's .NET, Java, SQL, Oracle. You'll be fine - I know plenty of software developers over 50 and none of them is currently unemployed. After a decade of managment I recently re-entered the software developer market. I quickly found work with C/C++, and learned Python and Ruby in a couple of weeks. Go for it!
write some open source wares that do something useful. nothing like a project on the top of your resume. worked for me....
Which, at his age, he should be an expert at. I am 40 and accidentally landed a job doing COBOL development. It pays much much more, is more challenging (the earliest comments in my code base are from the 1970's) and you will ALWAYS have a job. COBOL programs are never finished, usually because they are constantly adapting to changing business rules and business relationships. It is almost impossible to realistically migrate to a new system, so its just perpetual coding. I love it, brings me back to my childhood when code was complex, languages were primitive, and you could still get great results.
You'll find no end of people who will tell you that you can't do it, you're too old, blah, blah, blah. Forget those people. What is it you WANT to do?
I'm telling you that it is possible to do what you want. I went back to school at age 43 and got my masters in computer science. I was lucky enough to land an internship at a NASA center and I managed to turn that into a full time position. I'm sure some degree of timing luck was involved but at the same time I'm a hard worker, conscientious and reasonably smart. I work with plenty of 20-somethings and I can tell you that they're not automatically brilliant and they don't necessarily always have great work ethics. You can do it if you want to.
http://www.rootstrikers.org/
What? Being a good programmer means finding ways to be lazy. You're doing it wrong.
Train in the latest and greatest technologies offering the newest advantages, where the labor/skills pool has not fully developed yet, and you will find yourself in greater demand. People won't care so much about how old you are, as long as you can show you can do the job.
In IT, the old guy is the one with the old obsolete skills - which sometimes correlates with him being an older person, but not necessarily. Conversely, if they find your skills have gone obsolete and are no longer useful, they will throw you away like old trash, regardless of how old or young you are.
Wont matter how good you might be, you are far too old to come back into a 'young persons' world after that long of a hiatus.
And no, not casting stones, i wouldn't try it either and im not quite as old.
---- Booth was a patriot ----
...not to accept a non-engineering position. There is always demand for people who can make and fix things.
http://michaelsmith.id.au
I don't even own a suit and I've been selected over others in competitive positions on several occasions. Sometimes I work for start-ups which don't last long, hence so many positions. But I have worked for a few big companies as well and had no problem qualifying for a position with little more than a quick shave. The only time I don't wear blue jeans to an interview is when I'm representing a consulting company.
I think your assumptions as to how to get hired are not universally true. I'm not sure where you get this idea where older geeks need to dress up and clean themselves (you're repeating the hygiene issue). I have interviewed several old timers (50s and 60s) that came in with shorts and sandals. Guys in their 30s and 40s tend to show up in khakis and a dress shirt tucked in properly.
I think that people should dress in whatever way they are comfortable and gives them confidence in an interview. Second, if the company has a dress code, try to follow it when you show up for an interview. Having someone say "you're hired, but please don't wear X anymore" would be embarrassing. In this area and industry the dress code is extremely lax, it a non-issue. (I'm not talking about some hipster web start-up. I work for fabless chip companies and enterprise networking equipment companies)
Seriously. I've also had a non-traditional career trajectory vis-a-vis programming, though I still enjoy doing it here and there and like to stay current with my skills. (I'm also a lawyer, and I deal a lot with "software law," so one helps the other.) I wrote a quick-and-dirty Perl script that polls the local Craigslist every few hours and shoots me the more interesting leads; I pick one or two a month (time permitting) and I've had about a 50% success rate in landing the positions. Everything from BlackBerry GPS development to some embedded code that went up in a recent rocket (one of the CALVEIN launches, nothing too exciting). Build a résumé of smaller projects while you're teaching... Get back into the game that way. In 6 months to a year you'll have the 'current cred' to interview seriously for like positions that are on longer term projects or permanent-hire...
geek. lawyer.
the sales engineers I know actually do engineering while the sales rep just sells clients on an idea. For example, i worked at a place that sold custom power switchgear, the sales engineers were EE who designed solutions.
The sales engineers I know spend most of their time trying to figure out how they are actually going to do what the sales rep just sold to the client.
'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
Seriously, get your certification as a Project Management Professional from pmi.org and start pimping yourself out at $150/hr+ doing contract work. Much easier than writing code, and your age/experience will actually be viewed as an asset.
Small companies and start-ups care less about immaculate CV's and care more about actual ability and really value being able to fill more than one role, so look for a small company that will love a sales-experienced coder.
Your sales experience will be an advantage for some roles (for example pre-sales support building demos) and it's very rare for someone to have both sales and coding experience, so you just need to find the organisation who needs that.
Of course, as it's so rare you won't find many organisations advertising for the role, and smaller organisations tend not to advertise or go through formal recruiting processes anyway, it tends to be more word-of-mouth and friend-of-friend, so get networking!
Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
What? Coding is the opposite of stressful. I'm 45 and it gets less stressful every year... Working with noobs? Yes, that's stressful.
I can understand why you posted as AC.
I also once coded COBOL. Nobody knows. The shame just won't wash off.
yes. that's often what we do.
A sales "engineer"? Much like a "sanitation engineer"?
Save the engineering titles for people that actually do engineering. You were a glorified sales rep-- that's it.
There are sales positions that require enough specific knowledge of the systems involved that they actually do require a person with an engineering degree and/or experience.
Get over yourself.
PHP, Ajax, Java, apps? You are on the subjects that are hot hot hot in most tech segments. Your experience with customers and the business side of things is a real asset and will be considered a major plus for any reasonable employer. You will not be suited for all possible coding jobs, but nobody is. Age is only considered a determent because people think that you will be stuck up and set in your ways. Show that you are flexible and hungry for new challenges. If you are looking in Seattle, SF, New York or other comparable market you will find a home. Maybe not tomorrow, but soon enough. Concentrate on your strengths, be awesome, be passionate and the world is your oyster.
Buy a whiteboard and google for interview questions and write code in dry-erase every day. Once you get in the interview chair you will be ready.
And best of luck to you.
In the UK (and most places in the EU I guess ) asking your age is illegal, and screening old timers out would be suicide.
To top it all, you can request to see in which basis they didn't give you a job.
I know, I know, evil socialist Europe.
I went through this as well, and as macs4all above mentioned, if it hadn't been for a job offer at a place I used to work, where the people knew me and trusted I could do the job (as I'd already had), I'd still be out of work. Don't put your age down on your resume, that might help. I stopped putting my graduation date, and only put jobs 10 years old or newer. Before that, I lumped everything together, if I put it down at all.
Of course, it didn't really work for me, so who knows if it's even good advice.
Everything you know is wrong, Just forget the words and sing along.
In the NY area, provided you'd settle for a job in the 90-120k band, there's shortage of capable developers -especially with good communications skills. Don't mention your age on your resume and play up your ability to work as a team player. Seriously.
I try to avoid absolutes.
People who use absolutes are horrible - I hate them all.
#DeleteChrome
If you are looking in SF or the bay area, you'll definitely find a job. Be sure to specify what you actually want to do. Be honest about your transition, and explain your desires. That way, you shouldn't have people trying to force you into the activities you're no longer interested in.
My company is hiring: http://www.ngmoco.com/careers/positions/engineering and on my team we've recently had other engineers transition back from more marketing-focused jobs into day-to-day coding.
Contact me if you want to chat.
Gravity Sucks
Large software "solutions" provider, Oracle, SAP, Information Builders etc. need pre-sales consultants, that code up demos and tailored business cases on top of their software stack. Going for this kind of job ties your resume together and seniority can be spun as an advantage when addressing C-level customers.
Fast paced, continuous learning and some travel required but typically very well paid.
Good programmers are very hard to find right now. If you can write good clean code that is easy to maintain and read by others and if you are reasonably fast it shouldn't matter how old you are. I'm having a hell of a time finding anyone - I would love those skills (php, javascript especially) but I'll just take someone who knows how to write in java or c and train them. I think we may have finally filled both our positions (fingers crossed) but it took 18 months to fill 2 positions! It sucks out there if you are trying to hire. Other's I know who are trying to hire programmers have a similar story. Programmers have their companies by the short hairs right now. All of us should be asking for raises (the good programmers anyway).
Also you should know that there is much less age discrimination with contract programmers versus permanent programmers. And the pay is better. If you are in an industry were someone with just 1 year javascript experience gets $50k then you can get $50 per hour ($90k, $90 per hour, etc this is the general rule but doesn't always work for every situation). Your second contract that rate will go up and within a few years you should be at $100 per hour. If you are good. Also if you go through an agency for the first few gigs you will find that they market you in ways that you can't market yourself ("his coworker, John, said he's the fastest programmer he ever met" or whatever). And life is less stressful for contract programmers because there is a little less emotional investment and also less meetings.
you realize a lot of those people working in apple stores, radio shack, and target are also experienced software and electronics engineers? some with decades of experience?
im not saying its impossible, im just saying, good luck to you.
Make sure you have a compelling narrative in your cover letter about why you left the field and why you want to come back to it and stay in the field for the long haul. I tend to overlook gaps in skill and employment if the person Im hiring won't waste my training investment and they have a background that is complimentary to the team I'm building.
or figuring out a way to work with them is also necessary for a hiring manager to find the best candidates.
I had an arrangement with HR where I'd do their work for them if they would just give me access to the raw resumes because I knew what might be unconventional but promising and they didn't. They got "credit" for the hires and we both were happy. Probably the top 6 hires I made in 30 years on the job were people who would never have been pulled by some key word screening. And the worst were perfect matches.
In the case of the OP, I'd be looking that he learned a new skill recently and did some programming recently. Beyond that I'd care he really wanted to do what I needed done after I explained what that was in a general sense and asked him/her how that matched up with what they were looking for.
You're only 309278, you're still just a sprout.
Remote jobs are your friend. I left programming for ten years, and when I returned found that my age and lack of recent experience was a definite handicap. Then I applied for a telecommuting job (advertising for a 'young' developer) and found that they really only cared about my coding chops and how well I play with others, but not much else. They never saw the gray beard. By the time they discovered that I'm not young anymore, it didn't matter. And it turns out that I really like working at home, and would hate returning to a cubicle.
I do not think rerentering the programming workforce is impossible. I spend a lot of time trying to hire good, smart, logically thinking people who are willing to learn. I don't find many. I would gladly hire someone who hasn't programmed in ten years if they show all the traits I just mentioned.
The difficulty will be in getting an interview. The HR departments at large companies (like mine) filter the hundreds of applications they receive before I ever get to see them. They primarily look for keyworks (ugh) and education because they don't know what else to measure by. One way to avoid this is to get a reputable recruiting firm to back you up. We often interview people who we wouldn't normally because the recruiting firm stressed that the candidate's resume doesn't adequately describe their capabilities.
Once you are in the interview, your experience and past won't matter as much. If you can BS about being a nerd with some engineers for an hour, without sounding fake, you have a shot. Thinking clearly and logically is very important. Demo your Android apps; it is very useful to be able to show somethign you have developed in person. Don't sell youself as a one technology guy. I never hire those people. A real engineer or computer scientiest can learn new tools overnight. I have no need for people who self-idenitfy with only one skill. Good luck.
If you apply for an entry level position, they won't hire you because they expect you will will keep looking for a higher-paying mid or senior level position, and that you will jump ship as soon as you find it.
If you apply for a mid or senior level position, your resume will be outclassed by others who don't have a large experience gap.
Also, because of rampant agism in the industry, potential employers will prefer people 20 years younger than you who are also applying for mid or senior level positions. Employers will (perhaps wrongly) expect that your old brain isn't as effective at learning new technologies like their young brains are, and that they are therefore more valuable. Also, they are less likely to suddenly die of a heart attack.
So do yourself a favor, and don't bother entering an already over-crowded and competitive labor market that no longer wants you.
If you have to deal with HR, this is what you need to know about how they think.
They are not interested in doing what is in the interests of the company, they're interested in making life easy for HR.
Now, some of them are thinking in terms of avoiding the expense of lawsuits or having to fire unsuitable employees, so they may tell themselves that the two are the same thing, but they're not. HR wants people who will not do anything original, which is the exact opposite of you want in any creative field, including most technology jobs. They don't realize that creating code or designing hardware is a different kind of job from the line workers assembling hardware.
My experience matches yours. The key is GOOD people. Finding good people is hard.
I know someone who has been trying to hire a few good people for awhile now. In between interview 1 and 2 he sends them home with a coding problem. IMHO, it's too basic, but it's just a simple "implement a few design patterns" so that the company doing the hiring can see the programmers style and if they know what they are doing. The goal is to have something to talk about in the second interview. Many of the responses he gets back do not even compile (think about that for a second...the candidate has the full internet at their disposal). The ones that do compile look horrible (editors have auto-format - use it!) and/or don't meet the very simple requirements.
And offshoring really is broken. It can work for a very particular set of project types (basically ones with strictly defined requirements), but even then it's hit or miss. India is really too expensive now, especially if the cost of communication, time zones, culture, and remote management is factored in. Philippines is big now, but with good people there pulling $30k+ and being poached from company to company it's impossible to build any tenure into your people. It seems everyday I talk to a CTO or director who has a story of throwing away lots of money on offshoring with nothing to show for it.
The problem, and you touched on it, is that every company needs software people that not only know software but also know and learn the company. Only then can the real value add company software be created. This requires good people and is very hard to do with outsourcing.
Networking is your best way to reenter software engineering. Remember networking is about helping people and developing relationships. Based on your skill set you would be quite value-able to a web design company. Many web designers contract out programming to local programmers. Go to local networking events (chamber of commerce, bni, ...). Introduce yourself as a software engineer and ask each person you meet if they know a good web designer then offer to do a short contract project at a competitive price. After completing that contract you now have recent experience.
When it comes to your programming experience, I recommend getting a company name (this is usually pretty cheap) and listing all your recent experience under your company. The person reading the resume won't know that the company is just you until they interview you.
On the resume topic, you might want to leave off your sales experience (and maybe some of your oldest software experience) so that your engineering experience doesn't get diluted and you might want to consider leaving off the dates so that employers don't notice your hiatus and don't guess your age.
P.S. I used most of these techniques to get back into software engineering after a 8 year hiatus as a Network Administrator.
The original poster might as well slit their wrists now if they really believe that they can go back to coding after so many years out of it. The first tthree questions would be
Q1 "Why did you get out of it in the first place? Q2 "So why do you want to get back in now?" Q3: "Why should we even look at you when you've got no recent experience?"
BTW - the job market is NOT "strong for programmers" unless your definition of "strong" == "willing to work even longer hours for a lot less than the person we used to have before we burned them out." Especially programmers > 50.
I really don't get this posts. I work with lots of software engineers in their 50's who are, quite literally, the hot shit pulling 6-figures (in particular in the enterprise web services area.) And I've known people from other fields (electrical and physics for instance) who decided to jump into software and got hired w/o problems (all over 50.). Yes, it is the internet when people can make shit up. I can only say that I'm not, and that what I'm saying is both real, and common (even as incidents of ageism have increased in the last decade or so).
Also, the willingness to work long hours has always been a given for anyone doing any type of engineering. It's not a recent phenomenon and young and old people before and now have been doing it always. It is funny and ridiculous when people say this to 50-year old professionals trying to get back into coding. What the hell do you people think these folks did in their coding years? 9-5'ers?
Comment removed based on user account deletion
I mean, logically, the odds that a perfect match is going to be real are high against.
So management should probably tell HR to toss the perfect matches first.
But, more to the point, why aren't tech companies training their HR people? A lot of the issues in this thread could be dealt with by having the HR participate in projects at some level and watch the employees and comparing their work to their resumes.
Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
I'd sooner hire an old timer who knows a little bit of a lot than a young pup who knows a lot about a little. An old codger who knows a thing or two about DBs and has written a share of applications for them would be my pick over a young gun who claims to be a "database administrator" or some such thing without some significant backing. I highly doubt someone could get to be a decent DBA (one whom I'd trust my enterprise-wide databases with, at least) before the age of 35-40.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
These days... I'm a 36 year old guy with 20 years C++ programming experience in senior level positions, and I started programming BASIC on a Commodore PET when I was 6 years old. What I have learned since which makes a huge difference between the guy who is an awesome C++ coder and the guy who is an awesome C++ coder with 10 years experience is how natural the structure of code develops itself when you're writing it. I am just about finished with a module I'm working on for a fairly complex protocol implementation which now weighs in at 50,000 lines of code (much of it comments and white space). Everything was "designed" and is there is extensive error checking and logging.
I won't say a young guy wouldn't have the skills to do this. What I will say however is that after 10 years, you'll have spent a great deal of time pissed about how other people write code. You'll eventually learn to fix instead of rewrite. And when you write new code, you'll set a standard for the other developers to live up to. I used to say that the way you could judge a new programmer best is to see how long it takes before he's been working on nearly a million lines of legacy code written by 50 people over 10 years and say "We need to rewrite this"... which almost certainly is true... but not practical. Then how bright he/she really is is measured based on how long the developer takes to recognize that the code can never be rewritten in whole... and instead finds a way to adapt where necessary and clean up what they can when they feel it's useful.
Sadly, I have been through many projects so far where we've spent ages and even massive numbers of hours trying to decided whether or not to switch to a string class. And then arguing over how to handle unicode. Some will say "There needs to be an 8-bit class and a 16-bit class, sub-classed from a common class", others will say "The string class should use a void * internally and store the string data as 8-bit unless there are unicode characters in it. At which time it should be 16-bit", then guys like me will say "I don't care how the class stores the data internally as long as it has calls to receive it as either unicode or Latin-1.". Of course, while everyone else is arguing, then I or another will simply sit down and write the class and say "Done... here it is... use it. If you want it done 'better' then fix it. But this is the interface".
There are billions of lines of code based on code written during times when systems were more limited. A developer with more experience will have been in the industry long enough that they will understand why certain choices were made the way they were and then, change what should be changed or understand why some things were done the way they were. I still intentionally code some things the old fashioned ways to make it perform better. There's really no reason that code designed to pack bits into a stream should be heavily object oriented. A flat design is nicer for that.
So... There is a benefit to programmers that are "A Bit Old School".
But... I will say this... the 27 year old guy who sits to the right of me... even though his coding style is not quite refined and sometimes he introduces structural complexity beyond reason to make sure "He uses the right pattern". He gets the job done as well. Sadly, documentation is an after thought for him, but there's no reason if he and I were to apply for the same job somewhere else that they should pay more for me than for him.
You may want to re-think the software engineer title and aim for a management slot. You have experience on dealing with people, knowledge transfer, defining requirements and other skills that are required to herd cats and contractors.
Being 50+ myself, I find that my company values my skills as a manager and an ability to get the job done. I'm wasting my time coding and usually if I want to get my hands dirty, I'll take on Information architecture role and vet code for standards, risks, and approach.
Manage software engineers....
been there, done that, got the T-shirt, burned it, going back home