Developer Lessons Learned
-
A good mentor takes a long time to find and may never come. Enjoy
learning on your own and you'll find the right way to do things along
the way.
-
Unless you own the product and really care, you will only have two of:
features, speed, and quality.
- Learn observability.
- Measure before optimizing.
- Hire employees over contractors.
-
Spread knowledge between teams, prevent silos. However, if you have a
silo, keep it for job security!
-
Learn IC and EM. After discovering which you enjoy more, stick with
it. Don't let a company choose your path.
- Use typed languages.
- Version APIs.
- Do not create breaking changes.
- E2E tests and integration tests are the important ones.
- Composition over inheritance.
-
As a manager, make the most use of your best developers. The best
developers want/crave a hard problem to solve.
-
If you're unprepared or unengaged, your colleagues already know.
-
Code should be simple and easy to read. Learn how to name things. Do
not write fancy code.
-
Not all dependencies are mapped out in the beginning of a big project,
and you have to accept that as a developer, unfortunately.
-
The language you choose to write in can dictate how well you code. If
you're in JavaScript all day, you will not be a great developer, and
you're missing out on a lot of interesting language features.