HACKER Q&A
📣 recvonline

Which habit/system makes you an effective engineer?


Hey folks! I am starting a new job and I basically know 0 about the technology I going to deal with. I know the language (Rust) but not the context I am working in. It’s a fairly new tech stack and the position is Senior/remote. I will have an onboarding buddy though.

I will have to dig through a large codbase, and the codebase of the framework we are using. Besides that, the business part is also completely new to me.

I wonder: What are your tools and habits you use to accomplish something, store gained knowledge, dig through codebases etc.


  👤 benrow Accepted Answer ✓
Some brief thoughts:

- have a great note taking system - personally I like anything which auto links to related notes, like a wiki. There's obsidian, but I use vim notes as I like vim and need to keep internal stuff out of cloud.

- get involved in cross team initiatives - will help build domain knowledge and relationships

- for digging through codebases one thing I'd like to try and haven't got round to is using a lightweight IDE just for hunting around and joining up the dots. Eg the main IDE I use is heavyweight with all the indexing it does. Sometimes I'd rather have a local "monorepo" with lightweight tooling which isn't always indexing or spawning daemons.

On that last point, get your tooling to work for you exceptionally well. Any friction will add up over time and discourage quick experiments or exploration.

Hope it goes well!


👤 Jugurtha
I post this from time to time, incluing 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.