Live data from Hacker News

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

news.ycombinator.com

51–60 of 460 posts

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

#52
post #49

On the slightly more negative side: everything management tells you that's not in an email will have "never happened" when it's convenient. When you have a conversation with anyone where you think a plan was verbally agreed on, before doing anything your first action is to go back to your desk, write it in an email, send it to them as confirmation and find at least 1 other person, ideally in your reporting line, whic…

And it doesn't even have to be any malice. People forget things, (re)interpret things until a thing is no more, or just misunderstand them from the get-go.

This is a good advice, glad to see it. While it won't be helping you much to get through your day, it'll count where and when it matters a lot.

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

#53
Try to sleep 8 to 9 hours every day. In this JRE podcast [0], Matthew Walker, a sleep expert, claimed that sleeping poorly can decrease your performance by 30%.

Strive to maintain a good work-life balance. Burnout sucks. Your health and family are more important than work. A workplace that doesn't consider this to be the case is likely to be toxic.

As for actual software development advice... Beware blanket statements. They can help you develop a low-resolution model so you don't suffer from paralysis, but real-world problems tend to be complex and messy.

Here's an example: if you were building a traditional web app, many software engineers would probably suggest using something like PostgreSQL. That doesn't mean other database technologies don't have their place. However, PostgreSQL is able to adequately serve a large category of problems with relative ease, so it often makes for a sensible starting point. Once you become more familiarized with that domain you'll develop a higher-resolution model and you can begin to evaluate other technologies more effectively. Much of software engineering is about figuring out what tradeoffs to make.

Another example in traditional web apps is using cookies for auth. Using cookies for this purpose is well documented and pretty much supported everywhere. There's plenty of known problems with using cookies for this purpose, but the alternatives also have their own set of issues to deal with.

My final example: testing. Testing your code is great and it can be very useful, especially when refactoring or developing new features. But going for 100% code coverage is usually more trouble than it's worth. It's also very easy to end up writing a bunch of useless tests. You want to focus on the actual problem and not waste anyone's time.

[0] https://www.youtube.com/watch?v=pwaWilO_Pig

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

#54
post #4

Start off by going deep, not wide. You'll pick up other languages and technologies over time. Pick a stack that appeals to you and focus on it for a while, learning its idioms and best practices and improving your development fundamentals.

I agree to this, but in the sense that you should dig deep and understand how something works under the hood.

For example, ElasticSearch is “fast”, but what makes it so? What trade offs were made to make it “fast”?

You may start seeing patterns on how good/bad tech stack are built (aka the meta), and those meta would help you a lot down the road in knowing what type of toolset you can use, common type of problems a given architecture would exposed to.

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

#55
Realize almost everyone suffers from Impostor Syndrome from time to time.

Read a lot of code, not just code in the projects you work on, but reference/framework source code, open source. Perhaps even ask a subreddit for the language/tool about good examples to learn from.

Realize that data is more important that code for the most part. So treat data like it's precious. That's one part of why I feel relation databases are better than document/object stores. I suppose this is up for debate.

Learn to say No. It's mutual respect to say No so the one asking has a chance to ask someone else. If you instead say Yes to too much and can't deliver too close to their deadline you might screw up other people's time plans.

Outside work: Avoid eating junk food more than 1-2 times per week. Keep your weight. Go to the gym or run. Take the bike or walk to work. Sleep at least 6+ hours a day. Limit work to 40 hours/week. It's better to do 40 fresh hours than 50+ zombie hours.

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

#56
My advice would be; don't do it, unless it's a way of life.

Being a software developer is easy, I've seen loads of them, these are the people who's work I end up fixing, it stresses me out and it costs the company more because they've paid two people to do the job.

Being a good software developer is a way of life; if you're going home after work and looking at ways to improve your life or other peoples lives by writing software, you're doing it right.

Work with the best people you can find, the more experience these people have than you, the better. Learn what you can, and make it your aim to be the best, one day they'll come and ask you for help. This is the point where you thank them.

Find something you're good at, find a niche language in your company or tool set and become the go-to developer for it. As soon as you attain that, and you're known as the go-to, find something else, work on the new thing, and maintain the old, find languages you enjoy and master them.

Eventually, you get to a point where you're asked to fix/write code in a language you've never used, and yet, with the API docs at hand, you don't even skip a beat.

Also, remember this, no matter what you think, not everyone is far better than you at this. There are some exceptional developers, but most are either putting in a lot of hard work for the results you see, or they're average.

Finally; Never release on a Friday, and never make changes to production.

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

#57
Never stop learning technical things. Also, learn to negotiate, learn how to be organized, learn to prioritize. Both deadlines and requirements are very very often negotiable and movable. Even if deadline is not negotiable, the requirements typically have room in interpretation. Being dependable matters a lot.

If you never say "that estimate is too small" then you cant blame manager for assuming the estimate is good. Saying no is an option, learn to do it politely.

Sometimes manager is pressuring you, sometimes he/she really just asked when it is going to be done. Don't panic, answer truthfully.

You cant make up tomorrow or next week for time unexpected spent on something else or just wasted. That is not how it works. Factor that into estimates (whether formal or informal).

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

#58
Find a mentor. I was lucky enough to have a couple more experienced developers take me under their wing when I was new. I learned so much from them. This idea of mentorship has fallen out of favour, but I now understand "there is nothing new under the sun".

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

#59

Try to sleep 8 to 9 hours every day. In this JRE podcast [0], Matthew Walker, a sleep expert, claimed that sleeping poorly can decrease your performance by 30%. Strive to maintain a good work-life balance. Burnout sucks. Your health and family are more important than work. A workplace that doesn't consider this to be the case is likely to be toxic. As for actual software development advice... Beware blanket statement…

> Strive to maintain a good work-life balance. Burnout sucks. Your health and family are more important than work. A workplace that doesn't consider this to be the case is likely to be toxic.

Good advice.

It's likely burnout will really change you for the rest of your life if you don't react early enough.

It's a bit sad when you realize you'll never again be that guy you grew up and identifies as. But you also have to realize that was a person with habits that wasn't sustainable and now you have to live with that.

Post reply on HN