Articles by Gergely Orosz
- Scaling Engineering Teams via Writing Things Down and Sharing - aka RFCs
Scaling engineering teams can be challenging. Gergely recommends a simple process for writing down plans before building anything new. Teams should capture their plans in short documents and have a few people approve the plans before starting work. Importantly, teams should send these planning documents to all engineers in the company to comment on. This process of writing things down creates accountability and leads to more thorough decisions. Having others review the plans helps ensure a consistent engineering bar across the organization and allows knowledge to spread. The author notes that this RFC process has scaled well at Uber from tens of engineers to thousands.
- Things I've learned transitioning from engineer to engineering manager
Gergely summarizes what worked well for him as he transitioned from senior engineer to engineering manager: the importance of mentors, understanding the new role's priorities, deciding on a time and task management strategy, goal-setting, and taking the time to learn, experiment and reflect.
- Developers mentoring other developers: practices I've seen work well
Gergely discusses mentorship practices that work well engineer-to-engineer, guidance on being an effective mentor, and suggestions for finding mentors.
- The Product-Minded Software Engineer
Gergely summarizes 9 traits he's observed in product-minded engineers, and tips for any engineer to become more product-minded. Product-minded engineers have a deep interest in the product itself, understand why decisions are made, and enjoy being involved in making product decisions. They are proactive with product ideas/opinions, have an interest in the business, user behavior, and data on this, possess curiosity and a keen interest in "why?", have strong communication skills and relationships with non-engineers, and offer product/engineering tradeoffs upfront. Product-minded engineers are often key contributors to user-facing features and become team leads.
- Tech Debt
Gergely explains how to become aware of technical debt, how to keep tech debt to a minimum, and what is the right amount of tech debt to keep.
- How Big Tech Runs Tech Projects and the Curious Absence of Scrum
Gergely covers: • Project management approaches across the industry. An overview of a survey with over 100 companies represented, plus key takeaways. • Project management at Big Tech. How are these done? How does the organizational setup of Big Tech influence how projects are executed? • The lack of Scrum at Big Tech. Why is the popular framework missing from most of Big Tech, and are there takeaways for companies operating outside this model? • How should you run projects in your team? I’ll share my personal take.
- How I Do (Hopefully) Fair Performance Reviews for Software Developers
Gergely summarizes his approach to performance reviews, with templates, and covers: • Prerequisites for fair perf reviews: levels, competencies, expectations • Bad performance reviews • Three observations about perf reviews at tech companies • How I do performance reviews: preparation, writing the review, removing bias & delivering it • Example performance reviews - and templates
- Yes, You Should Estimate Software Projects
While estimating timelines for software projects is difficult, Gergely argues that it comes with benefits. Giving estimates helps set deadlines that focus teams and drive faster progress. Missing a deadline is usually not a big issue, as long as delays are communicated well in advance. Gergely's own experience shows that teams tend to work faster and more productively as deadlines approach. Estimates also force teams to reflect on what went wrong and improve for the next time. Over time, engineers can get better at estimating through practice and learning from mistakes.