Recommended People to Follow

Martin FowlerMartin Fowler is a well-known software engineer who's currently Chief Scientist at ThoughtWorks. Many of the books he's authored, including Patterns of Enterprise Application Architecture and Refactoring (one of our recommended books), have contributed greatly to the software industry's standards and practices.

Nowadays he writes about various topics on his website, from development practices, to architectural patterns, and even high-level topics like team cohesion and principles.

Learning from him is a must for intermediate to advanced developers.
Joel SpolskyJoel Spolsky co-founded Stack Overflow together with Jeff Atwood and is also one of the minds behind [Glitch]( and [Trello]( He's opinionated on various topics and can occasionally be harsh, but he offers a lot of knowledge and wisdom about various topics surrounding software development, from education, to business, to best practices, and plenty more. In particular, if you're a new developer, we recommend his New Developer reading list (go to link, scroll down, and click on New Developer).

Like Martin Fowler, Joel is a great person to follow and learn from if you're interested in taking your skills to the next level.
Jeff AtwoodSpeaking of Jeff Atwood, he is another well-known software engineer and entrepreneur. Alongside Stack Overflow, he also created Stack Exchange and Discourse. He also runs a blog called Coding Horror in which he teaches about and discusses various topics (the most recent being how to build a PC).

Jeff doesn't blog quite so often anymore, but his previous articles are a great resource to dive into the mind of yet another influential software engineer.
Marty CaganMarty Cagan is a well-known thought-leader in Product Management rather than software engineering. The reason we include him on this list is because product management is inextricably linked to software engineering. Software engineers either work together with product managers or people who act as product managers. Often times in smaller teams, or as the founder of a startup, software leads or consultants act as their own product managers (on top of engineering).

We believe that learning from one of the best minds on product management will help educate and create versatile software engineers. After all, why do we engineers create things if not to fulfill business requirements and satisfy customers?

If you're interested in creating good products, whether directly as an engineer or otherwise, Marty is an essential person to learn from.