4 ms·
Ask HN: 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 5y agoJust 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.
- is-is-odd 5y agoI just took a networking course that literally covered each point you mentioned (although on a surface level, I'm sure)! Thanks for your contribution
- mindcrime 5y agoExcellent. I think you'll find that knowledge invaluable in the years to come. :-)
- mettamage 5y agoExcellent tip and really true for both the theory and the practice indeed. This almost never comes up in the CRUD apps that I had to make. But when it did come up, you better know stuff like ping, traceroute, netstat, netcat, tcpdump/wireshark and also nmap. I've learned about these tools from my networking classes. But where I got to master them a lot more was playing hackthebox.eu with a friend! Also, the hacking skills obtained there are useful. Your employer might not always appreciate that you're hacking his/her company though. Not because you're hacking it, but because you're going "outside of your role" and not actually producing any features. So be careful with that one, I've burned myself twice on that front (it depends on company culture, I suppose).
- deeteecee 5y agoDon't be afraid to ask questions. Also, avoid scope creep if you can. Good luck!
- Jugurtha 5y agoMany 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 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=26182988 - https://news.ycombinator.com/item?id=19924100 https://news.ycombinator.com/item?id=19924100 (understanding codebases, etc.) - https://news.ycombinator.com/item?id=26591067 https://news.ycombinator.com/item?id=26591067 (testing pipelines, scaffolding, issue templates) - https://news.ycombinator.com/item?id=22873103 https://news.ycombinator.com/item?id=22873103 (making the most out of meetings, leveraging your presence) - https://news.ycombinator.com/item?id=22827841 https://news.ycombinator.com/item?id=22827841 (product development) - https://news.ycombinator.com/item?id=20356222 https://news.ycombinator.com/item?id=20356222 (giving a damn) - https://news.ycombinator.com/item?id=25008223 https://news.ycombinator.com/item?id=25008223 (If I disappear, what will happen) - https://news.ycombinator.com/item?id=24972611 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 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 https://news.ycombinator.com/item?id=24503365 (product, architecture, and impact on the team) - https://news.ycombinator.com/item?id=22860716 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 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=22723586) - https://news.ycombinator.com/item?id=21598632 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=21614372) - https://news.ycombinator.com/item?id=21427886 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 https://news.ycombinator.com/item?id=24177646 (communication, alignment) - https://news.ycombinator.com/item?id=21808439 https://news.ycombinator.com/item?id=21808439 (useful things for the team and product that add leverage) - https://news.ycombinator.com/item?id=20323660 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 https://news.ycombinator.com/item?id=22715971 (management involvement as a spectrum) - https://news.ycombinator.com/item?id=25922120 https://news.ycombinator.com/item?id=25922120 (researching topics) - https://news.ycombinator.com/item?id=26147502 https://news.ycombinator.com/item?id=26147502 (keeping up with a firehose of information) - https://news.ycombinator.com/item?id=26123017 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 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.