About Me

Training

Nothin But .Net Developer Bootcamp

Navigation

Search

Categories

On this page

Software Developers vs. Software Artists

Archive

Blogroll

 Agile Developer Venkat's Blog
 Ayende @ Blog
 B#
 Barry Gervin's Software Architecture Perspectives
 Boy Meets World
 Brad Abrams
 Canadian Developers
 Christopher Steen
 Claritude Software News
 Clemens Vasters: Enterprise Development and Alien Abductions
 Coding Horror
 Coding in an Igloo
 Dare Obasanjo aka Carnage4Life
 Darrell Norton's Blog [MVP]
 David Hayden [MVP C#]
 Don Box's Spoutlet
 Eric Gunnerson's C# Compendium
 EZWeb guy: Jeffrey Palermo [C# MVP]
 Fear and Loathing
 Generalities & Details: Adventures in the High-tech Underbelly
 Greg Young [MVP]
 Greg's Cool [Insert Clever Name] of the Day
 IanG on Tap
 Ingo Rammer's Weblog
 ISerializable - Roy Osherove's Blog
 James Kovacs' Weblog
 Jason Haley
 Jean-Luc David
 Jeremy D. Miller -- The Shade Tree Developer
 JetBrains .NET Tools Blog
 Jimmy Nilsson's weblog
 John Bristowe's Weblog
 John Papa [MVP C#]
 Jon Skeet's Coding Blog
 JonGalloway.ToString()
 Jump the Fence or Walk Around
 Lambda the Ultimate - Programming Languages Weblog
 Larkware News
 Lutz Roeder
 Marquee de Sells: Chris's insight outlet
 Martin Fowler's Bliki
 Mike Nichols - SonOfNun Technology
 MSDN Magazine - .NET Matters
 MSDN Magazine - All Articles
 OdeToCode Blogs
 Onion Blog
 Planet TW
 Raymond Lewallen [MVP]
 Rockford Lhotka
 RodMan's Corner
 Roger Johansson's blog
 Sahil Malik - blah.winsmarts.com
 Sam Gentile's Blog
 Scott Bellware [MVP]
 Scott Hanselman's Computer Zen
 ScottGu's Blog
 secretGeek
 Service Station, by Aaron Skonnard
 Signum sine tinnitu--by Guy Kawasaki
 Stephen Toub
 Steve Eichert's Blog
 Steven Rockarts
 The Blog Ride
 The Coding Hillbilly
 The Daily WTF
 TheServerSide.net: News
 Tim Gifford
 Vance Morrison's Weblog
 you've been HAACKED

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 519
This Year: 28
This Month: 0
This Week: 0
Comments: 1593

 Sunday, November 11, 2007
Sunday, November 11, 2007 3:54:21 AM (Mountain Standard Time, UTC-07:00) ( General )

It is 3:00AM in the morning and even though the last week has been one of the most intense (and satisfying) iterations of my Nothin But .Net course to date, I am sitting here thinking about  some of the amazing conversations that occurred over the course of the week.

One of the things that I don’t do a good job of hiding is my passion with respect to pursuit of excellent in your craft. With respect to the world of software development I personally feel that people fall into one of two categories. That of a software developer and a software artist.

IMHO, I truly believe that more developers would feel a lot greater satisfaction with their job if they took the time to exercise the creative sides of their brain. In our microwave culture, we are not satisfied unless we can get things happening now!

Like great artists of history (and present), building good software that is elegant and most of all maintainable, is more than just understanding the concepts of the language(s) that you are targeting. You need to be able to leverage the creative side of your mind to figure out how you can use the building blocks of the language and come up with concepts that can mirror/model the problem domain in a way that you can’t be taught just by googling.

A software artist takes time to hone their craft. They realize that the creative side of programming is more important that the language(s) or tools that they are using to implement the solution. Like an artist they take time to cultivate and grow their own unique style daily. Two software artists given the same problem to solve and no google to read will most likely come up with elegant solutions to the problem, but I would wager as to whether the solutions would look anywhere near the same. Why, because now their own personal styles are coming into play and they are flexing their creative and technical muscles to solve the problems at hand.

I challenge you this week (and going forward) to remember that creating software is more than:

  • Learning a language
  • Learning some cool tools (NHibernate,Castle,….)
  • Learning design patterns

Once you have a certain base of knowledge built up, the trick is not to challenge yourself to not just churn out the same old code day after day. Let your brain do what God designed it to do and let it run. Let it first identify the box and then figure out if there are creative ways that you can look at the problem to see if you can come up with a solution to the problem that you (or anyone else) has already come up with.

Develop With Passion.