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
-
Guide to Debugging: I’ve been looking for a guide like this for a long time and Julia Evans has provided a brilliant one. Follow her advice and you can’t go wrong.
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.
-
Overreacted (Dan Abramov): Dan works at Meta on the React (front end JavaScript framework) team. He is an interesting guy, and I always enjoy reading his posts.