Live data from Hacker News

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

news.ycombinator.com

331–340 of 538 posts

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

#331
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…

You are probably in 1% of lucky ones. Imagine you have a bad year (sickness, family issues etc.) and you don't have management that is used to you around (e.g. there is a reshuffling). How long would you manage to stay? You should put this into your equation. I also dislike being a manager but I am more capable manager than all managers I've been under (maybe I am just unlucky but I don't think so). We all know the best teams self-organize and don't need managers, yet all companies enforce some power structure around to keep control, and reward mainly members of that power structure.

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

#333

My wife hates it when I say this. (She's QA, I'm dev.) One of my best skills is assuming. I have to make tons of assumptions, and if I stopped working whenever I didn't know the answer for sure, I'd never get anything done. Instead, I make my best guess. If I'm unsure enough, I'll also send off an email stating my assumption and asking for direction, but I'll still keep coding based on that assumption. I am almost al…

"but I'll still keep coding based on that assumption." That's terrible advice. If you're unsure of what you're supposed to be doing, you should close the computer and start exploring your options with pen and paper before doing more damage. If you keep going based on assumption, you drive halfway across the country in the wrong direction like in Dumb and Dumber. Sometimes it's better to do nothing at all than to infl…

I agree with the grandparent 100%, but there can be risk as you indicate. The implication is the risk is situational and hardly ever applies. I too drive forward on assumptions, and I get a lot done, more importantly, I get a lot done that my boss CARES about. Thus, even though I only actually work a few hours a month, I'm perceived as a high achiever. There's a lot of wisdom in what the gp says, take heed!

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

#334

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 unless you are getting into the realm of computer sciences, like machine learning. This is really untrue. On the surface, code might look the same between a beginner and a senior developer, but the decisions underlying the code will be night and day. Beginners will solve the problem of the day directly, with no care for introducing comple…

In many fields, it takes a master to make everything look easy. It really seems to be the same with programming.

Coming from the other direction, just because it's straightforward to you doesn't mean it's obvious to everybody else. Try to be patient.

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

#335

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…

> Everyone's code basically sucks, including yours. Which is why I'd say, unit-test your code, or TDD, or something. When you look at that crap months later, your mental model of how it all works has completely eroded, and only the test suite is left to preserve your expectations as they existed back then, preventing you from wasting a lot of time stepping on your own toes while you re-grok the big picture, if you ha…

Yeah, I started using TDD, and now I sweat over my tests instead of my code.

Same general quantity of perspiration either way.

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

#336

I wish I knew I could save aggressively and achieve financial independence in a relatively short time frame. Even medium salary programmers in the US can save the bulk of their income and retire early (if they so choose). I'm on track to retire in about 4 yrs but wish I had done so quicker. http://www.mrmoneymustache.com/2012/01/13/the-shockingly-sim...

Indeed. One addition to this: retirement isn't about quitting working, it's about having the OPTION to quit working, which means that you can pick and choose the kinds of positions that really interest you, or that have some social value, or whatever - you don't have to be a wage-slave any more. You can achieve this by following the Mr. Money Mustache thing & basically deciding that the you 10 years from now will like you a lot better if you do it.

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

#337
post #145

Earlier quoted context omitted.

This. Make your _business_ case, not a technical case. This applies to software engineering, security engineering, etc. The above comment does not absolve you from doing cool things, it's just that the cool things should align with business interests. No yak shaving. Sometimes writing a one-off script will take 30 minutes, and doing it by hand will take 10. Do it by hand.

Here's my problem. I'm not particularly prolific, so the number of ideas I have far outweighs my execution so far. This is mostly due to ADHD and other issues which I'm working on fixing, and while contextually relevant is not my point. This lack of prolific-ness means that I have a literal tower (it's rather intimidating) of wanting to build cute but objectively not so useful routines simply for the sake of building…

Your completely right, and it's something only someone with ADHD can understand. Depending on how bad your ADHD is, mental partitioning will be incredibly difficult thing to do and that has everything do with lack of attention/focus regulation.

You will have to find a way to develop the capabilities of your brain(working memory, long term memory, task execution and completion, focus and accuracy). You will have to do something that you have been evolved to do which is to have a creative outlet (Dancing, Music, Art) to develop those abilities. There has to be a task where you have infinite focus/hyperfocus, that builds a higher ability. In a sense you don't have to do something that is hard, but something that comes natural and something that grows.

The sequence of steps and motions that are required for dance, movement of muscles to precisely line up with the notes of a song, to reproduce the form of a drawing/painting all require some sort of mental partitioning. These things are all interrelated. I personally have only scratched the surface, because things become infinitely complex I have to decide what is the most important develop. If your lucky enough to be creative and logical these abilities will bleed into each other.

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

#338

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 respectfully disagree. My experience says the difference between a beginner and a really good, experience coder, is HUGE, and not only on fields like "machine learning" but in everyday commercial systems. Unless, of course, your platform is something like Java where everybody is crippled to an extreme degree. That is, if you get 400 peo…

Also it makes a huge difference for the next person who'd work on that codebase to add a new feature. Doing that could be anything between a breeze to a blazing nightmare depending on who wrote those codes earlier.

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

#339
- That it's a dead beat job. Get into something with more money like finance sales or management. There's no real money except for the few rare top 10% performers at Google,Facebook etc.

- software is just pure crap. Tools are crap environments are crap libraries and frameworks are crap. Nothing ever just works but endless nonsense and meta problems.

- career progression is shit unless you're really few of those superstars at an organisation that appreciates technical skills. Or unless you have other skills such as bullying ass kissing or office politics.

- regarding code itself. Code as little as possible. Code is very expensive so you want to solve your problems with as little code as possible ideally without any code.

- be aggressively lazy. Don't do anything that really doesn't need doing. Focus your effort on the few things that really matter. Remember hard work has no intrinsic value. Engineers in general don't understand this.

- don't be sloppy. The things you do code while you try to minimize the code the code you do write needs to be at least ok quality.

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

#340
Most programmers (you included) will tend to build things not because they are the correct solution for the problems at hand, but because they are interesting and just happen to solve at least some aspect of the problem.

When this happens repeatedly over time in an organization you wind up with a large, complex codebase that tends to solve problems in pieces and at scales other than the correct level (i.e. as the user experiences it).

Usually, the best approach to solving the largest portion of the problem at hand does not involve writing code, and if it does, it won't be code you are interested in. Such is life as a programmer.

Post reply on HN