Notes on Software Engineering

Perfecting your craft is one of the most important things that you can do. You spend a large amount of your life at work, so you might as well be good at what you do. This page is a collection of resources that have helped me to become better at mine.

Advice I’ve Recieved

  • Find a mentor and learn everything that you can from them.

  • Like a company needs different CEOs at different stages of the companies life, you need different mentors at different stages of your career.

  • “Ship it!” or “Build. Build. Build.”

  • Slow down. Think about the problem you’re solving. Give problems the respect that they deserve.

Resources

Articles

Talks / Lectures

Books

I re-read sections of these books frequently.

  • Mythical Man Month (Brooks)

  • Clean Code (Martin)

  • The Design of Everyday Things (Norman)

  • Software Engineering (Sommerville)

  • Artificial Intelligence A Modern Approach (Russell & Norvig)

  • Thinking, Fast and Slow (Kahneman)

  • Patterns of Enterprise Application Architecture (Fowler)

  • Design Patterns: Elements of Reusable Object-Oriented Software (GoF)

Blog Roll

Blog rolls aren’t really a thing anymore, but here is a list to get you started. I’ve learnt a lot from these blogs.