HACKER Q&A
📣 is-is-odd

How to prepare for first full-time software engineering job?


Would you recommend learning the tech stack? The stack at the company is primary TypeScript with some Scala. I have some familiarity with TypeScript - should I continue to build projects to learn more or pick up a textbook to take a deep dive?

I have ~6 months before I start working.


  👤 mindcrime Accepted Answer ✓
Just to throw a random thought out there... given that in today's world almost every system we build is a "distributed system" to some extent, and given that I've found that quite a few developers don't know a lot about underlying network fundamentals, I'd suggest - depending on your current knowledge levels - spending some time boning up on networking. I mean things like learning how DNS works, what ARP is, how IP addressing works (mostly still IPv4, but don't ignore IPv6 altogether), and similar. In that same vein, learn to use common network troubleshooting tools well, from ping, to traceroute, to netstat, netcat, tcpdump / wireshark, and even nmap.

👤 deeteecee
Don't be afraid to ask questions. Also, avoid scope creep if you can. Good luck!

👤 Jugurtha
Many things can happen in six months and you could end up not joining the company. Either way, I'm sure you can learn the stack.

Here are some meta-skills and tips that will still be relevant whether you join the company or not and whether you stay there or not:

Reproduced from here: https://news.ycombinator.com/item?id=28422944 with some editing.

Recycling some replies. More context on https://news.ycombinator.com/item?id=26182988

- https://news.ycombinator.com/item?id=19924100 (understanding codebases, etc.)

- https://news.ycombinator.com/item?id=26591067 (testing pipelines, scaffolding, issue templates)

- https://news.ycombinator.com/item?id=22873103 (making the most out of meetings, leveraging your presence)

- https://news.ycombinator.com/item?id=22827841 (product development)

- https://news.ycombinator.com/item?id=20356222 (giving a damn)

- https://news.ycombinator.com/item?id=25008223 (If I disappear, what will happen)

- https://news.ycombinator.com/item?id=24972611 (about consulting and clients, but you can abstract that as "stakeholders", and understanding the problem your "client", who can be your manager, has.)

- https://news.ycombinator.com/item?id=24209518 (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=24503365 (product, architecture, and impact on the team)

- https://news.ycombinator.com/item?id=22860716 (onboarding new hires to a codebase, what if it were you, improve code)

- https://news.ycombinator.com/item?id=22710623 (being efficient learning from video, hacks. Subsequent reply: https://news.ycombinator.com/item?id=22723586)

- https://news.ycombinator.com/item?id=21598632 (communication with the team, and subsequent reply: https://news.ycombinator.com/item?id=21614372)

- https://news.ycombinator.com/item?id=21427886 (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=24177646 (communication, alignment)

- https://news.ycombinator.com/item?id=21808439 (useful things for the team and product that add leverage)

- https://news.ycombinator.com/item?id=20323660 (more meeting notes. Reply to a person who had trouble talking in corporate meetings)

- https://news.ycombinator.com/item?id=22715971 (management involvement as a spectrum)

- https://news.ycombinator.com/item?id=25922120 (researching topics)

- https://news.ycombinator.com/item?id=26147502 (keeping up with a firehose of information)

- https://news.ycombinator.com/item?id=26123017 (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=26179539 (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)

Write better. Always.