<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Coding the Architecture - coding tag</title>
  <link>http://www.codingthearchitecture.com/tags/coding/</link>
  <description>Software architecture for developers</description>
  <language>en</language>
  <copyright>Coding the Architecture</copyright>
  <lastBuildDate>Mon, 09 Jan 2012 09:02:08 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  
  <item>
    <title>How do you maintain your coding skills?</title>
    <link>http://www.codingthearchitecture.com/2008/08/15/how_do_you_maintain_your_coding_skills.html</link>
    
      
        <description>
          &lt;p&gt;
Jason Chambers has a great blog entry called &lt;a href=&#034;http://jasondchambers.blogspot.com/2008/08/do-architects-need-coding-skills.html&#034;&gt;Do Architects need coding skills?&lt;/a&gt;, which talks about why architects need to be able to code. Given that this site is called &lt;a href=&#034;http://www.codingthearchitecture.com/pages/about.html&#034;&gt;Coding the Architecture&lt;/a&gt;, our thoughts on this will come as no surprise. In addition though, he also asks the following.
&lt;/p&gt;

&lt;blockquote&gt;
However, a more contentious question maybe - Do Architects need to maintain their coding skills once they&#039;ve achieved the lofty status of architect. Well, I think it depends. Enterprise architects - possibly not (more on that later). However, for application, solution or product architects - I would say yes. There are many reasons why I think this is the case.
&lt;/blockquote&gt;

&lt;p&gt;
Again, I agree with what he says - you need to retain a certain level of technical knowledge so that you can competently define an architecture using it. And that itself raises another interesting question - *how* do you maintain your coding skills as an architect?
&lt;/p&gt;

&lt;p&gt;
One of the problems with being promoted to or assigned as a software architect is that you might find that you can&#039;t code as much as you&#039;d like to. This may be down to time pressures because you have a lot of &#034;architecture&#034; work to do, or it might simply be down to company politics not allowing you to code. It happens, and when it does, you run the risk of introducing a &lt;a href=&#034;/pages/book/mind-the-gap.html&#034;&gt;huge great gap between yourself and the development team&lt;/a&gt;. All is not lost though, because some of my advice for addressing this gap also applies here.
&lt;/p&gt;

&lt;p&gt;
There&#039;s obviously no substitute for coding on a real project, but getting involved with the code reviews is one way to at least keep your mind fresh with technology and how it&#039;s being used.  Of course, you probably have more scope outside of work to maintain your coding skills; from contributing to an open source project through to continuously playing with the latest language/framework/API that takes your fancy. &lt;a href=&#034;http://www.codingthearchitecture.com/2006/05/03/keeping_up.html&#034;&gt;Books, blogs and podcasts&lt;/a&gt; will get you so far, but sometimes you just have to break out that IDE.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2008/08/15/how_do_you_maintain_your_coding_skills.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2008/08/15/how_do_you_maintain_your_coding_skills.html</guid>
    <pubDate>Fri, 15 Aug 2008 14:38:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Think like an architect</title>
    <link>http://www.codingthearchitecture.com/2007/07/13/think_like_an_architect.html</link>
    
      
        <description>
          &lt;p&gt;
IBM recently updated their &lt;a href=&#034;http://www.ibm.com/developerworks/architecture/kits/archkit1/index.html&#034;&gt;Software Architect Kit&lt;/a&gt; and one of the articles it links to is entitled &lt;a href=&#034;http://www.devx.com/ibm/Article/33025&#034;&gt;Evolution of Developer Skills Is Essential for Job Survival&lt;/a&gt;, which states that developers need to raise their game if they are to survive in the constantly changing IT industry. That&#039;s fair enough, the industry &lt;i&gt;is&lt;/i&gt; evolving and we all need to evolve with it. Personally, I&#039;m not convinced that the industry will evolve exactly how the author thinks it will, where traditional coding will become a thing of the past, replaced by SOA and abstract modelling techniques (e.g. MDA). There are some very bold statements in the article, but the one that struck me the most is as follows.
&lt;/p&gt;

&lt;blockquote&gt;
Since architects model and do not write code, modelling tools teach you to work and think like an architect.
&lt;/blockquote&gt;

&lt;p&gt;
I think you know &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/14/the_hand_off.html&#034;&gt;my thoughts&lt;/a&gt; &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/15/you_dont_have_to_give_up_coding.html&#034;&gt;on this&lt;/a&gt;, although I do agree with the part that talks about modelling. Somebody once told me that the key characteristic of a good architect is the ability to think in an abstract way. You can also think of it as the ability to not get caught up in the details &lt;i&gt;all of the time&lt;/i&gt;. To some degree, modelling allows you to escape from the detail and see the bigger picture, irrespective of whether you choose a &#034;model everything&#034; or &#034;model just enough&#034; approach and irrespective of whether you use a tool or a whiteboard.
&lt;/p&gt;

&lt;p&gt;
While you might not agree with the views being put forward in the article, it&#039;s worth a read because it presents something that will be new to a lot of people. At the end of the day though, architecture is about abstraction, not modelling.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/07/13/think_like_an_architect.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/07/13/think_like_an_architect.html</guid>
    <pubDate>Fri, 13 Jul 2007 09:08:00 GMT</pubDate>
  </item>
  
  <item>
    <title>The non-coding architect</title>
    <link>http://www.codingthearchitecture.com/2007/07/02/the_non_coding_architect.html</link>
    
      
        <description>
          &lt;p&gt;
I found a great blog entry today by Frank Kelly called 
&lt;a href=&#034;http://softarc.blogspot.com/2007/06/how-to-spot-dreaded-non-coding.html&#034;&gt;How to spot the dreaded non-coding architect&lt;/a&gt; (NCA), which is about some of the differences between architects that can code and architects that can&#039;t (or don&#039;t). Since this site is about &#034;coding the architecture&#034;, I thought you might find it interesting too.
&lt;/p&gt;

&lt;blockquote&gt;
These NCA folks can be really quite dangerous and give dev teams a bad name ... But how can you spot one? For most developers it&#039;s pretty easy but just in case you can&#039;t I&#039;ve compiled a list of example scenarios that should help - comparing the often dogmatic attitude of the NCA with the pragmatism of the experienced Coding Architect (CA).
&lt;/blockquote&gt;

&lt;p&gt;
Recommended reading and a little humour to brighten up your Monday.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/07/02/the_non_coding_architect.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/07/02/the_non_coding_architect.html</guid>
    <pubDate>Mon, 02 Jul 2007 19:14:00 GMT</pubDate>
  </item>
  
  <item>
    <title>The great rate debate</title>
    <link>http://www.codingthearchitecture.com/2007/05/23/the_great_rate_debate.html</link>
    
      
        <description>
          &lt;p&gt;
Here&#039;s an interesting one for those of you working for a consulting/product/professional services organisation. How many times have you heard the following?
&lt;/p&gt;

&lt;blockquote&gt;The customer won&#039;t pay your architect rate just for you to sit and code all day.
&lt;/blockquote&gt;

&lt;p&gt;
Personally, I&#039;ve heard this quite a bit. First of all, yes, there&#039;s a fair amount of truth and reality here; why should a customer pay architect rates for somebody to sit and code all day? Unless the architect in question has very l33t coding skills, the customer probably shouldn&#039;t.
&lt;/p&gt;

&lt;p&gt;
When you hire a software architect, although you&#039;re getting somebody that might be a good developer (if they believe in &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/15/coding_the_architecture.html&#034;&gt;coding the architecture&lt;/a&gt;), you&#039;re really buying into somebody that can define and deliver an architecture for you. I&#039;m definitely behind the stance that &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/15/you_dont_have_to_give_up_coding.html&#034;&gt;you don&#039;t have to give up coding&lt;/a&gt; as an architect, but you mustn&#039;t forget about your primarily responsibilities either.
&lt;/p&gt;

&lt;p&gt;
If you find yourself spending 100% of your time coding, you&#039;ve probably forgotten about the other stuff (e.g. architectural conformance, non-functional requirements assurance, quality assurance, etc) and your customer isn&#039;t getting what they paid for. You can certainly get your hands dirty as a software architect, but you can&#039;t &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/22/delegation.html&#034;&gt;delegate&lt;/a&gt; *all* of your architecture responsibilities. If you find yourself in this position, take a step back and look at the bigger picture once in a while.
&lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/05/23/the_great_rate_debate.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/05/23/the_great_rate_debate.html</guid>
    <pubDate>Wed, 23 May 2007 07:31:00 GMT</pubDate>
  </item>
  
  <item>
    <title>You don&#039;t have to give up coding</title>
    <link>http://www.codingthearchitecture.com/2007/05/15/you_dont_have_to_give_up_coding.html</link>
    
      
        <description>
          &lt;p&gt; I&#039;ve already written that &lt;a href=&#034;http://www.codingthearchitecture.com/2007/05/14/the_hand_off.html&#034;&gt;architects should get involved with the code&lt;/a&gt; and there&#039;s a flip side to this where I&#039;m constantly asked whether architects *can* continue to code if they are to climb the corporate career ladder. This is a shame, particularly if these people really enjoy the technical side of what they do. &lt;/p&gt;
&lt;p&gt; My take on this is yes, absolutely, you can continue to code. For me, it&#039;s quite frustrating to hear interview candidates say, &amp;quot;well, I understand that I&#039;ll have to give up coding to become an architect or to progress further up the career path&amp;quot;. There are lots of organisations where this is the expectation and it&#039;s reassuring that I&#039;m not the only person to have been told that coding doesn&#039;t have a place in the senior ranks of an organisation. Something that really struck a chord was a quote from somebody at the closing QCon London panel recently.&lt;/p&gt;
&lt;blockquote&gt;We&amp;rsquo;re losing all of the senior technology mentors into management positions.&lt;/blockquote&gt;
&lt;p&gt; As a software architect, you take on a great deal of responsibility for satisfying the non-functionals, performing quality assurance, making sure the software is fit for purpose, etc. This *is* a senior role and coding is one of the very best ways to make sure the project is successful. I have some thoughts on the whole career progression thing that I&#039;ll save for another day, but I want to reiterate what I say to everybody that comes through our doors for an interview. No, you don&#039;t have to give up coding. &lt;/p&gt;
        </description>
      
      
    
    
    
    <category>What is the the role of a software architect?</category>
    
    <comments>http://www.codingthearchitecture.com/2007/05/15/you_dont_have_to_give_up_coding.html#comments</comments>
    <guid isPermaLink="true">http://www.codingthearchitecture.com/2007/05/15/you_dont_have_to_give_up_coding.html</guid>
    <pubDate>Tue, 15 May 2007 12:07:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>

