Rainbow Shoes

My rant, my banter, my cynical view, my loving words.

Monday, April 06, 2009

dev and IT pro

The IT Pro is responsible for maintaining infrastructure and administering systems, such as Network Administration of AD, security, Database Administration for performance tuning etc, Maintaining clusters and reliability etc. Software Developers work with abstract ideas and requirements to build software systems that aid business and information workers. These can also be the systems that are maintained by IT Pros. The two streams are complementary. IT pro’s can’t really survive without the software systems developed by Dev’s, and the systems Dev’s design and develop are not of any use without the supporting infrastructure and maintenance.

Both roles require a high level of technical expertise and a deep understanding of computing in the contemporary environment, albeit from different perspectives. IT Pro’s need to keep abreast of security challenges facing contemporary systems, and deal with problems of scalability, privacy, and more. They need to know these things in minute detail. IT Pros don’t just need to know what an IP address is, they need to 
grok the TCP/IP stack and what problems can occur at each layer of that stack, for example. Software Developers need to know how to extract requirements (analysis), design systems to meet requirements (architect), understand how users think and interact with software (a role that’s increasing filled by designers), programme, and test. 

As a software developer increases in experience he moves from a programmer to architect, and this is where the challenge really starts. 
Programmers take a design and translate it into code. They’re essentially the labourers of the Software Development community. Programming is easy if you’ve got talented Architects and Team Leads. Architects need a broad understanding of the vast majority of IT themes. This includes what is in the domain the IT Pro. Architects design solutions that meet requirements elicited by Analysts. They choose appropriate technologies to implement the desired solution and as such must have a comprehensive understanding of network, security, databases, and existing products in the marketplace , on top of expert knowledge in the area of software development practices. Experienced Software Developers (and experience isn’t just years worked; it’s experience on different projects and with technologies and solutions) must keep across a broad range of topics, from the latest security threats and network intrusion techniques, to the latest theory in scalable architectures, as well as have a good understanding of modern languages, in order to inspire confidence in the Team Leads and Developers working from their designs. An architect that only knows procedural languages is not going to produce a design based around current OO thinking. The same goes for Development Managers and determining SDLC’s to use in order to best hit the deadline.

As IT Professionals gain experience, they need to keep on top of 
governance issues and laws concerning topics such as privacy. They slide away from the technical arena, into the business and politics world. (Though these are not responsibilities solely for the IT Manager. They also need to be handled to a lesser extent by the Software Development Manager)

Is it more complex to rise through the ranks in one stream than another? It’s a matter of depth and breadth of knowledge needed to perform ones role and I think that’s where software developers have a harder time of it than their IT Pro brethren.

0 Comments:

Post a Comment

<< Home