Transitioning at a late age into software development--possible? Plausible?

A friend of mine posted a job description on facebook he’d been asked to interview for. I quote it below:

He and several other of my friends have jobs with descriptions that look like this.

I WANT TO HAVE HAD THIS KIND OF JOB TOO.

But it’s too late for me to have had this kind of job. Early on I went the English/Philosophy route when I could just as well have gone down the software development route.

I have a serious case of alternative-reality-envy. The kind of stuff referred to in the job description is what I should have learned to do, and is what I should be doing now.

My current job is very insecure, and I NEED to be working on a transition into a different career. If I could just pick anything I wanted, that wasn’t a pure fantasy dream job relying on chance as much as talent (like “famous novelist,” things like that) it’d be something in software development.

I was good at it as a kid (for a kid) and five years ago I taught myself the rudiments of Python for a personal project. So while that doesn’t prove anything, it at least shows it’s not completely ludicrous to think I could learn some of this stuff even at the late age of 35.

So you tell me. If I am thinking “hey I may have no job any day now and will be unhireable in my current field, and I need to be ready to transition into something else,” and I am a father of four in a family with a single income (probably forever AFAICT :frowning: )

  1. What questions do I need to be asking myself in order to determine whether transitioning into software development is adviseable and possible?

  2. If it is adviseable and possible, how do I do it?

(Probably relevant info: My current work is as a philosophy professor. In this job, I do not do anything that has anything to do remotely with software development. I mean, I may have occasion soon to teach myself Visual Basic for excel macros, which would kind of count maybe. I do have experience in this job with work plausibly translated as training, project management, and standards compliance. So probably I should be looking into those keywords. But software development is much more in line with my true “first love” when it comes to working-for-money, so if that’s at all possible, that’s what I want to think about going for. Training, project management and standards compliance all would come in handy later on in such a career track anyway.)

Thank you for reading this embarassing, pitiful and far too self-disclosive post.

I’m not sure, because I’m in a similar boat (wanting to learn software). But from what I can tell, this is the field where you can do it. Unlike law, engineering, medicine, etc., there are no real hard qualifications except to be good at programming. People seem to routinely get programming jobs with no college, and just well-stocked github account.

I went back to school for a programming degree at almost exactly the same age (and from the same English major background). Graduated with honors, so age certainly wasn’t a barrier to acquiring the skills - you don’t have to be worried on that count.

Been a year since I graduated, and still unemployed, though. I still think I made the right choice - before I went back to school, I was working in software QA, and while I didn’t want to go back to that, if I do, I have a bunch of skills now that make me a much more valuable employee. But also a bunch of student debt. The job market’s still pretty tough, and there’s a lot of people out there your age, but with more experience competing for the same jobs.

So, my advice is don’t do it, at least until I get hired. Because I don’t need the competition. :stuck_out_tongue:

I was an aircraft mechanic for about 24 years. While doing that I taught myself a little about databases so that I could track parts and repairs.

At 42 years old I became a database administrator. 18 years since I’ve moved on to bigger and better databases plus taught databases at a local community college for 16 years.

So it can be done.

However I made the transition in 1997 which was when the economy was booming; computers were really coming into their own; the Y2K scare had companies hiring anyone who knew where the keys on a keyboard were and what some of them can do. Today things are somewhat different.

We, basically, philosophy teaches you logic, and basically programing is logic, just rolled up into products.

Ideas. That is what is the limiting factor for software development. Anyone, and I mean this ANYONE can be taught how to program, it is not all that hard. The limiting factor is how much time do you have and is your idea for a program unique? Once you get into hardcore programming most people have no idea how much time it takes to get it right. So learn programming, have patience, and be original.

This is excellent advice. Find some projects on github and learn how to contribute to them. Even if it’s just fixing trivial bugs or spelling mistakes in the documentation. The best way to learn programming is by doing.

FWIW, I’m a guy with no degree and I got my current job in software (for an open-source company) largely on the strength of my open-source contributions.

I switched into software from environmental consulting 16 years ago. I found opportunities to “write code” where I could - Office macros in VBA to automate tasks at my company, databases for monitoring programs, stuff like that. I attended a class on C and OOD at a local community college for a semester and spent evenings teaching myself Java. I wrote sample Java applets and posted them along with the source code on my website. Despite all that, it still took a little while to find a company willing to take a risk on someone with no real experience and no formal education in it (and this was during the boom times). But it did happen, you just have to stay on it and create your own opportunities for showing off what you can do.

I recently hired a guy over 40 who had an unrelated career for almost 20 years, then went back to school for a year to study computer science. He had to be OK with starting back at the bottom (but bottom salary for programmers is still OK).

So yes, it can be done. And there’s a big demand for programmers. But it won’t be easy - the jobs won’t fall in your lap, and you’ll have to spend a lot of time learning this stuff and finding ways to demonstrate to others that you know it. Good luck.

Actually, that posting sounds like what I’d call a mid/high level sysadmin, not a software developer (though the two disciplines are converging). At the ripe old age of 35, I manage a team of these guys, and it’s not all that it’s cracked up to be. It’s incredibly thankless work, albeit well paid. Some days, I find myself wishing I’d stuck with my original plan to get an MLS and work at the public library for the rest of my life.

Anyway, 35 is by no means too young to get started on this stuff. Almost all of the tools mentioned in the posting are free to download for individuals, which means you can start playing around with them in your free time this weekend. The trick to actually figuring out whether you have the talent or desire to work in IT for a living is to teach yourself how to use the tools to solve problems. Invent a technology “business problem” - think dumb but cool stuff, like, “I’d really like to build a music streaming server that can play a different channel in every room of the house” or “How do I spin up new Bitcoin mining machine when the price rises above a certain point” - and then figure out how to apply the tools you have at your disposal to solve it.

Virtually everybody on my team was self taught in this way. Frankly, your formal liberal arts background is a bigger asset than you think - pure autodidacts, at least in IT, tend to have very, very narrow sets of skills. I’m pretty convinced that my BA in History is responsible for most of my advancement in the field - being able to string a halfway coherent sentence together beats being the world’s best hands-on technologist any day of the week.

Or, you and I could just trade jobs for a couple of weeks. How many times in the past month have you been at work at 11PM on a Friday night?

I fully agree with this statement. The problem is, the liberal arts background will help you in your eventual job, but it’s not going to help you get your resume noticed. Most postings state “B.A. in Computer Science or related field”, and some include “or years relevant experience.” You’re going to have to go the extra mile to get noticed.

Also in line with what black rabbit said, that specific job posting sounds more like DevOps. I assume you just used it as an example and not necessarily the exact kind of job you want. Be sure to do some research on the different kinds of IT jobs so you know what to ramp up on. Given your experience, you might have the best luck continuing with scripting languages like Python or Ruby.

And finally, I should have noted originally that 35 is far from too old. Maybe I’d question the wisdom of a switch at 55 or 60, but good grief. You make us true oldsters feel really old with stuff like that.

I’m not sure this will help much, but there is a need and a supply that are having trouble meeting.
I’m a technical lead for a company that employs nearly all contractors for coding. Some jobs we just need coders, people who can take a sheet of requirements and turn out corresponding code.We have a lot of those and it mostly works out

What we can’t find enough of is developers with an a full range of skills. Understanding the business, analyzing the technical reality in relation to it, and proposing a nuts and bolts level solution to solve the problem. Analysts don’t get low level enough and the kids who apply as programmers just glaze their eyes when you say “there are no requirements yet,You have to dig into the issue, understand it, and do appropriate prototyping to get to a solution”. When we find them, they are usually hired on as employees, because they are too valuable to let get away.

Me and my bosses and directors have seriously spoken about the fact that it would a better long term plan to take someone with critical analysis skills, (who are usually older)and let them learn the language(which is easy) and the algorithms and design structures(harder) they need.

Unfortunately no one at the beancounter table would let us put someone on the payroll for that severe of a learning curve.

As I said, I have no specific solutions, but in most shops, critical thinking is in much shorter supply than specific technical experience, we just don’t know how to get it.

I, too, have a degree in English, (history minor) and a NJ teaching certificate. After teaching 5 years and being a SAHM for about 8, I was unable to find a teaching job. I started out doing data entry to help make ends meet, and within a year transitioned into computer operations and programming. When I went to the local community college to start earning my Associates degree in information technology, I was slightly over 35 years old. I worked my way up to being a systems analyst and software team leader through three different companies. So – I am living proof that it can be done.

In my opinion, English is a fantastic preparation for programming. What’s most needed is logical thinking. I am not particularly good at arithmetic and have minimal background in higher mathematics. I took a pre-calculus class once and found it extremely difficult. I did OK in statistics in college, though. If you have the ability to create a properly structured essay, follow the arcane rules of English grammar and spelling, you can learn to create a computer program.

THIIIIIIISSSSSS!

This this this.

I swear. To. God. I can learn the nuts and bolts stuff I need to learn as I go. What I totally can do that not everyone can is exactly what I bolded from your quote–understand the issue, know what counts as a solution, understand how to “prototype” it if I understand what you mean correctly, and importantly, communicate both upwards and downwards about this. I know I can totally do this! The actual topic is almost irrelevant. I just have these generalized skills in thinking about hard stuff. I just don’t know how to prove it.

I’m trying to find ways to put myself into relevant situations at my current job. But tasks with the appropriate level of complexity are hard to find. There’s actually some directly software related stuff I could work on, but the people involved with that are pretty fiercely protective of these things for various reasons. I am chairing committees tasked to do things like develop new degree programs, and develop (and ensure execution of) what are called “assessment plans” meaning bottom-driven plans at the department level to document what the department is teaching and how well it’s doing at that and what it’s doing to get better. This involves coordinating a lot of moving parts and getting people to hit deadlines and stuff, but this is more project management than the kind of thing I bolded in your post. But right now it’s the best I can figure.

I have this reputation at work of being this “ombudsman,” a guy you can throw at a problem and who will have productive insights about it. But the problems I get thrown at have more to do with management type issues (designing policies, plans, procedures and helping people understand them) than engineering type issues.

Well I’m blathering, sorry. To be honest I am kind of in a panic. This isn’t me just idly dreaming–as I said, my feeling is that I am in a very unstable position right now, such that it is an absolute necessity that I have some new “career track” to jump into ASAP.

Just chiming in to agree that 35 is not too old to start. I like the advice above of finding some open source areas to play with. You need to start somewhere. Either take some formal classes, or follow some web resources. Then download one of the open source items, and start playing. Make a change, even if it’s to deliberately cause a failure. (Obviously, you don’t return that change to the open source community.)

But let me repeat what I’ve mentioned to some others…programming is a huge field. The parts you mentioned are a tiny part. You don’t (and almost certainly won’t) do large portions. But it’s worth finding out what parts you really enjoy, so you can focus there.

Think of an app you can write. It doesn’t have to be anything useful or exciting. I interviewed a guy who wrote a Minesweeper clone. When I was learning, I wrote one where spiders ran away from the cursor and you had to click on them squish them. Write one that syncs tasks in Outlook with your Google calendar. The point is to get something you can talk intelligently about. Explain why you made the design decisions you did, show your coding style, describe how you tested it, and basically show that you understand programming.

It’s obviously best if you can write something for someone else so you can also demonstrate analysis and requirements gathering and have someone as a reference. But if that opportunity isn’t there, you have to create your own.

My husband made the switch you describe. In fact, he went all the way to a PhD…

Step 1 - identify the languages you want to get proficient at and learn them. This will likely mean night school or weekend classes. You mentioned, I believe, Java, Python, Perl, MySQL and Linux shell scripting. Prioritize them, and pick them off.
Step 2 - Once you’ve gotten more proficient in your new chosen skillset, consider interning with local companies. Many of them will actually pay you, the schools where you have been taking classes will help you find the positions, and this will help you make the transition over from one type of paying profession to another. Of course, I am not certain where you are based… I say this based in the Bay Area. My husband went to both community college and state university to cover off on his course work. The company where he interned ended up hiring him, so it worked out well. Even before converting to a full time hire though, they paid him him a very decent rate in the internship period, and certainly didn’t expect him to have oodles of experiences coming into it. That was the point.

This was hard on the home life for a few years, but it worked out in the end. Good luck!

And actually, I’ll just add - 35 isn’t late. Just start. You never finish if you don’t start.