Live data from Hacker News

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

news.ycombinator.com

201–210 of 460 posts

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

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

Aren't young people allowed to, well, be young though? When you don't go to nightclubs, don't have friends to call at 1am and can't play guitar in your 400sqft apartment with neighbors on all sides of the world's thinnest walls, is it a terrible thing if coding all day and all night on relatively minor problems to make somebody else five figures a week is your primary source of excitement? Does it not beat alcohol an…

I believe that most of us that 'made it' (past the kickstart/young-ish phase) have experienced burnout at some point, and we know how much it can delay us from making progress...

That's why I think we should at least try to warn our younger friends that all that eagerness to 'make it there' might actually hurt them in the process. Consistency is key and will take you far, because you'll keep on delivering.

Your boss most surely won't remember of your "weekend hero/superstar" phase when you're having a one or two month downtime period because your head isn't right, and your body isn't working okay from all those jolts you've given yourself from your caffeine micro-poisonings. He'll ask "are you gonna keep me those deadlines?" :-)

So yeah, we should leave the young people be young but the more information, the better.

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

#202
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 think a lot of the time people are perfectly capable of figuring out the issue on their own, however they ask for help for social reasons. Getting another person involved in the problem is way more fun, and creates a bond between both people.

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

#203
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 caused it to happen. The exception message is a _huge_ hint!

It's a red flag to see someone try to debug without paying attention to it. Conversely it's very positive to see someone encounter one and then think carefully about it. Writing an incorrect solution but then testing it out and showing the ability to debug and fix it systematically and expediently is no worse than getting it right on the first try, in my book.

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

#204
post #197
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…

In general, I agree that juniors tend to skip useful information, but it depends a bit on the technology you are working with. PHP, for example, was known to report the error for the line after the one you forgot the semicolon at or at the line after the last line of the file when a parenthesis was missing somewhere. While there is a reason why it did so, those are error messages which are quite hard to understand th…

My comment is a bit extreme in its tone indeed !

It's just that it's the advice I've given the most by orders of magnitudes, and I'm still amazed (and a bit weary) it's worth even mentioning. And to make it stick, I've removed any nuance of it...

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

#205
Ignore the bullshit.

Languages are tools, and you are a craftsman (or woman). In the same vein, a carpenter doesn’t scoff at using a wide variety of tools and of course has favorites but doesn’t get caught up in them.

Frameworks will come and go, understand how they work under the hood. Understand how Node works, aka V8 engine + C++. Understand why React is so popular but also understand it’ll pass in time as well.

Most of all, just find what you enjoy in programming. If you don’t like architecture that’s totally cool. If you love writing middle tier software, that’s cool. If you like being full stack, totally fine. There’s plenty of jobs in each area so spend time finding what you like.

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

#206
post #202
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 think a lot of the time people are perfectly capable of figuring out the issue on their own, however they ask for help for social reasons. Getting another person involved in the problem is way more fun, and creates a bond between both people.

I've observed this a few times, too.

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

#207

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. As someone working in technology, you are going to be learning new stuff continually (or your usefulness is going to diminish over time). By keeping up to date with tech news, you get a lot of context for what people are using, what's coming down the pipe etc. You may end u…

Along the lines of reading HackerNews, read TheDailyWTF.com on occasion. It's fun and entertaining, but that's not why I'm recommending it. A lot of the bad code, bad error messages, bad designs, etc. were not necessarily done by someone _incompetent_, but rather people who are simply inexperienced in one way or another, or were in a rush to meet a deadline and weren't careful.

(At a former company, working in a team full of very strong engineers, we still found one dialog box of ours end up on that site once, and the issue it demonstrated led us to a bug in the code.)

If you start seeing things on there that look like something you'd have done, don't beat yourself up over it, but learn why those are WTFs and re-evaluate how you're writing code/designing software.

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

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

Definitely this. Reading logs is a skill. It's pretty much the same for debugging. I notice the juniors often start to look at where the problem may be. I usually try to first look where it isn't, so I can drill down to where it actually it, in stead of just looking at code and hoping to find what's wrong.

Totally concur, that's very similar to the method I explain to folks when they ask how I go about debugging.

I've always visualized it in my head kind of like a binary search tree, or maybe the bisection method in math for finding roots. I want to think about as little code as possible, so I take steps to cut the problem space down as dramatically and quickly as possible.

Plus, the less I have to think about when debugging the less likely I am to end up with an actual headache.

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

#209

Ignore the bullshit. Languages are tools, and you are a craftsman (or woman). In the same vein, a carpenter doesn’t scoff at using a wide variety of tools and of course has favorites but doesn’t get caught up in them. Frameworks will come and go, understand how they work under the hood. Understand how Node works, aka V8 engine + C++. Understand why React is so popular but also understand it’ll pass in time as well. M…

And understanding how different technologies work will help you build expertise in future ones more easily. Technologies are not usually born out of thin air, they inherit approaches from earlier ones.

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

#210
post #146

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. As someone working in technology, you are going to be learning new stuff continually (or your usefulness is going to diminish over time). By keeping up to date with tech news, you get a lot of context for what people are using, what's coming down the pipe etc. You may end u…

> 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 nautil.us are the information verison of empty calories. I've never gained any long term benefit from reading them.

* Javascript framework churn is intense. It's not worth trying to keep up with the details unless you do web development. If, like me, you don't, it's still worth reading the headlines to keep abreast of what frameworks are popular, what paradigms they embody, and who's pushing them. This changes every six months or so.

* It's always worth scanning the comments in threads about programming languages. There are some really interesting people who sometimes jump into those threads and blow your mind.

* Know your prejudices and look for information that challenges them. My prejudices are that I think Windows is lame, that MacOS is infuriating, that Javascript is terrible, that vim is better than emacs, and emacs is better than IDEs, and object orientation is a failed paradigm. So I look out for articles that have a different point of view. I've learned that Microsoft has some really interesting technology, that Apple is infuriating even to its own users but it doesn't matter because they're sitting on the world's biggest pile of dollar bills, that Javascript is usually unnecessary but occasionally useful, that kakoune is even better than vim, and that nobody agrees about what object orientation even is.

Post reply on HN