7

Ask Slashdot: Can an Aging Project Manager Return to Coding Unpopular Legacy Co...

 1 year ago
source link: https://slashdot.org/story/23/03/26/017215/ask-slashdot-can-an-aging-project-manager-return-to-coding-unpopular-legacy-codebases
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Ask Slashdot: Can an Aging Project Manager Return to Coding Unpopular Legacy Codebases?

Slashdot is powered by your submissions, so send in your scoop

binspamdupenotthebestofftopicslownewsdaystalestupid freshfunnyinsightfulinterestingmaybe offtopicflamebaittrollredundantoverrated insightfulinterestinginformativefunnyunderrated descriptive typodupeerror

Do you develop on GitHub? You can keep using GitHub but automatically sync your GitHub releases to SourceForge quickly and easily with this tool so your projects have a backup location, and get your project in front of SourceForge's nearly 30 million monthly users. It takes less than a minute. Get new users downloading your project releases today!

Sign up for the Slashdot newsletter! or check out the new Slashdot job board to browse remote jobs or jobs in your area.
×

Anyone have career advice for this anonymous Slashdot reader?

I've had a great career from 1992 to today. I've been a front line coder for most of that, but also a team lead, a supervisor, a project manager, a scrum master, etc.. My career has been marked by expediency — I did whatever needed doing at the time, in whatever tools necessary.

However, now I'm 52, and I'm getting tired of leadership and project management, and I would like to return to that front line again. The legacy skills I have are no longer in demand. (They aren't Cobol.) Here's the rub: I am happy to do the work nobody else wants to do. Dead languages, abandoned codebases with little documentation, precariously built systems with rickety infrastructure... I've worked in them before, and I would be fine doing it again.

I'm afraid of nothing, but I don't want to keep climbing the bleeding edge of the technical mountain. I'd be happy to be silently, competently keeping things moving. By 55 I would like to make that move. It's either that or retire, which is an option... but I love the technical work.

They're soliciting suggestions from other Slashdot readers. ("Where to focus? How to prep?") So share your own best advice in the comments.

How can an aging project manager return to coding on unpopular legacy codebases?

  • "Coding" is what we imagined we were doing as teenagers.

    If you want your own niche, it really helps to be your own boss. So start figuring out how to be a "consultant" for doing unpopular unhip unfashionable programming stuff.

    That, or just pop over and talk to your boss, see what they think.

    • That, or just pop over and talk to your boss, see what they think.

      She says he promised to fix those crooked shelves over a month ago and they're still leaning haphazardly, and the sink needs unblocking, and the Smiths have invited us over for dinner next week and we have to go even if they're really boring because we've known them for ages.

      Oh and the cat just horked up its dinner in the kitchen and it's really your cat since you wanted to get it so you'll have to clean it up.

  • I've been [...] a scrum master, etc.. My career has been marked by expediency [...]

    "...and now I want to do the exact opposite of that because I know bullshit and I'm tired of it"

    Here's my advice as someone with a long career in IT bullshit: what you want is to find a job that requires programming skills but isn't about software.

    Me, I'm a test engineer. I build automated test equipment for a manufacturer of products that have nothing to do with computers or software. I don't chase the latest technological fad du jour, nor do I have to keep training to stay ahead of the curve. I'm paid to put together quickly test equipment that's easy to maintain, will last a long time, and will makes someone else's life easier in production. It it means using assembly, Cobol or Perl, so be it, as long as I can prove why it makes sense to my management.

    In short, find a job where your experience as a problem-solver will be in demand, where you skills as a computer programmer will be applied to a genuine, real-world problem or application and where someone will thank you for what you did. But whatever you do, stay the hell away from IT.

    • Sound advice. And the fact alone youâ(TM)re making someone elseâ(TM)s life easier can be very fulfilling, especially if thereâ(TM)s an active feedback loop.
        • Iâ(TM)m typing this in Brave on a modern iPhone. Take it up with Slashdot if youâ(TM)re bother by their inability to handle proper text encoding like itâ(TM)s still 1998.
                • Re:

                  I envision this as the motto for the next revolutionary war, along with "Don't Unicode on me!" and "Come and hex it!"
                  Get your t-shirts and bumper stickers now.:)

    • Me, I'm a test engineer. I build automated test equipment for a manufacturer of products that have nothing to do with computers or software.

      I have a fun anecdote on that. I made some factory floor test it a while back for a product. Basically for each one made, a technician had to insert it into the test machine, and after about 10-15 seconds, it produced a result indicating if the product was up to spec. Driven by a raspberry pi, some had soldered electronics in side, used one of those "official" touch screens to display the result.

      Usual kind of gubbins you know.

      Anyway, I got a little more into it than necessary wanted to make it "look cool", so I ended up making an animation where the company logo fell into pieces and bounced randomly around the screen (different every time). Turns out, this made the device very popular with the factory technicians and they somewhat preferred testing my product over any of the others currently being made.

      In hind sight, I think I was motivated by being bored repeatedly for periods of 10-15 seconds waiting for the test cycle.

      • Re:

        The world needs more non-repeating animations. They're so much better for our brains.

        --
        We will soon have the option to harvest our farts, so we can post & comment on stats about them.
    • Re:

      It doesn't matter if the skills of coding are for a legacy language, those skills can be translated to new languages.

      There might be a few language quirks that's needed to add on, but overall those are not essential for making a good program.

      The essential part is how you structure your code.

    • Re:

      Yep. I've been happiest as a lone coder, solving problems however the hell I want, as long as they work well and are efficient. (Which usually ends up being in better ways that trying to figure out how to containerize and devops everything up to and including brushing my teeth.)

      Chasing fads gets really old.

    • Re:

      Agreed -- Someone will definitely thank you. (Someone will probably blame you, too, but if you're amenable to clarifying the problem/solutions with them, that someone will come back for more & hopefully thank you, too:)

      As a mere user of a Perl-based database platform, I can't offer solid career advice to a developer, but someone experienced and willing to help document & clean up a giant codebase with a lot of history sounds like a blessing.

      If working with museums and keeping a foot in the IT-indus

  • If you want, you can find a code camp that will get you up to speed on the latest technologies in 6-8 months. It takes a lot of the effort out of learning, you just have to go along with the program. And you'll pick it up easily.
    • Re:

      I tried that: took a 6-month course on Web programming. I found it didn't help when looking for a job: everybody is looking for experience. I think a better route would be to get a Computer Science degree, and go for an internship a few months before you graduate. You can use that internship to impress the company with your skills and work ethic.

      (When I went to College there was no undergraduate Computer Science program, so I hung out with the graduate students and got my undergraduate degree in Statisti

      • Re:

        • Re:

          • Re:

            ok, how do you feel your skills are with React?
  • Take that resume and your excellent sales pitch and start a business devoted to, say, documenting and refactoring legacy code bases so they're easier to work with.
    Build a snazzy website and start poking people you know.

    • Re:

      There's an absolute fortune to be made out there using the recent AI tools to update old code bases to modern ones.
      Being able to paste in code and ask the robot to "please rewrite this in language du jour" is a pretty killer app.

  • Sure do what you want. Management sucks.

  • Two industries you may be happy at: IoT and game development. The former is about functionality, and most micro controllers will be happy running C for a long time; the later it's usually C++ (or C# in case of Unity) and it's about the end product and how to best get it done for the player and games, thus programming is seen as a means to an end.

    But if you really want to insulate from the pace of change, the space industry might be it. It's about reliability, most processors and systems will be generations old due to radiation hardening and slow to update, with the benefits of stable language utilisation (likely C or Assembly) and relatively long project times with focus on retesting.

  • I am 51 years old, started out as a software developer and have worked as a director of development and CTO. I also did a couple of years as an agile coach. I got tired of all of that work and also got tired of saying to myself, "I will just write code when I retire". Because I love doing it.

    So I quit my job and got another job as a software developer. I earn about half as much as I used to, but I look forward to going to work everyday. I've been writing code again for about 2 years, and wouldn't go back ever. Fortunately, I've been saving and don't need to worry about retirement. So it really doesn't matter how much I earn, as long as I'm happy doing what I do. So, go for it.

    From a technology perspective, I moved to a completely new tech stack and have been developing skills and knowledge there. This is part of the reason why I need to take a salary cut, is because I had to re-train. Now, all of the previous technical knowledge that I developed during my career I am now using fully, that I am up to speed in the new tech stack.

    • Re:

      I'm 72 just finished 4 months doing Python and a bit of hardware integration (SBC, Pi mainly) for a UK university. Didn't pay very well but interesting project and I enjoy working for/with younger people, this time in social sciences mainly. I used to do a lot of Perl and am being offered it but don't want permie or full time, in principle I'm retired.

      What I'd like to do is work part of the year on smaller, interesting projects without thinking too much about pay levels. Must be plenty of other like me to

  • I'm a similar age to you but have managed to avoid all kinds of management so far and keep doing what I love: coding. I've worked for ISPs, web hosters, and multinational SaaS providers. I've volunteered on IETF working groups (and still get spammed thanks to their public list policies). I've even helped companies recover "lost" source code for applications and services by installing old OSes into virtual machines and reverse engineering them. So far I've managed to maintain my ethics and avoid working for

  • It's a perfect fit.. And if it's some mission critical setup from back in the day - which likely is the case if it's still in use and they're looking for personnel to maintain it - then it's also a license to print money for anyone confident and competent enough to take responsibility.

  • by fwc ( 168330 ) on Sunday March 26, 2023 @05:14AM (#63399909)

    I find that Embedded System programming requires someone with the experience that you would have had from the early days... That is, making things work with way too few resources. Often, the project teams are quite small or one, and the focus is often on making things work.

    If you've picked up some C along the way, it's even more likely that you're qualified to do the work.

    • Re:

      This... the embedded systems world has all sorts of niche spaces.

      If you understand C and some basic assembly and can reliably manage your memory without hand holding, you're a shoe-in at any product company.

      • Re:

        If the "anonymous" source of this story has some C background and wants a job, email me. my username at the notable G companies email service.

  • I am 67. I work in a niche field (Colour calibration / measurement). I work on projects, but I also have my own R&D software which has been growing for the last 20 years or so. I write non-fancy C++ most of the time. If you can find a small-scale niche like this, possibly involving hardware, then it will have longer timescales.

    I have recently made a phone app. If you can find something that needs doing on a phone, this is something that one person can do. Android has a good community, but huge variat

  • I'm also a 55 year old in tech. Our legacy of experience pays of a well in this day and age. We can be as technical as we like to be. But there are some thing you need to know.

    Firstly cloud is king. Everything is migrating there. Workloads we never thought would move are moving. So having a decent understanding of what cloud compute is all about does help. We can still exercise our legacy skills here. And it's in high demand. As companies are trying to get rid of that on-prem infrastructure and move to on demand resources. Yet at the same time wanting/needing to run those 30 year old code bases. You can get a decent understanding of the various clouds with free online courses that take only a few hours to complete.

    There are some tools you need to learn. CI/CD DevOps pipelines etc. rule the roost. No more do we compile code locally, and no longer do we deploy code by hand. Be prepared to learn how the local team has set this up. As it's rarely the same from shop to shop. You don't have to be a DevOps guru. But you do need to understand what it's all about. Speaking of which. Learn git if you haven't already. The atlasian git flow documentation is pretty good. Git will be the first and mandatory tool on this CI/CD workflow.

    Remember those ORielly books we all had. Those are gone. It's now starts with google and will end up at a few sites that you will reference on a frequent basis. Get used to lots of problem threads that never actually lead to the answer you need. You skim skills need to be spruced up.

    Security is now a thing. It may seem like it's in the way of things and you will push back against what is clear to you as a pointless hoop to jump through. But it's there, and usually for a reason. Is it done well, not really. It's pretty clunky. No you can't get root on production so you can do what is so clearly important.

    No you don't need to be on the bleeding edge to be productive. Most often the bleeding edge means re-inventing the wheel over and over again.

    Now where are the jobs, Well lots of companies want our skills. But more often than not it's Professional services orgs that want us most. These contracting firms will want to take advantage of you, that's normal. With a mgt,pm background as well this can be easily navigated. As our experience tends to give us an upper hand in office politics.

    • Re:

      Spot on advice.
    • Re:

      I agree with the other reply to your post... pretty darn good advice !

      OP:
      After you've read parent's post... read it again.

    • Re:

      Depends on how you learn, and what you are looking for. Fortunately, my local library system has a Safari subscription so I have full access to the entire Orielly catalog as well as a bunch of other tech publishers...

  • The problem is that team leads, supervisors, project managers etc. don't like employing people who have more experience than they do. Even working with people older than them gives some insecure managers etc. a problem. Although if you would be subordinate to them. They might see you as a challenger to their position / authority. They might see you as undermining them "when I was [ position ] we did this a better way".

    With such a complete set of skills, I'd be inclined to start up on my own. That way nobod

  • I am 35 and I am at the frontline for 12 years (therefore an infant for some here). Fortunately, I managed to keep up successfully with every *new thing* that has happened during this time. And many things have happened... I started with web development then I additionally did some mobile development, while participating in data mining projects on the side. I skipped IoT emergence and earned a master degree. I shifted to scientific programming while wearing my hats of the past whenever it was necessary. I a

  • COBOL is in demand.
  • Sit down, take a deep breath and ask yourself: if your boss required that from you, to step down the career ladder, how would you take it? You have climbed up because, obviously, you had capabilities so why demote yourself? When you're over 50 you will never be able to rise up again: you're too old, less flexible, too easily tired and will be passed over for promotion by younger workers. Spare yourself the humiliation and understand this: you don't want to go back to coding because it was any good. It was a
  • Ask around. The jobs probably exists but you won't find them advertised because nobody suitable applies.

  • What's the closest equivalent these days to what you were doing with Cobol?
    How in-depth was your coding skill before switching to project management?
    By that, I mean in terms of deep problem solving skills that are language agnostic?

    If those problem solving skills are still exceptionally good, then I would seek a role as a principal engineer.

    You probably know the role description. You are the "go to person" for finding solutions to very difficult problems.
    You are there to mentor other developers.
    You will be expected to attend high level meetings as the "problem solver"
    But you aren't expected to manage anyone.

    Sounds like a win to me, but only if you can get past that rather odd barrier of "legacy code"

    Most of the coding problems you encountered when doing Cobol still exist today.
    The only barrier is syntax, libs etc. - which can be learned "on the job"

    A decent employer when looking for a principal engineer will look past what coding languages they have experience with.
    They just want to know "can this person solve problems at a very high level, can they mentor a team?"

    To repeat myself, seriously, get over this obsession with "legacy code" - embrace change - you are only 52.

    I'm 55 and continuously challenge myself - I'm having to get deep into devops now - with all that entails. (docker, k8s, AWS etc. etc.)
    I am unafraid of change... or rather, I still need to pay my mortgage...;)

  • https://epics-controls.org/ [epics-controls.org] is a software system used for control in many large labs and some companies. Dept of Energy Office of Science labs use it and are frequently looking for individuals willing to code for the rest of their careers as promotion paths are meager. Pay is competitive, not GS scale.

  • I don't think that you'll find many companies that want someone to maintain dying projects for too long. You'll get hired because they have some legacy code that needs to be kept afloat until the replacement is in, then your replacement comes in too.

    What you probably will get the most out of is as a consultant for migration from those legacy tools to modern ones. For that, though, you will have to have at least some knowledge of modern languages, because your job will be the translator.

    All languages have some quirks. You know the ones of those old languages, you know why that code behaves that way because you used to write that kind of code, some nifty little trick that nobody bothered to document that someone dreamt up and passed it around among the coders, only to be forgotten in the sea of time by now. But you still remember that.

    That is your asset. And that's what I'd sell.

    • Re:

      Part of the reason those legacy codebases are around is that the replacement project never comes in! They've probably tried (and failed) two ore three times. I had a friend (past tense because she passed away not because we stopped being friends) who spent the last ten years of her career building "temporary solutions" leveraging the existing system that were slated to die along with the underlying system when the replacement came in. The "dying" system outlived her! There are plenty of these jobs out th
    • Re:

      ... until the replacement is in...

      lol, it's pretty typical that the replacement will arrive in approximately infinity years. OP is completely safe working on legacy code.

  • wrong timing to be switching careers especially if you need training, especially careers in IT. Start a garden, a farm, but at 52 and without any experience... Inflation will be destroying one piece of the economy after another. Become a gold dealer

  • So you're behind the curve? Don't give up the day job! Take it from someone who has been there and enjoyed a chequered career.
    People have jobs to get done in yesterday's code. But they'll be reluctant to give you a 'permanent & pensionable' job at yesterday's code. So go contracting. My work was in the more savage and declining world of Electronic Hardware. I ended up in Industrial Electronics on my own, and raised my kids that way. But I had to give up when it all became unrepairable.
    And don't sit b
  • There is no going back. You will be always seen as a challenge to any boss you might have, because you can and did their job. This will put a target on your back.

    Instead, find a way to pivot into consulting or audit.
    • Re:

      You need to get a better boss.

      There's an old saying "As hire As, Bs hire Cs", meaning that really good people hire really good people while second-raters hire third-raters because they recognize that they're second-rate and don't want to risk a subordinate showing them up, while really good people know they're really good and not only are not intimidated by talented subordinates, they appreciate and celebrate their subordinates' talents.

      If you're an A reporting to a B, it's going to suck in all sorts of

    • Re:

      What a ridiculous thing to say. Just jump to a different domain. Being a newbie in a new field removes any "target" you might have.

      I was an engineering manager in the DoD world, managing teams that built C4ISR systems. I jumped from there back into straight front-line software development in the EDA world. I later jumped again into the fintech/regtech world.

      Want a long career? Always be a newbie.

  • In my experience if you are known as a person who can get things done you can always find a job. Legacy stuff can be a great niche but you can get hired into current stuff too. Good luck.

  • Hi, I made a similar transition 25 years ago. I had been mostly a manager and for the last 25 years I've been a consultant. For a while I was keeping up with the latest technology but for the last 15 years I've specialized. I picked SQL Server because I like it, databases just don't go away, the Microsoft space has a lot of smaller companies that are willing to use consultants without agencies. By doing a lot of networking, I've been able to stay employed, move into semi-retirement, and enjoy the work.
  • I was a software dev with 25 years of experience in lots of in-demand languages like C++, Python, JavaScript, CUDA, etc. In 2015, I was sitting at my desk, waiting for the daily standup, when the CEO tapped me on the shoulder. He said he wanted to speak with me in the conference room. I knew it wasn't good, because we had been burning through money like there was no tomorrow. When I entered the room, our usually jolly VP was silent, staring forward. Our president looked very somber. The HR lady was CRYING with a box of tissue in front of her. They laid it out for me. I had two choices: 1) take a two month severance, 2) take a job with the same pay and benefits with the parent company downstairs. Being an empty-nester with two kids out of the house, but a wife to take care of, I took the latter. It took me one week to figure out how much I hated being a "Performance Lead Engineer" and how much I hated the parent company.

    I had already decided to dip my toe into the waters of cyber security by taking courses and going for my CISSP and maybe my CEH. On the first night of the "Cybersecurity Fundamentals" course at the local U, the instructor mentioned he had his own company. I asked if he was taking resumes. I got my first interview two days later, and I was hired three weeks later. Two and a half years later, I was the CTO, leading penetration testing of all sorts (including physical engagements) and being responsible for the pentesting architecture and processes.

    Now, I'm a Red Team Lead at an insurance company, and I do side-gigs (with full knowledge and permission of the company). Being a software dev (with some QA and Linux/Windows admin experience) turned out to be a "secret weapon" in learning how to do pentesting.

    The youngsters are amazed that I have over 20 certifications in pentesting / red-teaming, and I have no intention of slowing down. I'm having way more fun than I ever had doing coding... or rather, software dev. (I agree with a buddy that "coding is fun, but software dev usually sucks, because it is usually driven by those who don't understand it").

    Leverage that experience to do what you want and what you enjoy.
    • Re:

      For a different viewpoint I recommend "Software Engineering at Google--lessons learned from programming over time", curated by Titus Winters, Tom Manshreck & Hyrum Wright. It is published by O'Reilly and has ISBN 978-1-492-08279-8. Apparently, Google does software development the way we used to do it at Digital Equipment Corporation, but with modern compuers.

  • Many government agencies still employ legacy systems. Learn how to bid on projects and enjoy the inefficiency of the bureaucracy.
  • Half the businesses in the country still run on it. Lot's of the original code was written by the owner's kid(s). Guaranteed, you'll see coding choices you never imagined:-). If you ever fell in love with VB6 you'll be right at home.
  • *IF* the organization will support the action, which most won't, you can return from managing to coding. This needs to come with a lot of caveats, though. As you get older, your short term memory gets less powerful, so even though your skill level can quickly recoup with practice, you won't be as good a coder as you were. It will take you longer to do things, and you'll need to break the code into smaller functions. And you'll NEED to document what you did as you go along, and frequently why you did it.

    I think I started noticing that change in my capabilities in my late 40's, but it had certainly been in process long before I noticed it. I think my ability to design the programs kept improving, but keeping track of the details moved in the opposite direction.

    FWIW, I'm retired now, and code for recreation. ("Art for arts sake!") Recently I switch from Python to C++ after being away from C++ since before the STL. It's being an experience, and what I really wish is that there were a better way to document code than Doxygen. (One thing I'd like is better indexes [note the plural]. Something like "@ind1... @ind2...". Not instead of the current index, but in addition to it.)

    • Re:

      So... your output will be more maintainable and of higher quality?

      • Re:

        Yes, I think so. But it takes longer to do the work.

  • It would violate Betteridge's law of headlines with a question mark.

  • There is a massive need for guys like you but unfortunately not a lot of demand. These sorts of projects tend to be staffed by MSPs or weird IT shops where everyone is underpaid, their skills are outdated, and people stick around for decades.

    These enterprises tend to not value IT even though in the case of the latter they were often cutting edge in their industry, now locked into obsolete technology. Yep who knew that IBM IT department in a box was going be dead weight in 40 years.

  • People assume "computers" is where most of the software runs, but I don't think that's true anymore. I work in embedded firmware, and that stuff is everywhere; just think about every piece of electronics from your desk on out into the parking lot. I'm not posting here to recommend that field though.

    What I am pointing out is that there are entire fields that the average Slashdotter doesn't even think about. My company also does custom PLC [wikipedia.org] work. THAT is the invisible software backbone of most industr
  • I heard of codebases with documentation, but I think that is just an urban legend.

  • Moved to teaching high school students. I teach math and computational thinking. My god, my world view changed! Feet on the ground.
  • A few points others have made:
    - Find the few people out there who need stuff you know
    - Work for the government; they've got tons of weird old cruft
    - If you can, work with stuff that interlinks with hardware
    - Programmable Logic Controllers

    I am similar in age to OP, and this question reminds me that I really need to send a polite "no" to the headhunters in Minnesota who stumbled across an old resume of mine that mentioned PICK D/3 (which was the bane of my existence for a few years about 20 years ago) and lef


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK