Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to be an Effective Engineer

How to be an Effective Engineer

Want to increase your impact? Get promoted quickly or more quality time? Learn to have the mindset & execution of an Effective Engineer.

Aditya Satrya

October 13, 2020
Tweet

More Decks by Aditya Satrya

Other Decks in Technology

Transcript

  1. How to be an Effective Engineer Aditya Satrya Data Engineering

    Tech Lead at Mekari linkedin.com/in/asatrya #isiTalk #EngineeringCultureSeries | Oct 2020
  2. Increase your impact? Staff engineer → making a whole team

    better Principal engineer → making the whole company better Distinguished engineer → improving the industry 3
  3. Outline #1 Mindset Prioritize regularly & focus on high-leverage activities

    Optimize for learning #2 Execution Measure what you want to improve Solve problem in structured manner Approach problems iteratively Invest in Iteration Speed #3 Long-Term Value Balance quality with pragmatism Invest in your team’s growth 5
  4. 13

  5. 32

  6. Evaluate your effort early and often. Not evaluating early leads

    to wasted efforts. Don't delay getting feedback. 34
  7. Power of small batches. Helps you avoid making a big

    mistake by stopping the flow. 36
  8. Reduce risk early. Do the riskiest task first so that

    you can mitigate biggest risk early. 37
  9. CI/CD is high leverage Implement it as early as possible,

    even if your team consists only you. It improves speed, quality, and peace of mind 40
  10. 41

  11. Invest in time-saving automation. If you have to do something

    more than twice, write an automation the third time. 42
  12. Examples: • High test coverage • Fast and incremental compiles

    and reloads • Logging • Clean code, refactoring • Coding standard & naming convention • Dockerization 45
  13. Balancing benefits vs trade-offs Instead of right and wrong, look

    at things in terms of works and doesn’t work to achieve our goals. 53
  14. Establish a culture of reviewing code Catch bugs and design

    problems early, sharing working knowledge of the codebase. 54
  15. Manage your technical debt Accumulating technical debt is fine as

    far as it is repaid within time. Focus on the debt that incurs the most interest. 55
  16. Help everyone around you succeed. The higher you climb up

    the engineering ladder, the more your effectiveness will be measured not by your individual contributions but by your impact on the people around you. 57
  17. Create a great engineering culture Optimize for iteration speed. Push

    relentlessly towards automation. Build the right software abstractions. Focus on high code quality by using code reviews. Maintain a respectful work environment. Build shared ownership of code. Invest in automated testing. Allot experimentation time, either through 20% time or hackathons. Foster a culture of learning and continuous improvement. Hire the best. 60