IT Consultant Vs. Software Developer in Offshore Development

 

QUESTION: What’s the difference between an architect and a construction worker on a house construction project?

ANSWER: It is very similar to the difference between an IT consultant and a Software Developer on an offshore software development project.

Most offshore development is handled by a team of software developers who are well versed with coding in a specific language. 90% of the times, such offshore software teams have basic to intermediate software design skills only! They only do what’s necessary to make functional software.

What they almost always lack is detailed strategic planning and a high-profile architecture required for a scalable and performance friendly software.
Specifically, an IT consultant can perform the following roles:

  • Design Engineering
  • Program Management
  • Project Management

 

Here are the differences between an IT consultant and a Software Developer on a typical offshore software development project:

IT Consultant Software Developer
An IT Consultant looks at technology from the business perspective. They offer advice on latest technology trends & best practices. This way they help clients make better business decisions. A Software Developer takes the approved technical specification and looks at implementing the same to get things working.
An IT Consultant works on adding/deleting features from the app specification as per target audience, goal, market competitive study and ROI. A Software Developer is usually not involved with the market performance reports of their features and/or their customer reports. They are concerned with implementing the approved feature specification in a given time frame.
An IT Consultant can help with code reviews and code re-factoring. A Software Developer writes the initial functional code.
An IT consultant looks at software from the perspective of security, scalability, maintainability, ease of usage and performance. This 360 degree angle puts the implementation strategy on the right track from the very beginning. A Software developer’s first priority is to write functional code. Aspects of security, performance etc often get neglected till the end. This requires major revamps and re-hauls in the software at a later point of time.
An IT consultant looks at the platform from long term use and helps select a DBMS and Db schema accordingly. A Software Developer makes a schema for one feature at a time and usually modifies the same vigorously.
An IT consultant gets involved with ‘testing and QA’ as code and features are being written. He/She then formalizes a process of regular regression testing, and helps in creation of written test cases. This helps with early bug detection and prevents creation of nested buggy code. A Software developer performs manual feature testing after the feature is implemented and continues to build on top or moves on to other features.
An IT consultant can conduct client/server-side latency and load measurements by simulating traffic. This helps in optimizing code by improving data structures, DB schema and algorithms. This activity is usually outside the realm of a Software Developer’s role as it takes up a lot of additional time over and above coding of the actual features.
As the application begins to shape up, the IT consultant can help with the server farm design and launch architecture for launching the application. Choosing an environment for web platforms on the cloud requires a lot of work and understanding. A software developer can then run the processes for moving the app to the cloud as and when told.
An IT consultant can help maintain the app on the cloud as he/she understand the prod machine setup A Software Developer is usually not aware of this setup.
An IT consultant can function as a Project Manager to manage timelines, resources, schedule and project scope. The software developer finds it difficult to stay so organized and update the project status as and when things happen.
The IT consultant can conduct meetings with the clients, offer sync-ups, provide demos, collect bugs and iterate on the status follow-ups. The software developer can save time from doing all this and instead work on the feedback provided to improve the application.

The value addition is similar to the value addition of having an architect on a house construction project.


At Atlogys, we act as IT Consultants on web application development and web 2.0 platform design. If you have a web based business and want technical advice or review of your application, please contact us at ritika@atlogys.com