Share: Being a software engineer
Nov 6 · 2 min read
Being a software engineer does not mean one coding tasks after another. In my opinion, there are a number of principles will enable us to become better engineers every passing day.
A good book to learn is http://www.effectiveengineer.com/, which can be summarized as below.
- Fundamentals
- Master Javascript instead of Javascript framework.
- Keep up to date with latest version of stack you use, in demand tech backed by leaders.
- Code a lot, language agnostic.
2. Better Design
- Test driven.
- Iterate on design instead of doing everything in 1 step.
- Programming best practices.
- Design good api, education tech talks.
- Lots of data > smart algorithms.
3. Managing expectations instead of overworked 100%
- Not all code improvement creates value.
- Level of empowerment and ownership.
- Trade off building the “right” thing against moving quickly.
- Trade off code quality with iteration speed, selectively review code based on risk and impact.
4. Focus on value 80% impact from 20% work
- Metric to drive progress. Productivity > hours work.
5. Own your education
- Optimize on learning when working on tasks. Working on unchallenging things is huge opportunity cost.
- Acquire new skills daily. Read good code. Jump into code you don’t understand.
- Invest in high demand skill.
- Learning compounds.
6. Priorities.
- Limit work in progress. Context switch is costly.
- Do riskier task first. Allow buffer room for unknown. Reduce risk early.
7. Invest in speed
- Automate common task. Invest in test. Shorten debugging loop. Invest in time saving skills. Master IDE.
- Invest in onboarding materials to ramp up new members.
- Invest in simple building blocks
- Automate mechanics not decision making. Recover quickly. Idempotent. Retry able not leaving global state.
8. Communicate proactively
- Validate ideas early and often. Be extra vocal and get feedback.
- Ask for and give direct feedback to accelerate own growth and team.
9. Improve your writing
- Track you accomplishments as you go. Quantify the results.
10. Be professional and reliable
