Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a programmer approaching 30 I can confirm this for me. I am horrified that a company would prefer the long hours / low quality output of my earlier years compared to my current fewer hours / more thinking / higher quality output. I can only hope that I will improve a bit more as I cross over 30.

Who knows, perhaps I will immediately plateau and never learn or improve after 30 ;)



A lot of non-programmers simply can't discern the difference in output of a senior dev and a junior one. Like I recently realized, junior devs can appear massively productive because they can copy another part of the system and simply modify it. The output looks the same, but without that code made by someone with much more experience, they'd be lost.

If I'm brutally honest with myself, I used to think I was a lot better than I was.

I could fix any bug, I could add loads of new functionality. I was great.

What I wasn't appreciating was that the senior devs had set up an architecture for me to succeed. They'd laid out the code and made the loads of small decisions born of experience that meant I was basically coding with training wheels. I could simply look at how they'd done it and use the same technique. I didn't have to make any decisions, nor was I aware of the decisions they'd made.

What I've seen since is where someone's employed graduates to build something from scratch, those systems are a real mess. They literally code themselves into corners. Adding new functionality becomes harder and harder until they quit and the client has to call in the big boys.

I remember chatting to a senior contract game dev a year or two ago at a meetup, he was complaining that he never got to make a game. He always got called in at the end to optimise the game and do the best he could to fix the stupid architecture decisions the cheap, disposable, inexperienced game devs they'd used to make the game had made.


I can remember my first project as a junior front end dev watching the Architect setup the system for us. I never really appreciated him at first because we were doing a majority of the day to day work. Now that I am getting more mature I can appreciate the environments and standards he setup a lot more. Even things like continuous deployment tools, automated builds and the like help productivity tremendously.


EDIT: Big boys was a bad choice of phrase. I meant experienced developers, doesn't matter if they're a man or a woman.

Stupid edit lock.


I'm 49, still working, still learning new stuff all the time. You can't assume that someday you'll stop learning and start being productive. There is always something new to learn. Always. The next project is going to have new concepts that you haven't seen before. I still charge for it all. If the project requires a certain new technology, I'm not hiring someone new just for that project. I'll learn the new concepts, and then do the project.

The technology world is so rich with concepts now that you could spend your whole lifetime learning and never accomplishing anything. So why should I pay to learn something that only this project requires? Every project will have something new, therefore I can never make money? No, the cost of learning is built into every project. That's the way it is. Software development is not plumbing or carpentry. It's different, and learning is part of the cost of doing any project no matter how old or experienced the engineers are.


i applaud your nerve. the audacity of billing. i wish i felt more confident about that. that's great.

i feel that it's easier to bill for something like time spent learning the customer's unique (-ly confusing) data model, or for figuring out the product's requirements (since the company has little to no documentation of that).

OTOH, i feel less confident charging for time i spend learning about the vagaries and unexpected behavior of the android platform since "i'm supposed to know that" (and also since those problems are the android platform's responsibility)

i find the balance hard to strike sometimes. i compromise a lot.


Right now the industries are begging for programmers.

Companies from the US literally hire me to work remotely from my bedroom in France because they can't find somebody with the skill they need at the price they can pay. All of them are either taken or too expensive.

The situation is unlikely to change: the need for software is constantly increasing, but the rate we produce new developers and the quality of them is not following as quickly.

So get audacious. You are on the best side of the fence right now.


thank you for the encouraging words.


I'm 30 and feel like I've been in decline for at least 6 years. I used to be open to new ideas and techniques; now I'm so confident I know what works that I usually can't even bring myself to consider the alternatives. I used to be able to hold the whole system in my head and change things fearlessly; now I rely on the types to do that for me and check in an embarrassingly high number of errors whenever I try to work in Python (a language I used to be very productive in).

Perhaps our industry moves so fast that experience genuinely is a net negative?


Hahaha. At 30-32 I felt I was getting old.

Looking back I believe the reason was there is a subtle physical slowdown between late 20's early 30's, you are indeed slightly past your physical prime.

Then I hit 40 and felt young again.

But really, one shouldn't feel they are mentally slowing down at 30 or even 39. If that's the case you might need to check environment or what you are doing or some external factors.


> now I rely on the types to do that for me and check in an embarrassingly high number of errors whenever I try to work in Python

But you can write type hints in Python and get your tooling to tell you when something is wrong.

Personally I got mypy as a pre-commit hook, and vscode run it on each save, making my code lighting up like a xmas tree if I mess up.


Sounds really weird. If you know what works then you know you need something new sometimes. Never used a NoSQL database but I know when it's time to start using one. I might not, as some younger people would, default to MongoDB.

Also checking in errors seems a bit weird. Are you sure you are still motivated in what you do?




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

Search: