Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Advice for an aging software developer?
22 points by throwaway790 on Dec 28, 2018 | hide | past | favorite | 30 comments
I am pushing 40 this year. I've been a PHP dev for the past few years - it is neither challenging nor interesting. For a bunch of reasons, changing jobs isn't that easy at the moment.

I am worn out, tired and depressed. While I still love learning and still love coding, I am not good enough to compete with younger, hipper crowd and I am not FAANG material.

I'd be happy if I can make 4-5k USD after taxes, if I can work less than 30 hours a week, on my own schedule and stress free.

Given this background, any advice on what avenues to pursue? What to learn?

I am a decent writer, very good product designer, average coder - if this helps in you giving me recommendations



I turned 58 this year, 40 years programming. I work as a freelance consultant supporting legacy systems and doing infrastructure support (system admin) and programming for smaller companies that can’t afford or attract/hire staff. As far as I can tell that’s a huge unserved market — I turn work away now.

Don’t try to compete in the young developers world of startups or sexy Silicon Valley tech companies. Almost every company depends on software and web sites, and a lot of them can’t even get resumes for their job postings, much less a qualified person who might hang around long enough to learn the business and add value.

Rates for this kind of work vary, I charge $100 - $200/hr depending on the kind of work, giving a break to non-profits.

To work on legacy systems you need the skills to jump into a system; find, diagnose, and fix problems; enhance a legacy codebase when rewriting is off the table (because of budget, risk, training/conversion hassle). Most of what I do is PHP + MySQL, but I used to work mainly with C++ and Java.


Same here, I'm 44 now and my last job was a DevOps role for a big corporation in big city. Now I'm living in small town and I work for very small software house as a full stack developer and general IT guy (we have many different projects). My salary went down but my living standard goes up and I feel much better in general. My work is more excited and my private life improved as well.

As a backup I have an idea to try remote work, because I don't want to leave my current town. But now, I don't need it and I'm not searching a new job.


This gives me hope!

programming for smaller companies that can’t afford or attract/hire staff

Could you talk a bit about how you got your first client? What does your typical project look like?


I work through an agency now, so my typical client is a small or medium-size business that can’t hire or doesn’t need a full-time programmer or system admin. Usually they’ve been burned by outsourcing and gig sites and want someone who will take the time to understand their business, not just a coder who requires detailed specs and then beats them up with change orders.

I got my first freelancing gig more than ten years ago, while working f/t at an educational software company that was slowly going under. A friend I had worked with put me in touch with a friend of hers who had a successful web design/marketing agency, and he had clients who needed programming work (back end) that he couldn’t do. He started sending me work and then referred me to other design/marketing firms who needed the same kind of thing. If I was starting out today knowing what I know I would approach design/marketing agencies because they find the customers and frequently outsource anything beyond HTML/CSS or installing a Wordpress theme. Before long I connected with a company with a successful web-based business who had lost their developers (an outside firm that broke up and quit the client with short notice). I took that over. About the same time I gave a talk at a PHP user group about working with legacy code and got a job at the end when a guy who ran a non-profit approached me, telling me how his developer had quit and he had a long list of bugs and enhancements. I still work for both of those companies.

To get clients you need to tell everyone you know that you’re available, not get too fussy about what kind of work you do, focus on business requirements and needs rather than technology. Most important: listen to and communicate with your clients. The number one complaint I hear from my clients is that their last developer stopped returning calls and emails. Don’t pigeonhole yourself, recognize that languages and frameworks and tools are more alike than not, take on work that will push you a little. In the last couple of years I’ve gone from knowing nothing about AWS to managing cloud infrastructure for several companies, with some help from a friend who has a Linux/cloud security consulting practice.

My background is in enterprise logistics and business (accounting, payroll, AR/AP, etc.), so heavy on relational databases. I have worked in non-software businesses long enough to know the difference between a business problem or requirement and a technical problem. I don’t care much about languages or shiny new things, because my clients usually don’t. They want to fix bugs, reduce costs, increase revenue, scale their business. No business ever had the requirement “We need 2,000 more lines of Javascript code by next month” or “Let’s rewrite our web app with React because it’s cool.”


This is very helpful, thank you for taking the time to write a detailed answer.

If I was starting out today knowing what I know I would approach design/marketing agencies

This sounds very logical. I was thinking about this, but for data analysis work. I used to work for a healthcare software firm and I know there is a lot of data analysis work in healthcare - this is probably true in other industries too.

I just need to find the right approach.


I echo what @Rjevski said about consulting. His suggestion might be better than mine, but another option is to do Wordpress sites. As a PHP dev I imagine you can make some killer Wordpress sites pretty quickly. That's what most people and small businesses need.

Have you considered getting into the product side? Get some Scrum or Agile cert(s) and make the change. I work for ITPro.TV, we have a lot of content on the subject, for instance https://app.itpro.tv/course-library/agile-foundation/overvie....


but another option is to do Wordpress sites

I am not sure I want to get into wordpress/drupal etc, unless I am left no other choice. I am looking into doing data analysis type of work, as I am better at it than fighting with CSS :)

Have you considered getting into the product side?

Yes, this is one thing I can confidently say I am good at. My own product manager asks me for advice all the time. I am just not sure how to transition


> Yes, this is one thing I can confidently say I am good at. My own product manager asks me for advice all the time. I am just not sure how to transition

Could you ask your product manager for advice, or would that raise red flags?

You feel very stuck right now, I can tell because as a developer you're always learning. And you can learn how to make the transition into product manager. You can absolutely figure this out! :) You will have a job in 6 months (maybe sooner) on the product side as soon as you go for it.

In fact, there is a very active discussion on hacker news right now about this, https://news.ycombinator.com/item?id=18823616


HTML/CSS front-end work, and design/graphics, is easier to outsource than back-end programming and database work. I don’t do design or elaborate front-end work myself because I can hire people to do it at one-fourth my rate.


Meh. Wouldn’t recommend Shitpress.

This niche itself doesn’t pay too well because prices are pushed down by so-called “developers” from third-world countries (they are bad, but clients don’t know any better and still end up going with them).

The product itself is crap, code quality is bad (PHP can be done right with good practices and modern frameworks like Laravel, but Wordpress is the total opposite of all that by design).

A Wordpress client ends up being a nightmare. Maintenance and support nightmare for you, not a good experience for the client because it always breaks and requires constant maintenance, etc.

Also a lot of Wordpress projects involve dealing with bad code from previous developers. I’m not saying that to shit on the previous developer - it’s just that shitty code is normal, accepted and expected in the Wordpress world, but is definitely not enjoyable to work with and will make you miserable.

Finally PHP clients are often bad. I recently turned down a client after arguing back and forth how upgrading their crappy Joomla site with 20+ plugins (most of which will need to be updated manually because the original developer is not around) and developing a custom theme from scratch will not take one days worth of work.

So I would recommend staying away from CMS projects completely. If a client needs a CMS just get them on a hosted solution like Squarespace so you don’t have to maintain the crappy CMS down the line.


Not my experience. Lots of marketing departments and agencies use WordPress. They have huge budgets with discretionary spending authority, unlike IT departments. Who cares if WordPress isn’t a “modern framework” or uses PHP? It pays the same as any other programming as long as you don’t scrape the bottom of the barrel putting up mom & pop sites or submitting bids on Upwork.

I have Fortune 1000 clients running multiple WP sites put together by agencies that have no back-end integration or database skills in house, they outsource that. Pay is very good, same as any other back-end programming.


> Who cares if WordPress isn’t a “modern framework”

Developer experience? I'd rather spend my way working with Laravel than crap old PHP code written like it's in the 90's.

> It pays the same as any other programming as long as you don’t scrape the bottom of the barrel putting up mom & pop sites

It's good that you manage to find good clients but this wasn't my experience. A lot of WP projects go to the lowest bidder which just doesn't happen with the technologies I work with and recommend.

So if you already make good money on WP then go ahead by any means, but I personally wouldn't recommend getting into it if you're starting out.


I have a little developer experience. Some old code is crap. Some new code is crap. Frameworks can help or make a bigger mess. In the context of solving business problems it makes little difference. Clients don’t care.

I didn’t get the impression the original poster was just starting out. Low-end Wordpress work is competitive and not well-paid, like all low-end work. Competition is always most fierce at the low end of any talent market. Plenty of complex, challenging, and good paying Wordpress projects out there.


> I have a little developer experience.

By "developer experience" I meant the equivalent of "user experience", ie whether the codebase is enjoyable to work with.

> I didn’t get the impression the original poster was just starting out

IMO it would still require them to get familiar with Wordpress before being able to get the good jobs, which means he's going to be stuck with crap gigs for some time while he builds references.


I get your point about good code vs. bad code, but in my experience that doesn’t have much to do with legacy vs. modern frameworks. It has to do with the skills and aesthetics of the original developer. I work on framework-based code (Laravel, etc.) that I don’t find very enjoyable, and I work on procedural PHP from ten years ago that I find easy to work on.

Programmers who focus on their own enjoyment or priorities like working with the most recent tools and frameworks will turn up their nose at less appealing legacy work, and that’s why there’s so many companies unable to hire people to work on their business systems and web sites. To some developers an older code base is just a turd, to others it’s an opportunity. After working with a legacy system for a while and incrementally refactoring it, if my client decides to rewrite it they will talk to me rather than sending out RFPs. I have two ground-up rewrites in progress right now that started as legacy support work. Those clients didn’t write RFPs or ask anyone else to bid on the work.

I agree that learning Wordpress, or anything, takes time. Wordpress certainly has some bad design decisions (mainly caused by maintaining compatibility with a huge installed base), and some ugliness to work around, but on the other hand WP has a large and mature developer community, good documentation, and lots of tools and add-ons.


My advice - stop seeing yourself as a developer / software engineer and become a consultant.

Start with contracting - you’ll still be doing software but instead of being employed you’re now running your own company offering solutions to others.

After a year or two of that you’ll have references and can look at the bigger picture - there are a lot of companies out there suffering with either shit software, shit/pointless processes, or both.

You can solve their problems; often the solution will be a mix of better software and review of the processes (why are they doing this in the first place? Can it be automated away, or just done away with completely?).

If you haven’t already, start a LinkedIn and play the LinkedIn game - accept pretty much everyone (as long as the profile is legitimate, nearby, relevant to your industry) and engage with recruiters - that’s where all my business comes from nowadays as a contractor, used to be only recruiters but now companies are reaching out to me directly.

Good luck!


Start with contracting

Any advice on how to break into contracting? I'll start a blog (I enjoy writing, so blogging should be fun) and create a LinkedIn account - any other steps?

often the solution will be a mix of better software and review of the processes

This I think I can do well. Is this your business? Do you offer advice/solutions to small businesses? If possible, can you give me an example of a typical project that you do?

Thank you for taking the time to reply


LinkedIn is how I got started. Recruiters are always hungry for fresh meat so it’s an easy way to get your first gigs and build relationships with clients directly.

A blog might be good but honestly a lot of clients don’t know what they want so a tech blog is unlikely to bring them your way (if they’re reading a tech blog chances are they’re already developers and might not need your services). I personally write but I do it more for the fun and for giving free advice rather than a way of gaining clients.

It is not my business yet (I’m still just a contract software engineer) but I’m going to look into this next year. I know one of my ex bosses has a successful small business developing bespoke business software so I think it’s a good market, and if anything will make a few lucky people happy with great software instead of the usual Oracle/SAP/Salesforce garbage.

My email is in my profile. Feel free to get in touch if you want some advice.


Oh okay, that makes sense. Let me start with LinkedIn then.

small business developing bespoke business software

If possible, can you elaborate what software it is? Is it SaaS application or productized service?

Thank you, I'll email you! Thanks again, for taking the time to reply


A lot of businesses have custom ways of working that can't be modelled in off-the-shelf ERP software - they need something custom to either bridge the gap or completely replace their current ERP for example.

It's all custom, there is no one-size-fits-all approach so it's more about selling an unique product to each one rather than offering it as an SaaS.


See the articles on freelancing on my web site typicalprogrammer.com. Free, no ads, affiliate links, ebooks, courses, or other nonsense. Just my experience from 10 years of freelancing.


Please, don't confuse exhaustion and the depression that comes with it as something more permanent. I've been programming for over 50 years. I'm not as fast as I was, but I'm still very good. I did not do my best work until I was over forty. Tech is appallingly misinformed about the effects of aging. Don't let the prevailing nonsense mislead you!

Listen to me my friend. Take a 3 week stress-free break away from home. Away from home is essential. Go to an all-inclusive resort like Club Med. Make sure it's 3 weeks at least and stress-free.

You are about to enter the most productive period in your life. When you come back, you will be ready for it and eager to show the world.

DO IT!


PHP wore me out and depressed me learning software development. I only ever became a software developer because of the immense promise of how statically-typed languages can improve informatics. Java turned me off because of the lack of point-and-click interface, lack of solid "turnkey" web development, and lack of functional programming. So C# became the language of choice, and I've been able to develop without going crazy. In the last 6 years, Typescript's become highly appealing as well. I've advanced incredibly quickly by avoiding any Javascript bundling other than Typescript modules and runtime bundling. Websites are built page-first; single-page application design is used extremely sparingly.

Languages that insufficiently describe the flow of information or insufficiently model domains are dead ends.


If you care that much about programming languages then you belong in a lab or university. If you want to make a living programming you find businesses that need help solving real problems (lack of static typing is not a business problem). For every project a finicky programmer wants to do I can point to 100 business applications that have no sex appeal but do have budgets and happy clients behind them.


So C# became the language of choice

How did you find your first C# job, from a PHP background?


What helped me, was moving into a different programming field. I moved from Python/C/C++ to iOS development. Learning the new APIs can give you a big boost in job satisfaction.

> For a bunch of reasons, changing jobs isn't that easy at the moment

There's always a reason to not rock the boat. I prepared plans to start freelancing, and then our daughter was born. Quickly after that, my partner left me. I still struggled on and went freelancing. Now things are fine again, the relationship healed, etc. but you need to make changes, and make them quickly or else you may ruin your career.


In short: the advice is to learn how computers work, build an impressive demo on your own (probably with vacation time/paid unemployment benefits/time stolen from your employer), and apply for contract work everywhere you can find.

Finally, consider the ratio of openings to qualified job-seekers in specific disciplines, instead of the raw number of openings.


consider the ratio of openings to qualified job-seekers in specific disciplines

Where do you find these?


The search for decent software architects is not minimal. Maybe look into that? Use your writing skills to help with getting you into that trajectory. If you do it as a consultancy you can arrange your own schedule and choose where to work and on what.


>> I am a decent writer

Leverage that. Create professional blog catering to enterprises. Write "how to" [solve business problems] - based on your ample experience.

Position yourself as an industry expert.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: