Live data from Hacker News

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

news.ycombinator.com

201–210 of 538 posts

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

#201
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 "problem" sounds different the one I currently deal with.

My current solution is to have a backlog and spending time to prioritize them. I'd focus on my top priority, and continue writing down new ideas as they come into my mind. When I finish with the top priority, I re-evaluate to find out where the recent ideas fit in. I'd also look into reading about the agile methodology.

If you're like me, ideas come in very frequently. Embrace your creativity and ambitions by logging them. But try and shift your mindset to thinking about what is actually necessary for the final product.

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

#202
Don't get so involved in technical details that you don't pay attention to the business.

Your company will try to stab you in the back one day, so you have to keep an eye open for it. Always reserve 1% of your career energy towards looking for a new job greater than or equal to your current job. Whenever you find one, take it, and just keep on looking. (If you do contracting, never let any single client represent more than 50% of your total income.)

It's harder for them to hit a moving target. And even if they do get you, they're more likely to just wing you instead of hitting something vital.

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

#203
post #101

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 "recruiter" = "freelance recruitment agent": there are an awful lot of bad ones, so if you find a good one hang onto them. They're less likely to be blacklisted by employers.

I've never had a recruiter that submitted me to a company without my permission. I also don't post my resume. I only give it to recruiters after talking to them and knowing the company they represent.

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

#204

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.

> Work somewhere where software is the main product and not just a cost center. This is THE big difference between S/W dev and IT. For 20 years I worked in the former, and for the past 10 in the latter. No question about it: IT is hell. Theirs is a never-ending mission to reduce the cost of moving data and being "compliant" with often-meaningless ever-excessive corporate standards (and forever meaningless MBA/CIO fad…

Marc Andreessen argues [1] that this will soon have to change.

I work at an SV software vendor which sells to big enterprise IT groups. From what I have seen, firms are starting to take their IT groups more seriously.

[1] http://a16z.com/2016/08/20/why-software-is-eating-the-world/

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

#205
post #36

If I could go back in time and give myself advice it would be: 0) Nothing is too hard to do, no matter how much those doing it might seem like towering titans many levels above you, or how out of your reach it may seem. Nothing is too hard, there are only things that take time, and things that take more time. If you put in the work, those titans will be your peers before you realise it. Of course, you can't do everyt…

Regarding 2, how do you suggest I avoid "spinning my wheels and learning nothing"? Over the last 6 months I've becoming increasingly aware of this problem with me, but I don't know how to fix it.

Whenever you set out to write something, write it differently than last time you did it. It takes conscious effort and a lot of getting used to but actually stopping and thinking about alternative ways of doing something is a practice in itself. When you act on these thoughts, you're most definitely practicing, and quite probably improving.

This approach scales from the tiniest pieces of code to whole systems. If your last loop was a simple `for` loop, try writing the next one as a call to map function. If your last loop was implemented as map, write a simple `while` the next time. If your last app used Postgres for persistence, use Redis or CouchDB for your next one. If you're comfortable with MVC, use MVVM for your next project. If you're fine with dynamic typing, try using statically typed language or dialect.

Seriously - do it. Nobody is going to say anything to you: they all do the same to stay relevant, even if they know it's not the best strategy for a team as a whole. Make it your policy not to repeat yourself and only fall back to the tried-and-true ways of doing things if there are external circumstances which put you under some great pressure.

After a couple of years of this, you'll accumulate most of the techniques and skills you could ever need. The techniques and skills I talk about are transferrable between tech stacks to a certain degree, are impossible to learn/master quickly (no matter how intelligent you are the amount of information is simply too great) and really matter in practice. That knowledge is what differentiates senior programmers from others.

Anyway, good luck!

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

#206
post #84

I've been coding professionally for 20 years, a lot of the comments below are legit, but I figured I'd add one or two more: - As many people point out, the languages don't matter - something better and newer will come along, and you'll need to adapt, but that's not where programmers provide value - they provide value in understanding how to solve the problems that the business side is facing. It's easy to find someon…

I completely agree on every point here. BTW, what training would you recommend for the management route?

Join a nonprofit in a board level role. The local chamber of commerce has leadership training.

Negotiate.

Read https://pragprog.com/book/rdbcd/behind-closed-doors

Identify and measure the output of your team. Track your performance by how fast your team creates value. Reduce variance first, then add speed, then more capacity.

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

#207
post #84

I've been coding professionally for 20 years, a lot of the comments below are legit, but I figured I'd add one or two more: - As many people point out, the languages don't matter - something better and newer will come along, and you'll need to adapt, but that's not where programmers provide value - they provide value in understanding how to solve the problems that the business side is facing. It's easy to find someon…

I completely agree on every point here. BTW, what training would you recommend for the management route?

[deleted]

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

#208

I spent a long time never bothering to master semi-advanced text editor or ide features. Like really simple stuff like moving forward/back by a word at a time, deleting a word at a time, hopping to next/prev brace/paren, renaming globally, doing everything without needing the mouse, multi-select etc. You can go even deeper and get into deep VIM style skills but there are many very easy things to learn that let you do…

Okay, so as someone who is less than 4 years into programming what are the key common shortcuts(not they're actual hotkeys just which ones are used the most) to learn for semi-advanced text editors and IDE's? EDIT: thanks for the advice guys, I use Jet Brains range of IDE's for school cause free licensing and I'm using VS for my summer internship. I'll look into emacs though, thanks for the suggestion!

For anyone that uses sublime text 3, the package sublime tutor[1] is very interactive and thorough.

[1]: https://sublimetutor.com/

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

#209
post #121

Earlier quoted context omitted.

I have noticed there is a stark contrast between those who are aware of the political environment and those who aren't. You seem to be hyper aware and 'plugged in' to hear these stories. Most developers just write code and post memes on the team slack/hipchat channel, completely oblivious to things going on around them. You should blog about some of this, changing names and obfuscating to "protect the innocent" so to…

Maybe it's that half of my family are politicians/lawyers, many of them leaning towards high-performing psychopathy and observing their behavior since being a child, their attempts to control me, expressing frustration I figured out their game and deny them, and then observing the same at work with those "ambitious persons", thinking anyone that does work is an idiot and should be handled like a child in a kindergart…

The comments you wrote in this thread really hit me. I truly appreciate your writing them down, and as other posters have said, writing a blog post about this would be really helpful to us. What you're saying is true. No one cares about the tech.

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

#210

Read more into things than you need to given the opportunity. Let's say you need an icon for something, but don't know much about design. Once in a while, try making it on your own. Learn about the pen tool, image formats, etc. Let's say you need a simple SELECT from MySQL. Read more into how they actually work under the covers, in large-scale environments, or how they change for MSSQL / Postgres. Let's say you need…

That's a luxury that many people probably don't have, as most people have to get things done under certain timelines.
Post reply on HN