developer, speaker, agile coach, and general all-around expert in building better software
New York, New York
Areas of Expertise:
Andrew is a bestselling O'Reilly author, developer, architect, speaker, agile coach, project manager, and expert in building better software. He has over two decades of professional experience building software, and has architected large-scale real-time back end systems, managed large international software teams, 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. He’s had the privilege of working with some pretty amazing programmers during that time, and likes to think that he’s learned a few things from them. Andrew's titles include Learning Agile, Beautiful Teams, Head First C#, Head First PMP, and Applied Software Project Management.
Recent Posts | All O'Reilly Posts
April 09 2011I 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
November 29 2010I 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
November 07 2010Every 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
October 16 2010XML 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
September 29 2010What 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
September 25 2010There 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
September 10 2010A 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
September 03 2010If 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
August 31 2010In 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
August 22 2010One 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
August 17 2010I'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
August 08 2010If 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
August 05 2010One 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
July 12 2010I 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
June 28 2010Someone 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
June 14 2010As 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
March 06 2010Building 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
February 17 2010Understanding 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
January 23 2010Andrew 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
November 01 2009Last 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
October 27 2009One 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
October 04 2009I'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
October 03 2009Jenny 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
August 23 2009One 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
August 22 2009Testing -- 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
August 16 2009I 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
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
November 26 2008If 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
November 26 2008Ever 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
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."
"An excellent tool for the hobbyist and professional programmer to learn the language and powerful programming environment afforded by C# and .NET. "
"...the content of Head First C# is solid and entertaining."
"...an exciting, interesting presentation assuring a much higher level of PMP exam 'passes'. Highly recommended!"
"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
"...a 'must' with contributions from a range of successful team leaders."
"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. "
"A highly interactive approach for the complete beginner."
"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."
"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."
"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."
"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."
"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 Ill be able to better absorb the content in the dull, dry books Im likely to pick up before taking the exam itself."
"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."
"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."
"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."
"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."
"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."
"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)!"
"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."
© 2014, O’Reilly Media, Inc.
(707) 827-7019 (800) 889-8969
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.