Live data from Hacker News

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

news.ycombinator.com

171–180 of 538 posts

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

#171
In retrospect, I wish I had spent half as much time learning how to be better at social and team-building skills as I did learning programming. Both as a team member, and as a manager.

During my career I've spent a lot of time resisting and rejecting the overhead of time spent reporting what I'm working on and to some degree careful planning for the future. Like a lot of programmers, it only takes one or two short meetings a week before I feel like it's too much and meetings are a massive waste of time.

My first real job coding CG effects at DreamWorks, I got a black mark in my personnel file in my first 6 months for complaining about being asked to show my progress once or twice a day. It was during a 3-4 week coding project, and it took about and hour to prepare for dailies, so it seemed to me like I was being asked to sacrifice 25% of my productivity, to the detriment of both me and the company.

A few years later I'd been working on a shot for a month, thought it was exactly what they had described, and pretty good and close to done. But it kept not being finaled. Three months later when the director approved it, I looked back at what I thought was near done month 1, and it was crap. I realized that we sit in meetings and describe in articulate detail what we want to achieve for hours, everyone agrees vigorously, and people still walk out of the room having completely different ideas. I realized I need the overhead for course corrections for what I'm doing -- I will veer too far away from what others want without fairly continuous feedback. After seeing that in myself, I see it everywhere with others, programmers working too long by themselves will make what they want and not what the team needs.

Communication is what I want to improve. Not more of it, but how can we make it better?

I also wish I'd gotten out of C++ and into web earlier. ;)

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

#172
I started off in .net, where historically all functionality not provided by the .net framework is offered at a financial cost.

if you don't have a large team (who can help with bouncing ideas, etc), the benefits you get from using module ecosystems like npm or pip can not be understated.

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

#173
post #113

Earlier quoted context omitted.

> Work somewhere where software is the main product So a software company as opposed to working in an IT department - programming and solving problems that really _aren't_ interesting? That's one of the main things I crave these days (and I think it would make a big day-to-day difference) is to work at a software company as opposed to a company who leverages software.

It's even a money/salary issue. There is a huge difference between the CEO seeing you as someone who makes money for the company as opposed to just being an expense.

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

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

#174

That shipping stable software that works and meets requirements is what people really want. In other words, what the non-tech business people want, or your customers want, is software that fixes their problems, makes their lives easier or makes them more money. It's easy for us programmers to become fixated on using a newer JS framework, a slightly tighter Java loop or the latest cool language. Took me a few years to…

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.

I printed this XKCD specifically to remind myself that some things aren't worth automating!

https://xkcd.com/1205/

On the other hand, sometimes you're automating for reasons other than time savings. Maybe reproducibility or auditability.

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

#175

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 the highly customizable text editor like emacs (the better one) or vim, start with a the editor from scratch and build it out. Look for the 'popular' configurations in the editor's community and glean cool snippets from it. That is what I did with emacs and once you get in that discovery and tinker state of mind, you will always learn something new that just blows your mind and makes your life easier.

The TL;DR: dive head first into some editor and try to immerse yourself in the thinking of the editor.

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

#176

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…

This a really good point that I've realized just recently. I'd also like to add that integrating your build system with your editor can be a great productivity boost. If you watch someone like Gary Bernhardt program, you can see that good editing skills and build/test integration allows for very quick edit-build-test cycles. You can iterate fast and catch stupid mistakes early.

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

#177
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 always right, and I get a lot more done because of it. Even if I'm wrong, it's going to be a lot quicker to rewrite what I've done than to have done nothing and have to do it all after I get the reply.

I'll answer a question you didn't ask, too: What do my bosses wish I'd known when I started?

That saying, "no," isn't a good answer. Never just reply "no" when someone asks if something can be done. Find out what they're actually trying to do, or suggest an alternate way to accomplish it that can be done.

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

#178

Earlier quoted context omitted.

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

Having regrettably started from the IT side, it's seemingly impossible to make the jump to a software company proper. Nothing I do day-to-day is flexing any mental muscles an interviewer would find sexy. We're like a permanent underclass of undesirables. Without spending time outside work to focus on sharpening basic undergraduate CS knowledge, I know I'm getting objectively rusty at the types of problems I actually…

I have a background in Electrical Engineering, and six months ago I made the jump into my first pure software role. I worked up to it, doing lots of projects on my own time. Just a data point, that if you want to get somewhere you have to start wherever you are.

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

#179
post #56

There is no future in software development as a job. Move to a management position quickly, network, make friends with decision makers, don't spend too much time on crafting your skills, your reward for perfection will be more insane work and crazy interviews where one part not 100% done kicks you out. Work on your appearance, kiss up, lift, dress properly, use anti-aging cosmetics, make cool looking hairstyle, wear…

I knew you were joking when you said our field used to be a meritocracy.

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

#180

Earlier quoted context omitted.

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

Having regrettably started from the IT side, it's seemingly impossible to make the jump to a software company proper. Nothing I do day-to-day is flexing any mental muscles an interviewer would find sexy. We're like a permanent underclass of undesirables. Without spending time outside work to focus on sharpening basic undergraduate CS knowledge, I know I'm getting objectively rusty at the types of problems I actually…

Would you think that it's not sexyness, but applicability? What values do you bring to the table that a SW company would need?

Because I bet you that you could find some if you switched from targeting straight dev roles to something else that is part of a SW org.

Post reply on HN