Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: DevOps Career Advice for an Oldy
47 points by throwaw0001 13 days ago | hide | past | web | favorite | 48 comments

I'm a late 30's devops / SRE guy who previously worked as a sysadmin in financial services. Suddenly, the jobs in my area seem to ask for only 5 years of experience of Python, AWS, Kubernetes, Docker and CICD, my salary demands are too high and I'm being interviewed by people in their 20's who think I'm an idiot. I'm struggling with the whole process I have several paths and I was hoping you could pick what YOU would do:

A) Continue learning more Python - I'm good but I don't know the math and sorting questions I'm getting asked. Continue with AWS. Take a lower-paying job with folks 15 years younger just so I can pick up Docker, Kubernetes, etc. That's a 30-40K pay decrease in New York.

Downside: I have grey hair and I think I'm competing with cheaper people.

B) Go independent contractor. I have done this but I am very bad with marketing myself, and my network isn't wide enough to score jobs, so I'm stuck with recruiters. I like this the most but I'm also struggling.

Downside: Everything else is perfect, but my marketing skills are 0 after all these years.

C) Go management. I've already been a manager on the infra side. I shied away in future roles thinking I preferred hands-on (even though I got accolades as a people person and a well-organized improver of infrastructure).

Downside: Narrow job listings to choose from, also weak at marketing.

What would you do and why?

I'm a systems engineer in WA state in my early 40s and this is exactly why I gave up trying to find a "real" DevOps job. I know Python, Puppet, Docker, Azure, etc. very well, have a liberal arts BA as well as a good chunk of a CS degree, but found that I couldn't get an offer no matter how well the interviews went. I eventually chalked it up to my age, especially after I was made fun of during a team lunch portion of an interview, and decided to just stay in the public sector. I've gotten to the point where it just doesn't matter to me anymore. My kids are well cared for, my wife is happy, and I have a life outside of work I love. What else do I need? For me, chasing a career is a fool's errand.

I share your sentiment, my experience exactly, hence I've steered towards architecture and (team) management roles instead since there experience is highly valued over age or better yet, you get positive discrimination because of the age. The funny part is that I get to lead DevOps teams now who are surprised I know as much as they do or most of the times more than them.

that is depressing. early 40s isn't even that old. are your salary demands outrageous, or do you just think it's outright ageism?

I make at least 30% less than any systems related industry job out there, so no I don't think my salary demands are outrageous. I think it's a combination of ageism, having a family - hence not being willing to put in insane hours, and the idea that someone coming from the public sector cannot succeed anywhere else.

Consider throwing your extra time into a side project. You'll come out ahead regardless. You'll get a nice chunk of passive income, you'll replace your day gig income and have a lot more flexibility, or you could turn it into a demo to show during interviews.

simonswords82 in this discussion claims that the side project SaaS passive income is now a thing of the past.


you could turn it into a demo to show during interviews.

That is my plan.

To me it seems like you've hit a point in your career where you need to learn some new skills. That doesn't mean your old skills are now worthless, it means you need to learn some new ones to go with them.

I'm younger than you (25), but I already flip-flop between higher paid jobs that use the skills I already have, and slightly less well paid ones that give me the opportunity to learn new skills. I figure that's just the price of staying competitive in the job market.

I come from more of a dev background, and I've looked into learning devops stuff. I think you'll find that your more traditional ops background transfers quite well to the new cloud environments. There's definitely a whole load of stuff around networking and stuff like that that I have no clue about.

I suspect if you put a bit of effort (a month or two even) into learning the new shiny AWS/kubernetes/whatever stuff, then you'll suddenly go from someone who sounds like they don't know anything (because you don't know the acronyms, etc), to a someone who can impress everyone because their knowledge of the new shiny stuff is backed by years of experience in a similar domain that most people don't have.

I'm almost 42: you never hit a point where you don't need to learn new skills. There will be periods of time when you can sit on your hands and just coast, but those periods ALWAYS come to an end. I've seen it happen multiple times.

Your question is how can you continue to be compensated highly in this fast changing industry that already compensates very well. It's a tough question and I don't think anyone has a magic bullet for you.

Here's some general tips from the business side:

- When you are struggling to compete, differentiate yourself and find a smaller, more specialized audience. Don't attempt to compete head on unless you believe you have an upper hand.

- There are skillset that are always subject to the whims of the day but there are also skillsets that do not: among them are (1) the ability to sell yourself and (2) the ability to manage and motivate others. These two skills have stood the test of time and if you commit yourself to at least getting better at them, so will you.

I'm a developer in my 30s who retrained after being a lawyer. I flat out tell people I'm not that great a developer. I have never gotten a job from having to prove my technical skill and have not yet needed to. I rely on my network, find a specialized niche market (startups that have just figured out how to make money but don't yet have a product orientated tech leader), and I impress upon them non-coding abilities (I ask them a load of questions about their business and operations and talk about strategy, product, organization challenges - things they don't get from a typical developer candidate). You should not adopt the same strategy but maybe think about what non-technical skills makes you differentiated and where those skills might be needed most.

I'm sure your previous lawyer skills were looked upon favorably by companies you've been hired by? I'm curious -- do companies think they're getting a "two for one" e.g. a developer who knows some law if/when they need to ask someone in-house a quick question? Do you market that ability during interviews, or do you explicitly say you're not looking to offer legal advice?

FWIW I'm a self-taught developer who used to teach HS math before making the switch. I've found that both of my developer offers were partially to heavily influenced by my previous career. One company is ed-tech (heavily influenced) the other not so much, but enough of a ed-focused mission that they found those previous skills of mine useful.

I share this because I think previous experience is one of the differentiating factors for folks looking to land their first developer role, and should be something they consider how to best leverage when looking for opportunities (which is somewhat off-topic from OPs question).

I wasn't hired for my legal skills or experience and the companies I worked at had their own outside counsel that they paid for. I was sometimes asked to get involved in legal issues but that was less than 1% of my work. The founders understood that my value was far higher on technical and product than on legal. But I also tried hard to set myself apart and to bring a different mindset to product and tech that might have been influenced by my time in law.

The main point is still to leverage experience and skills that are valuable outside of technical ability that might be out of fashion in a few years. It doesn't matter if that experience is in teaching, legal or just being an extremely likable person.

I routinely see a lot of articles that are over 10 years old making it to the front page of Hacker News. Do this mental exercise: Imagine writing a long form blog article about what you are currently working on / improving about yourself. Imagine posting that blog article on Hacker News in 10 years time. Would it get a good amount of upvotes?

Late 30's? Get off my lawn, youngster . . .

I have had several conversations this year with project manager- or dev team manager-types that lead me to believe that non-software companies are beginning a mass move into cloud services.

I hear AWS and Azure mentioned much more than Google Cloud Platform (GCP). Job search platforms seem to return job posting result counts that match that ( AWS >> Azure >>>> GCP ).

I have also been surprised to have hiring managers refer to Java/C# programmers as a pure commodity in non-software companies. In one case, a project manager for technical dev in a nationally (US) large insurance company said that they mostly just ask one of the large body shops for three resumes and pick one almost at random.

Based on the above and your financial services experience, I would stay in financial services to leverage your industry knowledge. I would try to shift into AWS (or Azure if you think financial services companies would prefer Microsoft to Amazon) and Kubernete/Docker and get deep experience in effectively using those techs. Try to avoid taking a lower paying job unless you have to?

I'm really torn about programming advice. I love coding and just writing software, but I think non-software companies see coders as low-value employees. Of course, that is a total over-generalization. I don't think having some magic number of years in Python is particularly game-changing.

I have discovered that in my region that tech managers are making salaries at least 25% more than programmers and often 50% more. Personally, I am having some second thoughts about spending the last few years as an individual contributor rather than making the jump to management. Also, the highest, most surprising salaries I have heard all belong to technical managers. In some cases, I have confirmed manager base salaries that approach 3X what developers are earning. Mind blown. However, I will also say that the few folks I know in this position were reasonably successful software engineers that moved into systems architecture and with some consulting background. So part of what made the salary happen was understanding how to make a value-proposition pitch to a specific industry need that was acceptable to hiring orgs. Meaning, patio11 is again right - charge more.

I have a few questions to ask you, which will hopefully help you find a more satisfying answer to your conundrum.

1) What is motivating this change? Are you currently unemployed, looking for new work or rather concerned about ensuring your employability over time? Are you looking to earn a higher salary?

2) In an ideal world, would you want to learn this new technology or would you rather stick with building your existing skills / working with tools you are familiar with? Are you willing / interested in learning these tools outside of work, or would do you have other engagements that take precedence (family, non tech hobbies, etc).

3) How much risk are you willing tolerate? Do you have a big enough safety net if the independent contractor thing doesn't work? Maybe plan out this scenario on paper, and do some rough math if possible.

4) You are well within your right to avoid management roles (or anything that doesn't serve you). What are your goals with work, pay the bills even if the work is tedious, emotionally challenging?

My apologies if these questions aren't helpful for you. I'm just yet another obnoxious 20 something in tech.

Makes sense!

1 - Contract is ending soon and I'm scouring for a new one or FTE role while wading through strange interviews and lots of recruiters. This sort of gives me a sense.

2 - Outside of work is fine! I already spend 3-4 hours a week on personal tech reading. The issue is, you can read Docker all you want - companies want to see it in production. What do they ask?

"How many years of experience do you have in production with AWS/Docker/Kubernetes"

3 - A fair amount of risk

4 - Pay the bills! For the next 5-10 years.

No, it's helpful. Thank you.

"in production" can mean different things to different people and it's about marketing yourself. Build a side project, find the cheapest method to running kunbernetes, run it there for a while. Try to itterate. Do the CI/CD thing. If it's publicly accessible, it's in production. Check out k3s for a minimal experience.

Old? You're hardly even middle age! Someone who is actually on the later stage of their working life might take issue with you calling yourself old.

I'm sorry that the jobs you've hit up made you feel old, but please keep in mind that that is more a property of the places where you've interviewed rather than a property of you. Plenty of places will have interviewers in their 40s or 50s if that's what you're after. Maybe start looking at more established organizations rather than the nimble upstarts?

It's probably expected that any sysadmin style role knows their way around Python and the other stuff you mention, but nobody is an expert on everything. It's probably more likely that you are priced out rather than skilled out if you've done this for a while. That's not strange in itself. Experience breeds specialization, and the more specialized you are the longer you will have to look.

The answer is never to sell yourself cheap. Find out what your specialization looks like and find someone who might find it valuable.

Regarding it's a property of the places I'm interviewing at..

.. there's a startup boom in NYC. And I think startups prefer young, dynamic types on the cheap? A buddy of mine from California says this is the Silicon Valley mindset creeping in. I'm not so sure, but there is something about startups and not hiring too many older folks.

My path started as Systems Admin -> DevOps/SRE -> Management.

Double down on your programming skills, cloud management and brush up on the infrastructure components. Your age / experience should actually add to your value. Subnetting, firewalls, routing, security baselines are things that are often overlooked by new people starting DevOps roles. This option also lends to doing consulting and contracting. You day job might earn you a bit less, but you'll be building out your skillset to use.

One of my biggest struggles as a manager is the ability to let go and stop trying to solve problems on my own. I had to work hard to realign the things about my role that are gratifying. If you measure your value by the code you ship, the tickets you close or the technical problems you solve then the move to management might be tough.

I was thinking about going back to management.

Do you find roles through old-fashioned recruiters or business networks?

I found my last two management roles through the local tech community. Meetups, panels and conferences have done wonders for getting connected. Word of mouth has gone a really long way.

Also late 30s, moved from DevOps to security. I went from ~$15k below DevOps national market rate to very roughly double that in a few weeks changing roles. I highly recommend the transition for all ops/infra/devops folks. The market for security engineers and architects is on fire right now.

Businesses want DevOps, no one wants to pay for it (as you point out, "Take a lower-paying job with folks 15 years younger just so I can pick up Docker, Kubernetes, etc. That's a 30-40K pay decrease in New York."). The market has spoken, go where the dollars are (and the on-call rotation and fire drills aren't). Get paid for what you know, not selling each hour of writing code or infrastructure via DSL and the PagerDuty rotation.

OP: I'm happy to connect you with some NY specific recruiters for the job type I mention.

What type of security job did you switch to? Are you auditing code for security flaws? Are you creating organizational security policies? Is it a management position?

Email in profile, happy to answer your questions.

I sent you an email as well. Interested in the same type of switch. Thanks for posting.

I've noticed in "DevOps" you will be forced to basically learn an entire new way of doing things every year. There is something about it being so close to the business oriented people that they make demands closer to the specific tech rather than just requiring a solution to the problem.

I think this contributes to the obsession with tools by my peers rather than obsession with the goal and why I hope to move into a more SRE-like role at some point.

Also mid-late 30s, work in finance / NYC, hit a bit of a plateau salary + skills-wise that I am trying to work through, also hoping to avoid management, here are my thoughts.

* Staying focused on long-lived, core technologies, C++/Java/Python. I'm not too interested in chasing AWS/docker/Kubernetes or anything with a half-life approaching that of a js framework.

* Need to add new skills. For me, coming up to speed with kdb+/q. I realize that while I have gained breadth / experience with my skills, it had been too long since I have added an entire new "bullet point" / category to my resume.

docker & kubernetes maybe. but i dont see AWS going anywhere.

Late 30s? You're not old, kiddo. :-)

Joking aside, as others have mentioned, you'll need to differentiate yourself, and for each person, that's different. For me, I found that I took really well to Docker and using Python to talk to APIs and AWS. I then started showing the world how well I knew those things by building a series of open source projects which leverage that technology. And--this is the fun part--each project was an iteration that built upon some of the things which I learned in the last project. For example, I built these over the course of several months:

- https://github.com/dmuth/splunk-network-health-check (Uses Docker and Splunk to graph your network quality)

- https://github.com/dmuth/twitter-sentiment-analysis (Uses Docker, Splunk, and AWS to graph Twitter sentiment)

- https://github.com/dmuth/splunk-lab (Uses Docker and Splunk to stand up a generic log ingestion platform which is highly configurable)

So maybe Splunk isn't your thing and Twitter isn't your thing. Maybe you're more a fan of ELK and the Facebook API. That's fine. The trick is to carve out some kind of interesting problem to solve, solve it, and publish your results upon GitHub. Don't worry if others have solved this before, it's more about YOU solving it, and showing the world that you can solve it. Then take it into an interview and show it off--people will LOVE that, especially if you have a README with really slick looking screenshots (presentation matters).

My email is my username AT my username DOT org. Feel free to hit me up if you'd like to chat further, OP. (Or anyone else in a similar position)

I used to work in financial and it's pretty easy to get frozen in time technology-wise.

It would do some good to learn modern CICD. Take a look at CircleCI and see if you can wrap your head around it. These days the tolerance for a developer that can't build/deploy their own code is getting low.

Also while it's a good idea to learn Docker/Kubernetes, its primary use-case will become making older applications easier to manage on cloud providers. The demand for people who know Kubernetes is still increasing however the skillset is becoming a commodity.

The current trajectory for new development work is leaning towards solutions like App Engine and other cloud-specific solutions. As a python developer I'd pick up any python-centric offering from AWS and GCP and make a weekend project out of it.

Advertise yourself as an infrastructure architect and aim for jobs that value your many years of experience.

Learning kubernetes is good, but it doesn't replace understand the many ways a database migration is going to fail.

Similar question, I'm a developer in his early 30s, also in nyc. I'm finding I don't particularly like management, though I seem to be decently good at it. However, posts like the above seem to be what I'm seeing in the market, and I'm starting to wonder if I need to transition as well in order to stay viable long term? I think I would rather go back to a team lead or even senior developer position, but I don't want to end up writing a post like OP's above in 5+ years?

In your case, are you developing valuable domain expertise?

In infra roles, there is little "business side" of the work and hence could be more easily commoditized.

I work at a big tech company and the staff engineer in our org has been at the company for 4+ yrs and has A LOT of domain expertise in ads, and institutional knowledge about a lot of different systems in the company.

Domain expertise is directly transferrable to some companies, and having a lot of institutional knowledge is also a good selling point IMHO -- e.g. asking good questions in an interview about a companies stack could show that you can very quickly understand some nuances of the types of systems they built/are building since you've done something sorta similar.

I've also seen us hire pretty senior people with a good amount of domain expertise but didn't know ALL the shiny new tools, but did show they were keeping sharp in SOME of them.

I'd be pretty keen to correspond with you, OP, or other "senior" / experienced (30s, 10+ years) developers in NYC trying to skill up and get into higher salary positions, or at least share some experiences and intel. email is in my profile.

Didn't see your email there.

I'm in my 40s with 20 years experience in NYC. Applied to a handful of positions, but was politely turned away. I suspect age is a factor, but of course no way to prove it. I'm considering shaving 10 years off my resume and see how that goes. I've done management successfully but it was stressful, and I went back to development.

To beef up my list of skills, I'm starting to expand into areas that are natural progressions from my current set. For example, I use C# and Asp.Net for backend work, so I began using .Net Core; I use React on the front end, will add Redux; MySql/SqlServer for the database, will start working with Postgres; AWS for the cloud, will research Azure.

I'm not sure if I should be adding a whole new bullet point, such as learning Erlang/Elixir, Python/Django, Ruby/Rails, or something completely different.

Oops, sorry, added it now.

Right, I am revising my resume currently, and for the first time I'm considering dropping off my earliest jobs - both because they were a long time ago, and because what I was doing then is more or less completely irrelevant to what I would want to be doing next.

My thought, looking at the senior developers around me, is that adding whole new bullet points is good.

wow you sound just like me a year ago. late 30s, had to job transition, and found the tech stack had wildly changed from what I was used to. I'm full stack, but with a focus on backend, so I do a lot of sysop stuff. kubernetes and docker was everywhere, and all these new deploy tools I've never heard of. since when did "automation" (CICD) become its own thing??

anyway, my advice: don't settle. you are a senior. find a job that is willing to accept you as a senior and acknowledge your ability to learn quickly and adapt. demand a high salary (higher than what you're making now) with confidence.

it may take you a couple months to get up to speed, but you have seen it all before. you know what to look out for. you can smell the bullshit out there and you are responsible enough to have autonomy. you don't get this with newbies. this is what a company is really paying you for.

in the meantime, start building environments using these tools you are unfamiliar with. show you have initiative and can talk about these tools for when you get interviews. it may take a month or two until you find the right job. it's hard, but be patient.

as for management, well that's up to you. I tried it once and sucked at it, so I'm fine just being an engineer :) p.s. also check out terraform

I'd spend a year or 2 consulting with your current skills while you tool up your cloudops. A good place to look at is Codementor.io. I'd probably get an AWS cert or two while you do this (while certs can be a vanity metric, they are a very useful, and objective, benchmark)

I wouldn't take a lower pay job, and I wouldn't move into management. In your shoes, I'd rather take the pay cut while consulting over carving a new title on my resume that may influence the rest of my career.

Take time to shore up your finances. Get out of debt and/or reduce expenses if possible. The lack of freedom in this area is what causes people to do things in their career that makes them unhappy.

Once you get past this, don't stop learning. Don't be afraid to expand outside of your immediate focus - the market decides what is valuable, not you. (for reference, I'll be 42 next month)

Don't be afraid of onerous job requirements. They always are, and they're often BS. Kubernetes was announced in mid-2014, and didn't pick up steam for a couple of years, so it's virtually impossible for someone to have five years of experience. Docker isn't much older.

I would do two things.

First, I would get credentialed. Credentials are a time-proven barrier against unfair discrimination whether on sex, race, age, or sexual orientation. The AWS Dev Ops Engineer Professional credential certainly says that you have areasonably up to date, reasonably modern knowledge base that fits well into the AWS stack. It answer the competency question without it even be asked.

Second, I would definitely improve your strength at marketing. In any job, at some point you will be judged on your ability to drive the bottom line growth of the firm (yours, others, etc.). Showing that you can bring in business for yourselves, others, etc. is more compelling than being able to execute at a low cost point.

And in particular as a late 30's devops fellow becomes a late 50's practitioner, being able to generate your own income becomes important to your survival. Divert extra cash from the next job on learning how to tell your story and create value for customers / partners/ employers on both revenue and cost side.

No one fires someone who beats quota every year.

Get an account at acloud.guru (I'm not affiliated with them). Pound through their AWS certification prep videos and get certified. They have a pretty good course on Docker as well, that I've been going through. I'm worried about ageism too, as I get older. Good luck.

Use your skills to your advantage. In an interview, don't settle for crappy coding challenges. Ask the company what version of linux they're running in their docker containers (and when it was updated/patched) If they can't even tell you, prove value by telling them why (security, perf) and how (either newer canonical images or custom) My point here is the game hasn't really changed, it's just gotten wrapped in two more layers of abstraction. My learning advice: - Skip python, unless you want to become a coder or get into data science - Learn how to launch a basic app using docker (think of a dockerfile like a shell script) - Learn the 4 basic things you need to launch a basic app on kube (pod, deployment, service, ingress)


What's tricky is combining what you've learned at home with what you didn't do in production at work. In finance, most places are only beginning to use cloud services and barely tickling Docker (at least unless you are in cutting edge groups). And yet hiring managers want to see 5 years of experience in AWS, Docker...

It's not an issue to learn it, I already have started.

Are you currently in a situation where you immediately need to find another job? Can you spend a few months learning AWS, Python, etc?

What tools are you using in your current devops position?

What type of jobs are asking math and sorting questions to a devops person? Also maybe find an algorithms book and brush up on those skills.

And maybe spend a few hours a week working on creating some sort of environment on AWS that demonstrates your ability to use the tools that are in-demand. You could probably even have that as a portfolio item to show off during your next interview.

I don't think you need to take a lower-paying job for a few years just to pick up those tools. Going through a couple of books should be all that it takes especially if you're already in a devops position.

If you have time, learn more python, aws, kubenertes, etc.

Then showcase you are deeply familiar with these technologies. If you already have yrs of production level experience with configuring + managing VMs, kubenertes isn't tooooo much more complicated after you know basics of docker.

And if you aren't familiar with Docker, it is is something an experienced dev should be able to read about + toy with and feel pretty comfortable in in a few weeks.

Then once you feel confident in that all these tools are just all have analogies to the tools you're working with, showcase those analogies in your interviews and you should be good (e.g. "I haven't used kubernetes, but I have worked on tooling to deploy applications on VMs")

If it were me, I would bite the bullet and learn the new tech. In this game you gotta keep moving forward. If you can afford a temporary pay cut this should hopefully be temporary until you get some new skills under your belt.

Where are you based? If you're in the UK I know someone who might be good to chat with.

New York City, but thanks!

I would like to coach you at no charge. Contact info in my profile.

From what you list, you need to go management.

Applications are open for YC Summer 2019

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