<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx</link><description>Steven Clarke added a recent comment to my blog that I thought was worth highlighting: Systematic programmers tend to follow a defensive coding style. They do not make assumptions about the code they are writing, the platform it runs on, the class libraries</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50738</link><pubDate>Wed, 19 Nov 2003 05:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50738</guid><dc:creator>Corey Haines</dc:creator><description>I'm a cross between a pragmatic and an opportunistic. http://www.coreyhaines.com/</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50739</link><pubDate>Wed, 19 Nov 2003 05:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50739</guid><dc:creator>milbertus</dc:creator><description>I would have to say that I'm a pragmatic program, although definitely on the systematic side of things.  I was originally going to say that I was systematic, until I read that pragmatic programmers &amp;quot;Rather than spend the time understanding the full working details of an API, they will prefer to learn as they go&amp;quot;.  That's me right there.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50740</link><pubDate>Wed, 19 Nov 2003 05:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50740</guid><dc:creator>John Cavnar-Johnson</dc:creator><description>Depends more on what I'm building than anything else.  If the requirements of a project are fluid (as is often the case with UI work), I'm opportunistic.  If I'm building a typical business app, I'm more pragmatic.  However, when I build infrastructure code (i.e. code that other programmers will depend on or will be used for application integration) then I'm definitely systematic.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50741</link><pubDate>Wed, 19 Nov 2003 07:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50741</guid><dc:creator>Yoshi Beal</dc:creator><description>I think these definitions are largely bunk.  Everyone is one of these at one point or another.  Would a systematic programmer really turn down a productivity gain? Don't opportunistic developers need to understand internals in order to debug their apps?  Stereotyping people is unproductive.  Flush Mort, Elvis, and Einstein down the crapper - we're all professionals here.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50742</link><pubDate>Wed, 19 Nov 2003 07:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50742</guid><dc:creator>Keith Patrick</dc:creator><description>I'm systematic at home, pragmatic at work.  At work, I'm often forced to throw things together, hence the &amp;quot;anything that makes it work that is well-designed,&amp;quot; meaning that I don't abandon design, but I'm more general with error-handling and documentation.  At home, where I've been refining and refining the same project for over 10 years (with the current iteration being by far the most complete and functional, having been completely rewritten in .Net and on the 3rd pass and 6th month of a code review/overhaul).  I guess the reason for this is that it is my learning tool for so many areas, as it's scope is enormous enough to allow me to explore to my heart's content just about any programming area that interests me.  Given my systematic nature, I spent a week walking the line by line to ensure proper error handling.  Spent a month redocumenting.  And that's all before a security/attribute overhaul, so I've got another one to go!  But it's the obscenely time consuming systematic approach that helps make so many aspects of the framework more 2nd nature and realistic in a more pragmatic environment; I've already begun throwing a lot of the more helpful .Net stuff in when I'm speedcoding at work, although I do still regret not having precise exception handling, which I don't think there's much way around in a time crunch.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50743</link><pubDate>Wed, 19 Nov 2003 16:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50743</guid><dc:creator>Adam Weigert</dc:creator><description>I'd like to add two more types of programmers ... the Application Programmer and the Technical Application Programmer ...

Application Programmer:
Sadly, these two types exist. You have people that program just as a job, who are passionate enough to learn the technology behind it. They want to know as little as possible to get their job done. They do not want to know how the environment behaves only the techniques they need to use to complete a task. They could care less how to install software and expect someone else to do it for them. They expect the company to pay for any training they may require to do the task at hand.

Technical Application Programmer:
Then you have the technical ones who love the technology and are interested in it and more than just code. Maybe the environment that they build for interests them. They can install software, OS, or anything else and can figure out how things work by playing. They also can customize software/OS settings to get better performance or do something they way they like it. They actively seek out knowledge for things outside their job but that help them become a better programmer...

Those are some short descriptions of people at our company. Its very frustrating for a technical programmer to work with a non-technical programmer. They passion just isn't the same. It is sad really.

Which one are you?</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50744</link><pubDate>Wed, 19 Nov 2003 19:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50744</guid><dc:creator>Lance Hunt</dc:creator><description>I agree your two additional programmer-profiles exist, but they are really just the external behaviors exhibited by the original three classes above;

The Application Programmer you describe, is really just an Opportunistic programmer in disguise.  And, the Technical Application Programmer is somewhere between a Pragmatic and a Systemic programmer.

Also, note that I have witnessed equal frustration of the Application Programmer when having to work with the Technical programmer, because the former's Opportunistic personality will often have difficulty with the latter's desire to spend time on things other than completion of coding.

Frankly, I don't think there is one &amp;quot;perfect&amp;quot; personality for a programmer, depending upon your perspective; Managers generally prefer the Opportunistic programmer, because of his focus on results.  Architects tend to respect the Systemic programmer for his eye for proper coding technique , ability to optimize, and knowledge of system internals.  Technical Leads &amp;amp; Technical Managers tend to seek a balance, so the Pragmatic programmer is usualy their preference.

Luckily, there is usually room for all of us, and even people like me who fall somewhere in-between the definitions. (or perhaps in my own separate definition)

Btw....Great topic &amp;amp; discussion, guys!</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50745</link><pubDate>Wed, 19 Nov 2003 21:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50745</guid><dc:creator>Frank Hileman</dc:creator><description>I also think the stereotypes are no longer useful. Most everybody is being forced to pragmatic and opportunistic, whether they want to or not, simply because companies such as MS churn out one API after another, each one larger, layer upon layer. Few people have time to be &amp;quot;systematic&amp;quot;, even if it is their natural tendency.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50746</link><pubDate>Wed, 19 Nov 2003 23:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50746</guid><dc:creator>Sergio Pereira</dc:creator><description>I'll say I'm a Pragmatic that codes with the Opportunistic developer in mind. I hope that the developers using my APIs and Libraries find them straightforward and productive.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50747</link><pubDate>Thu, 20 Nov 2003 23:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50747</guid><dc:creator>Luke Hutteman</dc:creator><description>CliffNotes: There are three types of developers: Java Developers, C# Developers and VB Developers. *ducks-for-cover*

FWIW, I tend to be a mix between pragmatic and systematic (and yes, I code in both C# and Java)
</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50748</link><pubDate>Fri, 21 Nov 2003 07:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50748</guid><dc:creator>David Levine</dc:creator><description>I believe there are two types of developers; those who can be classified according to the three groups you devised, and those who cannot. Anything else is just an implementation detail...

I fall into both camps...
</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50749</link><pubDate>Fri, 21 Nov 2003 07:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50749</guid><dc:creator>David Levine</dc:creator><description>I believe there are two types of developers; those who can be classified according to the three groups you devised, and those who cannot. Anything else is just an implementation detail...

I fall into both camps...
</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50750</link><pubDate>Fri, 21 Nov 2003 18:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50750</guid><dc:creator>Steve</dc:creator><description>I really think I am more systematic...  I really like to inspect what is going on and how things can be improved.  It keeps me interested in programming and actually helps me get a little better.</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50751</link><pubDate>Sat, 22 Nov 2003 00:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50751</guid><dc:creator>mathew nolton</dc:creator><description>I fall under the fire sign &amp;quot;systematic programmer&amp;quot; with the moon rising in the house of pragmatism. Phoooeeeyyyy.
</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50752</link><pubDate>Sat, 22 Nov 2003 00:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50752</guid><dc:creator>mathew nolton</dc:creator><description>I fall under the fire sign &amp;quot;systematic programmer&amp;quot; with the moon rising in the house of pragmatism. Phoooeeeyyyy.
</description></item><item><title>RE: Systematic, Pragmatic and Opportunistic Programmers </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#50753</link><pubDate>Thu, 27 Nov 2003 05:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50753</guid><dc:creator>LeonBambrick</dc:creator><description>Definitely &amp;quot;Pragmatic&amp;quot; - but systematic when there's sufficient time, or when designing a fresh new app.

Some of these 'Systematic' idealists can be quite annoying - they spend so much time trying to 'perfect' the system (according to their own philosophical techniques), without taking any time to listen to users, or determine current business problems that need to be acted upon.</description></item><item><title>Don't be a </title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#126521</link><pubDate>Wed, 05 May 2004 20:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:126521</guid><dc:creator>From Over the Long Hill</dc:creator><description>Don't be a </description></item><item><title>What type of developer are you?</title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#358846</link><pubDate>Sun, 23 Jan 2005 08:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:358846</guid><dc:creator>Nick Parker</dc:creator><description /></item><item><title>What type of developer are you?</title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#358847</link><pubDate>Sun, 23 Jan 2005 08:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:358847</guid><dc:creator>Nick Parker</dc:creator><description /></item><item><title>HOWTO: Design a task list for an API usability study</title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#409851</link><pubDate>Wed, 20 Apr 2005 02:43:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:409851</guid><dc:creator>stevencl's WebLog</dc:creator><description>In my previous post I talked about setting up an API usability study. In this post, I'll talk about how...</description></item><item><title>What type of developer are you?</title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#1530037</link><pubDate>Thu, 25 Jan 2007 19:05:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1530037</guid><dc:creator>Nick Parker</dc:creator><description>&lt;p&gt;What type of developer are you?&lt;/p&gt;
</description></item><item><title>What type of developer are you?</title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#7007716</link><pubDate>Sun, 06 Jan 2008 19:52:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7007716</guid><dc:creator>Nick Parker</dc:creator><description>&lt;p&gt;What type of developer are you?&lt;/p&gt;
</description></item><item><title>David Alfaro: Scrum Costa Rica  &amp;raquo; Blog Archive   &amp;raquo; The impact of Human Resources in the Agile Enterprise</title><link>http://blogs.msdn.com/brada/archive/2003/11/18/50737.aspx#8528587</link><pubDate>Wed, 21 May 2008 19:17:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8528587</guid><dc:creator>David Alfaro: Scrum Costa Rica  &amp;raquo; Blog Archive   &amp;raquo; The impact of Human Resources in the Agile Enterprise</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://agilenature.com/2008/05/21/the-impact-of-human-resources-in-the-agile-enterprise/"&gt;http://agilenature.com/2008/05/21/the-impact-of-human-resources-in-the-agile-enterprise/&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>