Andrew Stellman

Andrew Stellman

developer, speaker, agile coach, and general all-around expert in building better software

New York, New York

Areas of Expertise:

  • Agile
  • PMP
  • C#
  • .NET
  • Java
  • system design and architecture
  • open source development
  • software engineering
  • project management
  • quality
  • consulting
  • speaking
  • writing
Andrew is a bestselling O'Reilly author (Beautiful Teams, Head First C#, Head First PMP, Applied Software Project Management), developer, architect, speaker, agile coach, project manager, and expert in building better software. He has over two decades of experience, has architected large-scale real-time back end systems, has managed large international software teams, has been a Vice President at a major investment bank, and consulted for companies, schools, and corporations, including Microsoft, the National Bureau of Economic Research, Bank of America, Notre Dame, and MIT. Hes had the privilege of working with some pretty amazing programmers during that time, and likes to think that hes learned a few things from them.

Learning Agile Learning Agile
by Jennifer Greene , Andrew Stellman
August 2014 (est.)
Print: $44.99

Head First PMP Head First PMP
by Jennifer Greene , Andrew Stellman
Third Edition December 2013
Print: $69.99
Ebook: $55.99

Head First C# Head First C#
by Jennifer Greene , Andrew Stellman
Third Edition September 2013
Print: $49.99
Ebook: $39.99

Head First C# Head First C#
by Jennifer Greene , Andrew Stellman
Second Edition May 2010
OUT OF PRINT

Head First PMP Head First PMP
by Jennifer Greene , Andrew Stellman
Second Edition July 2009
OUT OF PRINT

Beautiful Teams Beautiful Teams
by Jennifer Greene , Andrew Stellman
March 2009
Print: $39.99
Ebook: $31.99

Head First C# Head First C#
by Andrew Stellman , Jennifer Greene
November 2007
Ebook: $39.99

Head First PMP Head First PMP
by Andrew Stellman , Jennifer Greene
March 2007
Ebook: $39.99

How to Keep Your Boss from Sinking Your Project How to Keep Your Boss from Sinking Your Project
by Andrew Stellman , Jennifer Greene
June 2006
Ebook: $7.99

Applied Software Project Management Applied Software Project Management
by Andrew Stellman , Jennifer Greene
November 2005
Print: $39.99
Ebook: $31.99

Recent Posts | All O'Reilly Posts

Andrew blogs at:



Functions are values: explore C# lambda types in Visual Studio

April 09 2011

I love that a college professor of mine from long ago, Bob Harper, is tackling the tricky issue of how to teach students about the nature of functions in his new Existential Type blog. His post got me thinking about how you'd go about teaching this concept to a learner—specifically,… read more

Don't be a micromanager!

November 29 2010

I recently made a post on Building Better Software about micromanagement ("Demoralize Your Teams Quickly And Efficiently With Micromanagement") and how it drains a development team's will to live. I've been studying micromanagement for a long time—not often voluntarily. It's... read more

Understanding C#: Nullable Types

November 07 2010

Every C# developer knows how to work with value types like int, double, boolean, char, and DateTime. They're really useful, but they have one flaw: they can't be set to null. Luckily, C# and .NET give you a very useful tool to for this: nullable types. You can use a… read more

Understanding C#: Simple LINQ to XML examples (tutorial)

October 16 2010

XML is one of the most popular formats for files and data streams that need to represent complex data. The .NET Framework gives you some really powerful tools for creating, loading, and saving XML files. And once you've got your hands on XML data, you can use LINQ to query… read more

Understanding C#: Equality, IEquatable, and Equals()

September 29 2010

What does it really mean for two objects to be equal? How can you tell if object #1 is equal to object #2? Do you compare all of their properties? What about private properties or fields? Is it possible for two objects to have exactly the same state, but to… read more

A Few More Things Every Job-Seeking Programmer Should Know About Project Management

September 25 2010

There are a lot of programmers who really don't like project management -- they toss all things project management related into the "pointy haired boss" category and try not to think about them again. But if you're a job-seeking programmer, or a programmer looking to move your career ahead, then… read more

Understanding C#: Raising events using a temporary variable

September 10 2010

A lot of C# developers notice that there's something odd about how we normally raise events in C#. We're always told to set a temporary variable equal to the event first, and then raise the event using that variable. It looks very strange—how could that variable do anything at all?… read more

Build HTML documentation for your C# code with Sandcastle in under 5 minutes

September 03 2010

If you've ever used a library that has accurate MSDN-style API documentation, you know how useful it can be. There are lots of ways to create HTML documentation. But the easiest way that I've found is to use Sandcastle. It's an open source documentation generator from Microsoft that reads your… read more

Why project managers should care about development

August 31 2010

In a recent post on Building Better Software, I wrote about why developers should care about project management. But I think it's worth making the opposite case: why project managers should care about development. read more

Understanding C#: String.Intern makes strings interesting

August 22 2010

One of the first things a new C# developer learns is how to work with strings. We teach the basics of strings early on in Head First C#, and it's the same way with practically every other C# book I own. So it shouldn't be surprising that novice and intermediate… read more

Understanding C#: Use System.Console to build text-mode games

August 17 2010

I'm a sucker for an old-school text-mode console game. Text-mode games rendered their "graphics" by drawing text characters at different positions on the screen using 16 background and foreground colors. They're also easier than ever to build in C# and .NET, thanks to theSystem.Console class, which lets you position the… read more

Essential developer skills: Refactoring in Visual Studio 2010

August 08 2010

If you've been reading my blog posts, you know that I try to help novice and intermediate C# programmers improve their skills, and help progress along the developer career path. I think this goes beyond simply getting better at programming C# and .NET. There are additional skills that, in my… read more

Understanding C#: Explore types using the Type class and GetType()

August 05 2010

One of the most powerful aspects of the C# programming language is its rich type system. But until you've got some experience building programs, it's difficult to appreciate it--in fact, it can be a little baffling at first. But we want to give you at least a taste of how… read more

Understanding C#: Namespaces and assemblies (a quick .NET tutorial)

July 12 2010

I recently had a reader e-mail me with a question about assemblies and namespaces because he had trouble on a job interview that asked a lot of interview questions about .NET assemblies. Luckily, I had a good answer for him that covered the .NET assembly basics: what an assembly is,… read more

Understanding C#: Using BackgroundWorker to make your UI responsive

June 28 2010

Someone once told me that he could tell a form was built by a novice C# developer if it stopped responding when he pressed a button. I'm not 100% sure I agree, but I definitely think that an intermediate or advanced C# developer should be able to build a form… read more

Understanding C#: XML Comments

June 14 2010

As C# developers get more experienced, there are a lot of things they pick up along the way that are really useful and important to know, even if they aren't necessarily directly code-related. One of those topics is XML comments, and I've been surprised at how many developers -- even… read more

Teamwork: It's About Trust, Not A Technique

March 06 2010

Building a great software team requires more than just a good tool, technology, or technique. That's something we learned time and again from the many brilliant people who contributed to Beautiful Teams (O'Reilly, 2009). It's an idea that seems to really fascinate people: that when a team build great software,… read more

Understanding nonfunctional requirements

February 17 2010

Understanding what non-functional requirements are, how they work, how to write them, and how to use them in real-life projects I recently posted a Q&A about non-functional requirements on our Building Better Software blog. It's a follow-up to a popular... read more

Understanding C#: Why make things private?

January 23 2010

Andrew Stellman is the author of Head First C# and other books from O'Reilly. A reader on the Head First C# forum posted a question. It's actually a really good question, one that a lot of developers ask once they... read more

Do your team members hate each other?

November 01 2009

Last week I wrote a post on Building Better Software called When Team Members Hate Each Other. I started to answer a question that I recently got from the audience at the end of one of my Beautiful Teams talks... read more

Understanding C#: Using virtual and override

October 27 2009

One of our Head First C# readers posted a question on the book's forum: I don't understanding why I need to add 'virtual' keyword and 'override' keyword to make Penguin Fly() override Bird Fly(). [page 226] I think public class... read more

Getting Java, C# and Perl to speak the same language (with JSON)

October 04 2009

I've been thinking a lot about architecture lately. It's partially because Jenny and I are going to do our Beautiful Teams talk at the ITARC 2009 conference next week. But it's also because I've been writing a lot of code... read more

Teams, architecture, and open source

October 03 2009

Jenny and I are going to be doing our Beautiful Teams talk in a week at the ITARC 2009 New York conference. That's why I've been posting about architecture lately on Building Better Software: How well does your program do...... read more

Agile testing: why good developers resist great habits

August 23 2009

One of my favorite quotes about programming is from Kent Beck: "I'm not a great programmer, I'm a pretty good programmer with great habits." And one of the best habits I know is to build your software using unit testing... read more

Agile testing and Beautiful Teams (giveaway)

August 22 2009

Testing -- especially on agile projects -- has been coming up a lot lately. Jenny and I have have spent a lot of time talking and writing about the basic ideas behind testing. So we were really excited when Abby... read more

A few quick thoughts on keeping readers motivated

August 16 2009

I was reading Brian Sawyer's great post on the Head First Labs blog about using a Learner's Journey, and it got me thinking about some of the things I think about when writing on a Head First book. A few... read more

Unit testing and the narrowly averted Citicorp Center disaster

November 26 2008

(This post was syndicated from Building Better Software.) I was working on a project earlier today. Now, typically I always do test-driven development, where I'll build unit tests that verify each class first and then build the code for the... read more

It'll take about three weeks...

November 26 2008

If you've been reading our posts here, you probably noticed that we like to give our "Why Projects Fail" talk. (If you're curious, here's a link to the slides [PDF].) One reason we really like it is that it... read more

Building a great programming career

November 26 2008

Ever since Jenny and I wrote Head First C#, I've gotten a lot of e-mail and questions from developers just starting their careers. (I think it has to do with the fact that our book has become one of the... read more

How to hold a more effective code review

November 26 2008

(This post was syndicated from Building Better Software.) A lot of programmers feel like being asked to go to a code review is like being told by mom to eat our veggies. We'll complain about it, and even if we... read more

Recent Posts | All O'Reilly Posts

"Head First C# is a great guide to get you up and running with the language as fast as possible."
--Michael James Williams, Activetuts+

"An excellent tool for the hobbyist and professional programmer to learn the language and powerful programming environment afforded by C# and .NET. "
--Ira Laefsky, Amazon.com

"...the content of Head First C# is solid and entertaining."
--Mike Riley, Dr. Dobb's CodeTalk

"...an exciting, interesting presentation assuring a much higher level of PMP exam 'passes'. Highly recommended!"
--James A. Cox, California Bookwatch: The Computer Shelf

"Here is the best guide we have seen for preparing for the Project Management Professional (PMP) exam. Through the use of plentiful graphics and clever layout (a hallmark of the Head First series), the reader is more likely to be motivated to read the weighty tome, and to retain the considerable content. "
--Michael L. Kleper, The Kleper Report on Digital Publishing

"...a 'must' with contributions from a range of successful team leaders."
--Diane Donovan, The Bookwatch: The Business Shelf

"I needed some solid PM principles to apply to my work in an Agile development environment. So, with a desire to study ole skool Project Management in an Agile way I was drawn to the "Head First" books. And wow! What a fantastic way to learn! Knowing full well that PM concepts are not the most exciting topics, this book grabs your attention by drawing you in with its conversational tone...It's like getting your older brother's school textbook after he's highlighted all the important points and written the exam questions in the margins...literally! Now I'm spoiled, "Head First" is the only way to learn. "
--Christopher N. Scheevel "Neville", Amazon.com

"A highly interactive approach for the complete beginner."
--Mike James, I Programmer

"I would recommend reading this book if you interest in PMP or prepare for the PMP certification exam, it is one of the most interesting books that you can have in this track."
--Rafiq Elmansy, Graphic Mania

"The introduction to this particular book discusses how the series attempts to present the concepts and technical material in a way that is far more intellectually compelling and memorable than the approach currently taken by most books...Although the book will be of most value to newer programmers, experienced C# programmers will find topics of interest and perhaps even some language details and analysis that they have never previously encountered."
--Michael J. Ross, Web Developer, with Greg Hanson, Slashdot.org

"I found Head First PMP to be an outstanding resource for teaching project management in a software development environment. Anyone who works in any level of that industry should read this book."
--Jem Matzan, The Jem Report: Your source for technology news

"The authors succintly get to the heart of the matter about why projects fail and what you can do to help reduce the chances of project failure and to help prevent your boss from being part of the problem."
--Richard Kuper, Editor, The KUPER Report

"Even experienced project managers are likely to learn a thing or two from Head First PMP that can be applied on the job immediately. In fact, I personally have restructured my project management plan to more closely follow the PMBOK recommendations (now that I really understand them)....because I read Head First PMP, I feel I’ll be able to better absorb the content in the dull, dry books I’m likely to pick up before taking the exam itself."
--Amanda Johnson, realeyes media

"This guide helps readers prepare for the Project Management Professional (PMP) exam not through practice questions but through visually instructive illustrated outlines and diagrams, conversational and humorous text, and unconventional activities (i.e. crossword puzzles) which, assert the authors, are not voluntary."
--Shannon Hendrickson, Reference & Research Book News

"Being able to look up what the exam covers is useful information for me, and the book is perfectly adequate for that...I read Head First PMP in its entirity, and I did the majority of the exercises. I'm pretty certain that if I read it again and did all the exercises, I'd pass the exam. I also learned some useful stuff about project management, as well as about the PMP exam. I'd recommend Head First PMP to people who're interested in the PMP exam."
--Elizabeth Zwicky, ;LOGIN:

"Head First PMP is by far the best PMP Exam Preparation book of all I have reviewed in depth. It is the very best basic education and training book that I have read."
--Dennis Bolles, PMP, Project Manager for the PMBOK Guide 3rd ed. Leadership Team, DLB Associates, LLC and co-author of The Power of Enterprise-Wide Project Management

"I just passed my PMP exam yesterday and wanted to personally thank you for writing such a great book. I loved the style, humor and approach - you really made the PMBOK memorable. As an author myself, I'm aware that the best thing I can do is to share my positive experience with others - and have done so in a very favorable Amazon review. Thanks again for your work and for helping me get through a difficult exam with flying colors."
--Thomas Eck, PMP

"Head First PMP by Jennifer Greene and Andrew Stellman offers complete coverage of the PMBOK Guide principles in a way that's engaging, not tedious...The book helps readers prepare for the PMP certification exam with a unique method that goes beyond answers to specific questions, leading them to think about the big picture of project management. By putting project management concepts into context, readers can understand, remember, and apply them — not just on the exam, but also on the job."
--Aaron Smith, Projects@Work

"O'Reilly published one of the most intriguing books in their interesting series "Head First", called Head First PMP by Andrew Stellman, Jennifer Greene. This book is primarily targeting every PM professional that wants to pass PMP exam, but in the way that he wants to understand the subject matter not just to prepare for the exam. Book is easy to read (and you will be motivated to do it properly if you start with almost 20 pages of manual how to use and read the book, which I highly recommend) and it is very interactive which keeps reader awake and in state of thinking, rather than passive reading. I highly recommend this book to every PM professional as well as to those people that are stepping into PM era (no matter if there are PM's or they are part of the team)!"
--Tom Bronzin, mscommunity.net

"If you have any inkling about going into Project Management as a profession (PMPing and not Pimping), I highly recommend taking this path using this book to help master the process."
--Robert Pritchett, MacCompanion