You’re a developer, and you’ve likely heard this before: Don’t re-invent the wheel. That’s damn good advice. It keeps surprising me how deeply wise these four words are - the product of thousands of hours sunk in solutions to already-solved problems.

I had nobody to tell me this when I started. So here’s my take on the matter.

In software engineering, you shouldn’t immediately jump to writing code. Don’t re-invent the wheel. Instead, look at the tools others are using. Almost no problem I’ve faced in my career is distinct, as I’m sure is the case for most software engineers.

Someone out there on the internet already had a similar problem to yours, and if enough people had the same problem, you’ll likely find a ready-made solution. You just need to get better at research and understanding the value of things.

There’s a good chance you believe your problems are special, and thus require a unique solution. They are not. Most probably, what you’re thinking about has already been invented, and even has its own name. Either that, or your problem can be solved by combining multiple solutions that were also already invented.

When taken to an extreme, this elevator of thought takes us down to Linux, the operating system that integrates your hardware and software together, among many, many other things. Should you re-invent an operating system? No, you use Linux.

However, day-to-day development doesn’t involve thinking of problems down at that level. Examples of things you already have, or will think of re-inventing include:

  • Auth
  • Data serialization formats
  • Task scheduling
  • Batch processing
  • Stream processing
  • Data integration
  • Workflow orchestration
  • Container orchestration
  • Application observability
  • Data schemas
  • Embedded languages

Please don’t. Just look it up. Google it with absolute confidence that you’ll find what you need as an open source project, or reasonably priced SaaS. Some mindless learning can help as well.

Also, don’t forget to thoroughly check everything your current cloud provider offers. You may be surprised.