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!
- 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)
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.