Live data from Hacker News

Ask HN: What is your best advice for a junior software developer?

news.ycombinator.com

411–420 of 460 posts

Re: Ask HN: What is your best advice for a junior software developer?

#411
post #146

Earlier quoted context omitted.

> Read at least HackerNews and possibly some other tech news site regularly. And then make sure to not get too caught up in the hype for new stuff. Interesting because I advise the exact opposite: do not waste time reading HN, just find one thing that is interesting and master it. Then repeat. As much as I like HN there is a lot of noise here. Novice mind can easily fall into a trap looking for signal here.

I've gotten a lot of value from reading HN. I've also wasted a lot of time. It helps to develop a personal filter. Mine is * Avoid headlines that make me angry, unless the news is really important. The discussion is never worthwhile, don't even bother. * WSJ, Bloomberg, and WaPo won't let me read articles with w3m, so I skip the article. If the topic is tremendously interesting, I'll check the comments. * TED and nau…

I eschewed QBasic early on because it wasn't "real" or it was derived from Basic. This was a mistake.

I spent a long time trying to become good at C++. This was also a mistake.

I ignored Python for a good 2 years because of indentation. Again, a huge mistake.

Great suggestion on anger inducing articles/comment sections. I was just thinking it would be nice to do sentiment analysis and incorporate the emotional vector into both the dynamic rules and the layout. At least put a badge on the discussion so I can know to stay away.

Re: Ask HN: What is your best advice for a junior software developer?

#412
post #196
post #76

do not burnout I know you are young and you feel like you're invincible. I know you can pull an all-nighter and work the next day just fine. We have all been in that situation and believe me, it is gonna take a toll at your performance ... and it could even trigger or help you develop some health issues in your life that can sabotage you down the line. Realize there's only so much progress one can do in the day. Stop…

Couldn't disagree more. Burnout sucks... and the crash was terrible, but the things I accomplished leading up to my burnouts were the best work I've done in my life. Here's what I would say: DO IT FOR YOU, not for someone else, not for a company... do it for yourself and what you want to accomplish in your life

I don't think anyone that's been truly burnt out would say something so stupid. It feels like a constant handicap on my skills and abilities. I don't think I'll ever perform to the standard that I did before, and this feels like a great shame given I have my career ahead of me, rather than behind me.

Re: Ask HN: What is your best advice for a junior software developer?

#413
post #396

Earlier quoted context omitted.

"object orientation is a failed paradigm" uh... wtf?

Here's an explanation from Casey Muratori: https://youtu.be/GKYCA3UsmrU?t=4m50s See also Mike Acton (Engine Director @ Insomniac Games): https://www.youtube.com/watch?v=rX0ItVEVjHc

You aren't going to get a lot of support for OO in places where it isn't really necessary like games, and especially games with single developers. At that point the management of data is on the developer. Essentially one is saying that if they fuck up the data, that's on them.

OO is handy in enterprise software where there are lots of developers who may not understand why things are the way they are, they just need to do something. In big, complex systems where a lot of things are going on, if you give someone a noose, they will hang themselves. OO can protect data from some (of course not all) unintended consequences.

Re: Ask HN: What is your best advice for a junior software developer?

#414

Earlier quoted context omitted.

I've gotten a lot of value from reading HN. I've also wasted a lot of time. It helps to develop a personal filter. Mine is * Avoid headlines that make me angry, unless the news is really important. The discussion is never worthwhile, don't even bother. * WSJ, Bloomberg, and WaPo won't let me read articles with w3m, so I skip the article. If the topic is tremendously interesting, I'll check the comments. * TED and nau…

I eschewed QBasic early on because it wasn't "real" or it was derived from Basic. This was a mistake. I spent a long time trying to become good at C++. This was also a mistake. I ignored Python for a good 2 years because of indentation. Again, a huge mistake. Great suggestion on anger inducing articles/comment sections. I was just thinking it would be nice to do sentiment analysis and incorporate the emotional vector…

I'm curious - could you elaborate on your mistake regarding spending too much time on C++?

Re: Ask HN: What is your best advice for a junior software developer?

#415
post #248
post #244

I advise junior developers that there are primarily two difference between a junior and senior developer: 1) A senior developer is unafraid of not knowing things. When we join a new team or company, we're as lost as any junior developer joining them team. We ask as many questions as necessary to get our work done effectively, without shame or fear of looking foolish for not knowing things already. We are good at sear…

I would argue willingness to say no is what separates junior from senior. In my experience it actually leads to Juniors being abused a lot of times being given dumb projects someone should have said no to. Then code review rolls around and the seniors are like “what is this” and there’s a dumb fight. Lol. Maybe that’s just the places I’ve worked.

I don't think you're the only one who has experienced this; we hired a couple of new grad programmers recently and they've really been put through the ringer. Not necessarily on dumb projects, but projects that one might categorize as urgent but not important.

Re: Ask HN: What is your best advice for a junior software developer?

#417

Unless you already have a kick ass social life (hanging out with your mates in a bar or at a soccer/football match doesn't count): learn Argentine/Rioplatense Tango. It's the hardest couple dance and best suited for engineers -- for many reasons. If ballet is the assembly language of dances, tango is C. ;) AMA. :] TLDR; I would give an eye or a hand if someone had given me this advice when I was 20.

> It's the hardest couple dance and best suited for engineers -- for many reasons.

Please do elaborate!

Re: Ask HN: What is your best advice for a junior software developer?

#418

Earlier quoted context omitted.

I work in QA and I wish more developers thought this way. Also run your code before hand off. Please. If I had a nickel for every time I got a user story or bug to validate and it immediately crashes then I would have a bunch of nickels. Which wouldn't be super helpful, but still. Please at least run your code, or ideally you should have CI/CD with unit tests, but we all know that isn't always the case especially in…

It's easy to make the assumption that developers haven't ran the code at all, but I find in reality that's rarely the case. In my experience it almost always has something to do with an unexpected environment variant. It's very easy as a developer to get so comfortable with the "happy path" of navigating code that you forget to look outside of the happy path when devising your test cases. It takes time to learn to id…

This! I spent the first half of my career in QA. This second half in dev. Coming from QA I'm very meticulous about everything and yet as soon as it leaves my hands something comes up. This is why I'm a big proponent of QA. I had a chat with someone who was pretty much dismissing QA because they had the mindset of I'll just test it or my cofounder will help. It's terribly surprising what goes down outside the confines.

Re: Ask HN: What is your best advice for a junior software developer?

#419
post #160

Read the error messages. Reread them. Extract every piece of information from them. Never close an error popup without having read and understood what it means. Always read stack traces when you're blessed enough to have them. 100% of the juniors (and an awful lot of seniors) I've ever trained simply ignore those and then come ask for help debugging. 99% of the time, the explanation for their problem is literally the…

I really like your last point "whatever the computer is telling is true from the computer point of view". In a surprising number of coding interviews that I've conducted, I've seen a candidate write an incorrect solution that generates an exception and then attempt to figure out the error almost on first principles, rather than actually reading the exception carefully and thinking about what coding errors could have…

In principle, I couldn't agree more. I get this from time to time, someone is stumped on an exception and after seeing it, I usually go "well, it's a null pointer exception in this method, so from looking at the code, it could come from these 3 places".

The pattern I see there is that a) in release builds, exceptions on many platforms suck. Things get inlined, parts of the stack trace are missing etc. If you understand why that is, that's not so much of a problem. But: b) people often have this Voodoo-like mentality about this. They often see the 100th stack trace that doesn't make much sense and try to wing it, because that's obviously always the case. The best thing you can do look at them together: Lead by example, think aloud and you might just teach someone how to read it in a better way.

It's rather important you have a consistent and accurate mental model of why your stack traces are mangled, lest you end up like one of those beasts that got random treats in B.F. Skinner's experiments and ended up with the strangest behaviors possible :-)

Re: Ask HN: What is your best advice for a junior software developer?

#420
post #227
post #225

Earlier quoted context omitted.

And in the opposite direction: remember when you are writing error messages to include all the relevant details, and never ever write "this shouldn't happen" or "document later".

What about, log_panic("If we have somehow managed to hit this code path, this project if FUBAR. I would recommend giving up and starting over.")

Somehow reminds me of Aliens:

  I say we take off and nuke the entire site from orbit. It's the only way to be sure.
:-)
Post reply on HN