Live data from Hacker News

Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

news.ycombinator.com

371–380 of 538 posts

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#371
Learn how to test your code. I'm not just talking about unit tests either, or TDD, which I find are nothing more than buzzword bingo.

Take your testing as seriously as your development. Not just in the details of the implementation, but understand your user and your use cases. Write end-to-end test suites, integration tests, and unit test complex logic.

Don't be one of those "unit testing is enough" or "I TDD all my code." I find the more time people spend on little testing, the bigger problems seem to fly through to prod.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#372
post #351

Earlier quoted context omitted.

There's a balance to be struck there, though, and pejoratively referring to the seeking out of ways to improve as "CV driven programming" probably isn't the healthiest attitude out there. If you're not doing new things, you run a very great risk of sitting in a weak local maximum. Don't fix what isn't broken--but you need to be stretching out, too. Not doing so induces a sense of stagnation to a team and can chase of…

I agree there is a balance to be met. For greenfield applications, chose whatever the customer ask for on their Request For Proposals, or suggest modern solutions if they leave it open to proposal reply. On existing solutions, deployed for several years on the field, actually measure what it brings in regarding business value. Either in terms of reducing project costs thus improving profit, or improving customer UI/U…

> What I am against is just adopting tech that doesn't improve anything

How do you know what improves what if you don't use it in anger?

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#373
(Not at 10 years, but...)

Take care of yourself. You are not a robot. Showering, skin care, hair care and sleep are important. It's worth it to go to a good stylist regularly. If you're happy, you're doing better work, and most importantly you're more approachable to your coworkers.

Don't ignore mental illness. It needs to be dealt with aggressively, on multiple fronts, until you've figured out the right ways to cope and be functional.

You can't just code alone in a corner. You need to socialize with your team, or you'll miss out on the meta knowledge (patterns, styling) that's being passed around the team.

You are smart. Give it a few years, and those impossibly talented and brilliant senior programmers will be your peers.

Don't be afraid to refactor and change code. The person who wrote it didn't know what you do now, because business requirements are constantly changing. Be aggressive - sticking TODO statements in code isn't going to fix technical debt.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#374
post #302
post #185

Earlier quoted context omitted.

> Work somewhere where software is the main product and not just a cost center. I've done both and I can't say one is better than the other. I've worked on software products where marketing couldn't figure out how to sell it and kept changing the core functionality. Or where the CEO kept shoving his ludicrous ideas onto development. I've worked on rewarding IT projects where I worked very closely with the users and w…

> After 28 years, I ended up preferring working close to the actual users. This is key.

this! but also note users and access to them is what "IT" have and "software" often struggles with. Run some field trials, do interviews and field visits to support requirements analysis...

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#375

Earlier quoted context omitted.

Automate things and make people's jobs easier. Then you're valuable.

That's reducing costs rather than increasing revenue. Of course, within a limited range they are equivalent but you really only have respect in a lot of organizations if you contribute towards the latter.

Odd - because margin being what it often is a dollar saved is worth three/four... ten... ?

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#376

Everyone's code basically sucks, including yours. The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learning. Learn from your seemingly smarter peers, but don't idolize them. Chances are they will leave the company long before you do, and you will figure out that their coding skills aren't all they are cracked up to b…

> The boundary between a beginner and a coding rockstar really isn't very great

I'll add to the chorus here and say this is not only untrue, but so untrue as to be absurd. By all means caution against hero worship and remember that even those with exceptional talents are human, but don't misinterpret that lesson to mean there are not vast differences in quality between a beginner and an expert.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#377
Enthusiasm is great, but over-working and burning out is easy to get to - so make sure you take care of yourself.

Be delivery-oriented and don't be afraid to make design mistakes - it won't be perfect on the first time anyway.

Know more than your niche, get out of your comfort zone once in a while.

Respect your co-workers - even if they make mistakes, it's OK, you will too at some point.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#378

I have been developing professionally for 20 years and I'm in my early 40s. What I've learned: * Salary compression is real: most companies are not going to keep giving you raises to match what the market would give you for your skills. They would rather you leave and take all of the institutional knowledge with you than pay you the amount you could get elsewhere. Even if that means hiring someone else at market valu…

Where are you at geographically? I've never had good luck with the local recruiters in Silicon Valley, but maybe they're better in places with less info about market rates?

Recruiters are almost universally horrible, but there are usually a few out there in any market that have at least some idea what they're talking about. They are real diamonds in the rough and can take years to find, which makes them even more valuable.

However, sometimes even horrible recruiters can help you get a foot in the door somewhere. This is especially true with temping: you show up and start working right away with a minimal interview process. It's a great way to subvert corporate HR machines and get in the door and start making connections.

If you're looking for a new job of the type that recruiters may have, submit your resume to them and let them spam it out for you, but be firm with them when they want to waste your time by sending you to something that you know is a dead-end, or when they're trying to set up "check-ins" or other meetings that don't have a client/potential employer in attendance (do note that most will want to meet you once to look you over and make sure they won't be embarrassing themselves by sending you to an interview, but once the relationship is established, resist further recruiter-centric time waste).

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#379

Work somewhere where software is the main product and not just a cost center. You can learn a lot quickly if you do cutting edge things with people who care about technology and not just cost. Solve real world​ problems. Doing elegant things is very difficult because the real world is much more convoluted than theory. Do a few things in depth. Don't jump at the latest thing every few months.

I agree with all of this and I think there is a third category of job where is software is neither the main business, nor IT. Once you have developed the necessary software skills in a "software house", in my experience, the best thing to so is to get stuck into a particular domain , where the company needs software developed (not IT), but is not the main business. These jobs and contracts attract the best $, but als…

If you want to distill it to one factor it's to make sure you and your function are a respected part of the company and not just something that's easily replaced. If you are in that position usually the $$$ is good and the work is interesting.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#380
post #305

Earlier quoted context omitted.

At some point your brain stops working, you won't be able to compete with fresh graduates, the capability:wage ratio will be very low in your case; you'd get a prompt boot, never to be able to be employed on the same level again. Experience in our field has negative value and unless you get another M.S./PhD every 10 years to demonstrate you are still on top, you are toast.

False so far, and I'm 55. I kick the rear end of fresh graduates. They can type a lot faster, turn out more lines of code per day. Great. I don't write the bugs that they write, so I don't have to take the time to find and fix them. I don't make the design mistakes that they make, so I don't have to fight the design flaws to get things done. They work harder; I get more done, and I get paid accordingly. And if you th…

[deleted]
Post reply on HN