5 ms·
Ask HN: 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 4y agoSome 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 4y agoI post this from time to time, incluing 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.