Lessons from 30+ Years of Postgres Development: Why You Should Learn the Fundamentals
Lessons on continuous learning, practical estimation, and the power of knowing the full software stack.
Today, I reached out on Telegram to Bruce Momjian, a core member and long-time developer of PostgreSQL. To my delight, he responded. I started by simply thanking him for his work, but then took the opportunity to ask for advice based on his 30+ years of experience in software engineering. He shared some incredibly valuable insights, which I have posted below along. I hope we can all apply these lessons to our own career paths.
Note: All the points below are his exact words. I have only added headings based on my own understanding of the key takeaways. His original responses have not been altered and are presented verbatim.
1. The Pitfall of Chasing Popular Technologies
Most engineers focus on the technologies that are popular just today and they only learn the surface of how there’s technologies work.
2. Building a Foundation That Lasts 30 Years
When I started I studied operating system design, kernel design, hardware design, compiler design, and Unix. The things I learned 30 years ago I am still using today.
3. Master One Technology to Understand Them All
Once you learn a technology deeply, the fundamental student change very much and it’s very easy to pick up new things.
4. Commit to Continuous Self-Education
Also, you have to be willing to continually learn. I love learning so it’s easy for me. Instead of going to college for computer science, I read all the books that computer science students would read. That served me well.
5. Your Success Will Eventually Answer the Questions
You have to invest in yourself to stay up on technology. Most people don’t want to do that.
And frankly my wife used to question why I did it so much. However, being successful in my career at 64, she doesn’t wonder anymore.
6. The “Double It” Rule for Project Estimation
Another issue when I was a consultant was that I would estimate a job by figuring out the ideal amount of time and then doubling it and that was usually pretty accurate. Consulting jobs never go as planned and they usually take twice as long as expected.
7. The Trap of Chasing Yearly Trends
I used to have friends who studied the technology that was popular that year, but once that technology changed they were really lost.
So I would say study core technology not just the popular stuff, and be willing to continue studying. Very few people will do that and it will give you an insight into the entire software stack that few people have.
So when something goes wrong, because you know the full software stack. You’ll know where to look.
This content is published with permission from the author.


