HACKER Q&A
📣 thepalek1ng

What are some small things junior devs may miss on their first job?


Hello HN!

Quick preface, this is not my first job. I have been working various software engineering positions for a little over three years now. During that time I was with a very large company that didn't offer a lot of room for personal growth. Thankfully, I have recently started as a full stack web developer at a new company, completely spearheading the rebuild of the businesses' web applications.

I am super excited about this, and while I have a decent understanding of how it's going to come together I wanna make sure there aren't any details I miss during the planning phase due to how a professional project differs from a personal one (i.e. the importance of security, SEO, etc.)

If you guys have advice or examples please let me know!


  👤 warrenm Accepted Answer ✓
I'll approach this from a "general tech career perspective" ... but here are some I can think of that either I missed 'early', or was told early:

- finding friends at work - it's SUPER easy to ignore making relationships that are more than "just work" when you first start

- learning about stuff outside "your wheelhouse" - whether it's how other teams work, what other teams do, or general happenings outside your specialty, staying informed of at least some developments outside your [current] specialty is very helpful

- always bring a 'prop' into meetings - whether it's a notebook (legal pads are great), beverage, etc ... bring something with you: this does - at least - two things ... give you something to focus on when you "don't have to pay attention", give you a plausible reason for pausing before answering when asked a question (refer to what you have written down and/or take a sip of beverage to calm you mind before speaking)

- read the codebase (or other role-relevant 'extracurricular activity') ... you can learn a HUGE amount from what others have done (including their missteps and failures). As a friend of mine likes to tell people, "profit from my experience" ... at least have the common decency to make "new" mistakes!

- remember others have "been there" and "done that" ... if you can leverage others' work for your benefit, do it!

- corollary to the previous ... share what you did / mistakes you commit / lessons you learned ... there is NO better way to advance than to be able to explain what you know to someone else (yes, it's not easy - but it is totally worth it)

- don't burn yourself out: you're being paid for 8[ish] hours a day. Do NOT stay for 12 hours just because you are "new" or "have a lot to learn". Downtime is absolutely VITAL!

- ASK others often ... better to learn from others' experience than to make all the same mistakes yourself (though of course, you need to balance "don't be a pest", too)


👤 Jugurtha
I post this from time to time, including here: https://news.ycombinator.com/item?id=28422944 with some editing. Recycling some replies. More context here https://news.ycombinator.com/item?id=26182988 It addresses different topics, from nitty gritty to communication, alignment, product development, to architecture, etc. Doing these little things, like reducing information asymmetry and conducting meetings well will tremendously help the team operate in the fog (you make sure everyone is aligned, the rationale is explained, so they can make pretty good decisions in times of uncertainty).

Understanding codebases:

- https://news.ycombinator.com/item?id=19924100

Testing pipelines, scaffolding, issue templates:

- https://news.ycombinator.com/item?id=26591067

Making the most out of meetings and leveraging your presence:

- https://news.ycombinator.com/item?id=22873103

Product development:

- https://news.ycombinator.com/item?id=22827841

Giving a damn:

- https://news.ycombinator.com/item?id=20356222

If I disappear, what will happen:

- https://news.ycombinator.com/item?id=25008223

Consulting, understanding the problem your "client", who can be your manager, has:

- https://news.ycombinator.com/item?id=24972611

On taking notes. When you're told something, or receive a remark, make sure to make a note and learn from it whether it's a mistake, or a colleague showing you something useful, or a task you must accomplish.. don't be told things twice or worse. Be on the ball and reliable:

- https://news.ycombinator.com/item?id=24209518

Product, architecture, and impact on the team:

- https://news.ycombinator.com/item?id=24503365

Onboarding new hires to a codebase, what if it were you, improve code:

- https://news.ycombinator.com/item?id=22860716

Tips to learn from videos:

- https://news.ycombinator.com/item?id=22710623

- https://news.ycombinator.com/item?id=22723586

Communication with the team:

- https://news.ycombinator.com/item?id=21598632

- https://news.ycombinator.com/item?id=21614372

Reduce information asymmetry, template for taking minutes of meetings to dispatch to the team. Notes are in GitHub/GitLab so the team can access them, especially if they haven't attended:

- https://news.ycombinator.com/item?id=21427886

More meeting notes. Reply to a person who had trouble talking in corporate meetings:

- https://news.ycombinator.com/item?id=20323660

Communication, alignment:

- https://news.ycombinator.com/item?id=24177646

Useful things for the team and product that add leverage:

- https://news.ycombinator.com/item?id=21808439

Management involvement as a spectrum:

- https://news.ycombinator.com/item?id=22715971

Researching topics:

- https://news.ycombinator.com/item?id=25922120

Keeping up with a firehose of information:

- https://news.ycombinator.com/item?id=26147502

Fractal Communication: communication that can penetrate several layers of management and be relevant to people with different profiles and skillsets:

- https://news.ycombinator.com/item?id=26123017

Remote work, use existing tooling and build our own. Jitsi videos, record everything, give access to everyone so they can reference them and go back to them, meetings once a week or two weeks to align:

-https://news.ycombinator.com/item?id=26179539

Write better. Always.