Get an internship while you are in college. They are well paid these days. Just one recent entry on your resume doing dev work will set you free. Don't make a huge deal about your life story. If you get no interest then trim down your resume and remove dates. Someone will take you.
Don't know where OP is sailing from, but in my country, it's customary for students students to do a summer internship somewhere in the middle of their undergrad years. In most domains AFAIK internships are without compensation, but programming internships tend to be pretty well paid.
Do it in the summer or between terms. Or delay your graduation. If you think your degree program won't get you a job (or it will be tremendously harder) because you are older & you don't have recent work experience, then try taking 3 months out to get paid 80k as an intern, then coming back and finish your program.
I really feel that for devs coming from unusual backgrounds, you just need a positive recent work entry on your resume. That's all you need to break through.
The parent's confusion stems from the fact that the OP is a nearly-40-year-old man who did programming earlier in his life, quit for 16 years, and is now trying to get back into it. "Do an internship during college" isn't really actionable advice for this guy.
Sorry, I missed that important point, bad reading comprehension. I thought he said he was getting a degree and was a junior in college but I read it again and he didn't mention college. He's looking at "junior engineer" or beginning programmer jobs.
College internships aren't available, he's not a student. Still, he or she needs one recent dev job on his resume, that will unlock further job opportunities. I think going to recruiting events in person and talking to devs and recruiters in person is one way to make that personal connection that could put you over the hump. Go to an event related to your area of biggest interest, try to make a personal connection.
I didn't learn programming until I was in my 40s. I taught myself and went through one of the coding bootcamps. It took a while but I did eventually get a job.
Probably the three biggest takeaways I have from my own experience:
If the company is big enough to have an HR department, it is going to be hard to get hired as a non-standard applicant. Too many people would have to agree to take the risk, and HR is NOT about risk taking.
Some type of personal connection is extremely important. Meeting someone at a job fair/meetup/hackathon/whatever is going to get much better results than emailing a resume.
Recruiters are probably not going to be of much help. Companies do not want to pay recruiters commissions for jr devs.
The amount of spam I get from recruiters looking for junior devs would lead me to believe otherwise. And as a dev that used to work as a dev at a staffing agency, hiring managers often scrutinize the skills of juniors less than a senior or lead dev.
If non-traditional applicants go "through the front door" by applying/submitting their resume through the usual channels at a big corp, they'll get nowhere.
HR job-applicant pipelines are DESIGNED to screen out, ruthlessly, as many applicants as possible. Anyone who has even a mildly deviant career trajectory is not going to make it to a phone interview by "uploading" their resume.
HOWEVER, if such applicants can get their foot in the door by exercising their professional network or by carefully messaging and persuading the right people, they can get through to an interview.
I did the same thing. Spent 10 years as a c++ developer with no degree. Then got out for 10+ years as I was burned out and did a variety of non programming things. Eventually wanted to get into web development at 37. I had not even coded anything outside of VBA office macros for 10 years. Started learning and applying. It took 8 months to even land an interview, but I landed the job attached to that interview at 38. Took a job making not much money at all and kept it for 2 years. Traded up to another job with a 50% raise and now I'm a software team lead.
Its hard, but doable. Just make sure you are constantly practicing for when you get the interview. Build things to show off what you can do.
Yeah, you're right. By the numbers he gave it sounded like he could have been even younger than 17. It's always interesting to hear how very young people get into a programming job. I worked with a 15 year old intern who was probably the smartest person I've ever worked with, and we probably would've hired him at 16 if he was looking for a job.
lol strange, you are right, I actually started at 21. Worked til 30, got out for 7 years and then got back in. In my head I have always said 10 years. Weird I have been living a lie this whole time.
I started at 16 during a summer while still highschool as a SQL developer for a staffing agency, it was technically an internship according to the company handbook but I had real deadlines and the code I wrote ran in production until the owner retired and shut the company down about 1 year ago. That experience lead me to advise anyone that asks me how to learn to code to start with SQL. It's easier to go Excel -> SQL -> OOP than Excel -> OOP -> SQL. SQL is such a small language, great docs and a much smaller envelope of operational freedom that a general purpose language. Also teaching SQL first provides more career path options earlier in their careers, mainly because they could screw the OOP and pursue positions as a DBA, which made me feel better about firing or laying off people. Most enterprise projects involve databases anyway.
I regreted getting out in that I took a large paycut (50%) when I dropped out but I was able to start making it up quickly as I got promoted about 6 months in. (I only ended up making up about half of what I lost so for me software definitely has more $ potential) Depending on the field you get into, a lot of the technical skills you acquire are really just logical ways of problem solving. These skills can be applied to a variety of fields, making things that a majority of others may find challenging into relatively trivial challenges. Not because I was smarter than anyone else but just because developers are trained to approach problems in a specific way. I got into analytics, so if you jumped into sales or something like that your mileage may vary. I was also able to leverage my programming background to creating some automated vba scripts which carved hundreds of hours a year off of my teams workload. Simple scripts that any developer could do but only a developer would think to do. These scripts led to some nice pay bumps.
Nicest part was being able to leave work at the office, it hit 5 o'clock and I was gone. I got to enjoy personal and family time.
I worked for a very large company when I got out which I had not done before and I learned how political things can be. I also got to interact with non-technical co workers which was a nice change of pace.
I do regret the years lost from a software career perspective but when I got out I was fried so I may not have been that far ahead anyway if I stayed in.
I would probably do it again if I had to, it was good to see what else is out there. A career is a long time and I wanted to be sure.
"I was also able to leverage my programming background to creating some automated vba scripts which carved hundreds of hours a year off of my teams workload. Simple scripts that any developer could do but only a developer would think to do."
This is the sort of thing I enjoy. If you work as a regular programmer, you're usually walled off from the effects of your work, and you can spend months on a big project and then it all gets scrapped or becomes pointless for reasons outside of your control. And there are innumerable cogs between you and the customer/client. Your managers and PMs don't truly know what they want either. But helping someone that you interact with daily is tremendously more rewarding, regardless of how cool the technology is or isn't to the cognoscenti.
I had a friend and coworker who was in a similar situation, but not because of a career change. We worked on a piece of legacy software together. He was an incredible programmer, and five times the Java/Web developer as anyone else on the team, but because the legacy software was written primarily in C, and he was the "newest" member of the team, he was still the "Junior" dev. Even after being there for ten years. He was more or less consigned to that job title because Management freaked out at the idea that "they can't all be senior developers!"
That guy should have left, but he probably negotiated a salary commensurate with his true experience, with people who just love to code, I can imagine they would not care about the title, the real win is in the bank account. Call me a code janitor if you want as long as I get my 120k 4 weeks of vacation and my co workers are not total wads, I'd be fine.
I'd love to tell you that he did, but no: he was a Steve Wozniak type--incredibly talented but too laid back and passive to know how to fight for himself. He passed away about a year ago from brain cancer and I found out his actual salary from his wife (peanuts, basically). That combination of crappy job title and egregious underpay continued to hamper him when he looked for other work, because the assumption from prospective interviewers was, "You've worked there for 10 years and are still a JUNIOR dev? You must be terrible."
With the speed that frameworks and technologies change these days, I feel like we're all technically junior developers. Sure I have over 10 years of experience as a professional software developer, but I've only been coding in the latest flavor of .Net for the 2-4 years it's been around. Does anyone care about the five years of experience with Web Forms back before ASP.MVC was popular? Or my years of experience with 3rd-party tool X that no one uses anymore? What about Bootstrap or JQuery?
We all only have about two years of experience with whatever the hot new language is before it changes to something else.
Can I pay you as if you only actually have been typing code for the length of time you have been using the framework I am building my current project with? Do you not feel that after learning 10 different frameworks over 10 years that you can pick up new ones faster and become more proficient than a truly noob who has only been coding professionally for 2 years? The value in a senior dev is the experience they have in quickly learning new concepts and the speed at which they apply those.
Maybe senior/junior tied to any specific language doesn't make a lot of sense. Not like an electrician goes back to apprentice when a new type of breaker or romex type comes out. The foundations of the profession are in something more general than language.
This is how it feels to me as well. I’m using AWS now, having never used it previously, and when I mention WinForms and WPF to the younger guys I’m met with blank stares.
For me, I think an experienced developer brings more than just knowledge of frameworks to the game. They bring domain knowledge, transferable skills, they know how to model code, they know how do do things like separation of concerns.
They can write readable maintainable code. They can clearly communicate to the non-technical people to get the business requirements out, knowing how to cut to the chase.
They should also able to help other developers get up to speed and pick up (the gist at least) of new frameworks and understand the abstractions they use.
I regularly work with developers like this and it's thoroughly enjoyable.
That isn't really how anyone worth impressing judges work experience.
Those kind of resumes where you have like 18 years of work experience in 9 different language, but you were essentially not much more than a junior dev in any one of them, are very unimpressive.
That is the typical career story and that's why a lot of people struggle to find dev jobs when they get older because they weren't managing their career and were just riding the technology churn with all the other 23 year olds.
You should think of your career progression as every couple of years you are making a jump up to either more responsibility, or a more difficult domain, or working on systems with more load etc ...
If you don't make these forward progressions you will be judged harshly as an older person, because it's very difficult for people to NOT think, "well why didn't this person make any progress in their career? They must suck."
The technologies used is a side detail, it's never the "meat" of your work experience.
You make it sound trivial but the fact is that you're hired to do a job. Most likely if you don't go find another job every 2 years then you will not be progressing because many companies will not give you more responsibility or more difficult things to do. And then if you jump ship every two years they judge you for not sticking around and you will be docked for that. In the end I have seen plenty of companies hire older workers as just developers. If you want something higher then you have to be an expert in a domain... this again limits the number of jobs available to you.
> companies will not give you more responsibility or more difficult things to do
i find this is true only in large corporate enterprises. or a lack of initiative on the employee themself. you won't find this in startups / younger / tech focused companies
> If you want something higher then you have to be an expert in a domain
yes generally if you want higher responsibility you need to be able to execute on those responsibilities...
I think you're misinterpreting what he means. Every couple years you should be just evaluating whether you're taking on more responsibilities or you're working on genuinely more difficult/complex problems. If you're not, you need to show aptitude at your current company so you get placed to do it, or if it's the case that the company is the issue and not you, then you should consider moving on.
If there is a path of progression for you in terms of responsibility and difficulty of work, then by all means stay at a company for several years.
Within this framework it doesn't mean you'll necessarily be moving companies every 2 years.
Honestly the best part of working in the tech industry trends change so quickly that everyone is jr unless you "keep up." If you are motivated to "keep up", whether you're 40 or 20, you'll find work.
I've worked for the federal government last 10 years as a Systems Engineer on mostly software projects. My first degree is in aerospace and mechanical engineering. I've grown super tired of the slow bureaucracy and the fact that I never get to actually create or design anything beyond requirements.
I'm halfway through the 2 years it will take me to get a bachelors in CS from my original University. Im still working full time and thus I won't have any industry internships when I finish. I'll be 33 then.
Is this going to severely limit my opportunties for a first development job? Should I play down my previous experience to reduce the middle aged junior problem? Any advice will be appreciated.
I'm in a similar situation. My first degree was in Finance and I'm currently getting a second degree in CS.
I'll be finishing my degree this fall and will be 31. I work in Finance now in a sort of 'tech-adjacent' systems analyst and business intelligence position.
If I remember, I'll follow up this post in a few months with how my job search is going. I'll begin searching around June in the Philadelphia area.
I had a few interviews last year and have gone to one or two tech meet-ups, and I'm reasonably optimistic that my age won't be much of a deterrent. Most people I've spoken with like the diversity of my background and the obvious passion I have for CS. In a sense, going back to school while working full time is an "actions speak louder than words" situation. It takes a lot of effort to get through a second degree while working full-time, and I think that speaks for itself in terms of work ethic and interest in the topic (though it doesn't hurt to highlight as well).
That being said, I still have the nagging fear of ageism affecting my job prospects. I think my work experience will lend itself well, but I'm going about this without ego. I know I'm trying to break into a field competing with many other people, so it's probably going to be a numbers game in terms of applying. I'm also a little concerned about the Philadelphia tech scene as it's not as robust as one would expect for a city this size.
I know this isn't advice, as I can't offer much, but I can commiserate in having similar feelings and concerns. My guess is that your background will ultimately assist your search (though obviously not everywhere). The one piece of advice I can offer is to start applying early, if only to get interviewing experience and knock off the rust. You said you've been in your current role for 10 years -- has it also been 10 years since you've had a proper job interview?
If you want to chat further or even just bounce ideas around, I'm happy to chat further. What city are you based out of?
I'm in Orlando (also a pretty meager tech scene) but I'm pretty willing to move for the right opportunity. And yes its been that long for a job interview too.
You would think that it would be more of a plus than a negative, but the stories of ageism are pretty frequent. We may not be experienced devs, but we are experienced workers. We know how to work in professional teams and deliver to deadlines. And as you said, going to school and working full time is not trivial.
Applying early and often is definitely good advice. I'm on r/cscareerquestions a lot, but it tends to be very new traditional new grad focused. We need a community for potential and current middle aged juniors!
I was in civil service for the DoD including time as a system engineer for NAVAIR at Pax River from 2012-2017. I had an undergrad degree in MechEng and finished an MSCS in 2016 at age 33. In 2017 I moved to SV and last week I started a new job as an ML engineer at a FAANG company. I don’t know if a second BS is better/worse than MS, but it is definitely possible to switch.
So far, I feel conspicuously older than most folks in my group, and I’ve effectively rebooted my career so I don’t have the same seniority and professional network I had in civil service. I worked around the middle-aged junior problem by taking small contract remote work at below my normal pay rate to bank some experience. I’m still comparatively inexperienced (and the offers I get reflect that), but I’m not being paid like a new grad or anything, so I feel like I have time to work up.
Wow. Thats a pretty parallel path. Thanks for replying. I thought about doing an MS but didn't feel qualified since I hadn't covered much in undergrad and it was so long ago. I've thought about switching now that I've taken a significant amount of the CS core curriculum, but it would add an additional year at least to this whole process.
How did you go about getting the contract work? A service like upwork or similar?
I took a side-gig as a TA in grad school and eventually that led to networking that connected me to some small-scale remote work opportunities. I’d be willing to try something like upwork these days though.
Prior experience is good. I mainly care about internships because I don't want to deal with a recent college grad who has no concept of the world beyond the classroom. Prior experience serves the same purpose.
If you're looking for a job at a FANG company or similar, start preparing for job interviews by practicing algorithm and data structures interview questions. Solve problems with a pen and paper, or better yet, at a whiteboard. Practice walking through your solutions out loud. It's all a bit silly, but if you can do this well, you'll find a job in today's market.
Can relate to the article. Since 2003 or so I have been homeschooling my kids, very intentionally developing my spiritual path, taking on occasional web dev and database projects, and being the stay at home dad.
Up to that point, I had been in healthcare analytics doing everything from custom ETL, database design, to ad-hoc reports. Writing code and solving problems related to data was one of my favorite things.
Well the kids grew up and my engineering brain stayed active. Except, between age and the various non-traditional choices I had made in life my self-confidence was shot regarding employment.
Six weeks ago I accepted an offer for a data and business analyst position in healthcare at age 52. The pay is modest, the people are great, and I feel in many ways like I am starting all over. It is easy to regret lost time and opportunity. I sure have at times. Really I traded one opportunity set for another.
Now I see I am well suited for a new kind of role which uses my technical and non-technical strengths. In fact I was told being able to bridge technical and non-technical areas of the organization was a primary reason to offer me the position. I still get to write small bits of software to automate processes my new employer didn't realize could be automated. My favorite type of software to write.
Ironically, I have more fields in and out of tech I want to explore than I did 20 years ago. Yet, my life is over halfway to the finish line!
55 comments
[ 1.9 ms ] story [ 175 ms ] thread??
I really feel that for devs coming from unusual backgrounds, you just need a positive recent work entry on your resume. That's all you need to break through.
College internships aren't available, he's not a student. Still, he or she needs one recent dev job on his resume, that will unlock further job opportunities. I think going to recruiting events in person and talking to devs and recruiters in person is one way to make that personal connection that could put you over the hump. Go to an event related to your area of biggest interest, try to make a personal connection.
Probably the three biggest takeaways I have from my own experience:
If the company is big enough to have an HR department, it is going to be hard to get hired as a non-standard applicant. Too many people would have to agree to take the risk, and HR is NOT about risk taking.
Some type of personal connection is extremely important. Meeting someone at a job fair/meetup/hackathon/whatever is going to get much better results than emailing a resume.
Recruiters are probably not going to be of much help. Companies do not want to pay recruiters commissions for jr devs.
If non-traditional applicants go "through the front door" by applying/submitting their resume through the usual channels at a big corp, they'll get nowhere.
HR job-applicant pipelines are DESIGNED to screen out, ruthlessly, as many applicants as possible. Anyone who has even a mildly deviant career trajectory is not going to make it to a phone interview by "uploading" their resume.
HOWEVER, if such applicants can get their foot in the door by exercising their professional network or by carefully messaging and persuading the right people, they can get through to an interview.
Its hard, but doable. Just make sure you are constantly practicing for when you get the interview. Build things to show off what you can do.
Looking back, would you advise to stay in, or experience other lifestyles instead?
Nicest part was being able to leave work at the office, it hit 5 o'clock and I was gone. I got to enjoy personal and family time.
I worked for a very large company when I got out which I had not done before and I learned how political things can be. I also got to interact with non-technical co workers which was a nice change of pace.
I do regret the years lost from a software career perspective but when I got out I was fried so I may not have been that far ahead anyway if I stayed in.
I would probably do it again if I had to, it was good to see what else is out there. A career is a long time and I wanted to be sure.
This is the sort of thing I enjoy. If you work as a regular programmer, you're usually walled off from the effects of your work, and you can spend months on a big project and then it all gets scrapped or becomes pointless for reasons outside of your control. And there are innumerable cogs between you and the customer/client. Your managers and PMs don't truly know what they want either. But helping someone that you interact with daily is tremendously more rewarding, regardless of how cool the technology is or isn't to the cognoscenti.
We all only have about two years of experience with whatever the hot new language is before it changes to something else.
They can write readable maintainable code. They can clearly communicate to the non-technical people to get the business requirements out, knowing how to cut to the chase.
They should also able to help other developers get up to speed and pick up (the gist at least) of new frameworks and understand the abstractions they use.
I regularly work with developers like this and it's thoroughly enjoyable.
Those kind of resumes where you have like 18 years of work experience in 9 different language, but you were essentially not much more than a junior dev in any one of them, are very unimpressive.
That is the typical career story and that's why a lot of people struggle to find dev jobs when they get older because they weren't managing their career and were just riding the technology churn with all the other 23 year olds.
You should think of your career progression as every couple of years you are making a jump up to either more responsibility, or a more difficult domain, or working on systems with more load etc ...
If you don't make these forward progressions you will be judged harshly as an older person, because it's very difficult for people to NOT think, "well why didn't this person make any progress in their career? They must suck."
The technologies used is a side detail, it's never the "meat" of your work experience.
this actually isn't bad advice
> companies will not give you more responsibility or more difficult things to do
i find this is true only in large corporate enterprises. or a lack of initiative on the employee themself. you won't find this in startups / younger / tech focused companies
> If you want something higher then you have to be an expert in a domain
yes generally if you want higher responsibility you need to be able to execute on those responsibilities...
You don't get responsibility. You take responsibility.
Of course this is harder in large companies, but it's equally important.
Underrated advice, right here. It's not always easy or gratifying, but it's served me well over the past 20 years.
If there is a path of progression for you in terms of responsibility and difficulty of work, then by all means stay at a company for several years.
Within this framework it doesn't mean you'll necessarily be moving companies every 2 years.
It is slowly changing in our world but very very slowly ... Javascript is actually being mentioned at conferences now.
I'm halfway through the 2 years it will take me to get a bachelors in CS from my original University. Im still working full time and thus I won't have any industry internships when I finish. I'll be 33 then.
Is this going to severely limit my opportunties for a first development job? Should I play down my previous experience to reduce the middle aged junior problem? Any advice will be appreciated.
I'll be finishing my degree this fall and will be 31. I work in Finance now in a sort of 'tech-adjacent' systems analyst and business intelligence position.
If I remember, I'll follow up this post in a few months with how my job search is going. I'll begin searching around June in the Philadelphia area.
I had a few interviews last year and have gone to one or two tech meet-ups, and I'm reasonably optimistic that my age won't be much of a deterrent. Most people I've spoken with like the diversity of my background and the obvious passion I have for CS. In a sense, going back to school while working full time is an "actions speak louder than words" situation. It takes a lot of effort to get through a second degree while working full-time, and I think that speaks for itself in terms of work ethic and interest in the topic (though it doesn't hurt to highlight as well).
That being said, I still have the nagging fear of ageism affecting my job prospects. I think my work experience will lend itself well, but I'm going about this without ego. I know I'm trying to break into a field competing with many other people, so it's probably going to be a numbers game in terms of applying. I'm also a little concerned about the Philadelphia tech scene as it's not as robust as one would expect for a city this size.
I know this isn't advice, as I can't offer much, but I can commiserate in having similar feelings and concerns. My guess is that your background will ultimately assist your search (though obviously not everywhere). The one piece of advice I can offer is to start applying early, if only to get interviewing experience and knock off the rust. You said you've been in your current role for 10 years -- has it also been 10 years since you've had a proper job interview?
If you want to chat further or even just bounce ideas around, I'm happy to chat further. What city are you based out of?
You would think that it would be more of a plus than a negative, but the stories of ageism are pretty frequent. We may not be experienced devs, but we are experienced workers. We know how to work in professional teams and deliver to deadlines. And as you said, going to school and working full time is not trivial.
Applying early and often is definitely good advice. I'm on r/cscareerquestions a lot, but it tends to be very new traditional new grad focused. We need a community for potential and current middle aged juniors!
So far, I feel conspicuously older than most folks in my group, and I’ve effectively rebooted my career so I don’t have the same seniority and professional network I had in civil service. I worked around the middle-aged junior problem by taking small contract remote work at below my normal pay rate to bank some experience. I’m still comparatively inexperienced (and the offers I get reflect that), but I’m not being paid like a new grad or anything, so I feel like I have time to work up.
How did you go about getting the contract work? A service like upwork or similar?
If you're looking for a job at a FANG company or similar, start preparing for job interviews by practicing algorithm and data structures interview questions. Solve problems with a pen and paper, or better yet, at a whiteboard. Practice walking through your solutions out loud. It's all a bit silly, but if you can do this well, you'll find a job in today's market.
Up to that point, I had been in healthcare analytics doing everything from custom ETL, database design, to ad-hoc reports. Writing code and solving problems related to data was one of my favorite things.
Well the kids grew up and my engineering brain stayed active. Except, between age and the various non-traditional choices I had made in life my self-confidence was shot regarding employment.
Six weeks ago I accepted an offer for a data and business analyst position in healthcare at age 52. The pay is modest, the people are great, and I feel in many ways like I am starting all over. It is easy to regret lost time and opportunity. I sure have at times. Really I traded one opportunity set for another.
Now I see I am well suited for a new kind of role which uses my technical and non-technical strengths. In fact I was told being able to bridge technical and non-technical areas of the organization was a primary reason to offer me the position. I still get to write small bits of software to automate processes my new employer didn't realize could be automated. My favorite type of software to write.
Ironically, I have more fields in and out of tech I want to explore than I did 20 years ago. Yet, my life is over halfway to the finish line!