Pages

Showing posts with label Job Descriptions(JDs). Show all posts
Showing posts with label Job Descriptions(JDs). Show all posts

Thursday, May 10, 2007

IT Product Development Teams

This article presents information on the working of teams in the IT Development Environment.

Traditionally, two dimensions characterize an IT Product Business Model. The first dimension is Nearness to Customers and the other being Nearness to Technology, as illustrated by the figure shown below:

Nearness To Customer

 

 

 
Nearness to Customers would entail greater technical breadth; people management and interpersonal skills while Nearness to Technology would entail greater technical depth & expertise.

IT products related sales falls into the three main areas of pre-sales, sales, and post-sales support of hardware and software. The first area involves supporting pre-sales activities by giving detailed information about technical specifications and the ways in which they could meet the customers' needs, often demonstrating those features before a sale. The actual sale involves negotiating a commercial agreement to the benefit of both customer and supplier. The technical support, which follows the sale, can include solving faults and problems, or maximizing the use of software features, as well as advising on appropriate user training. In terms of knowledge & skills, this team is required to have basic awareness of products, key features, and markets. Although technical depth in not mandatory, people skills and good communication skills are essential.

Fundamentally, the product management team gathers and disseminates product-related requirements.The product management team understands the needs of the customers and arrives at a coherent set of product related requirements that is communicated to the development team. In terms of knowledge & skills required, this team requires both functional knowledge of the product in order to be able to interact with customers and understand their needs as well as technical knowledge in order to be able to communicate the customers’ needs to the development team. People in the product management team must be excellent communicators and need to have excellent written English skills as well, as they are required to disseminate information through presentations, conferences, customer board advisory meetings etc. Also, they need to have good interpersonal skills.

A product development team is a team of people responsible for the design of a competitive product and the related processes to manufacture and support that product. The product development team basically works with the requirements the product management team has created. The team consists of people from all disciplines that can positively impact the development of the product and improve competitive factors, not just personnel from the various design engineering disciplines. Each product development team would be staffed as appropriate for the requirements of the project and the composition of the membership may change over time. In addition to formal team members, others in the organization may be called upon to support the team's efforts. In terms of knowledge required for the role, robust knowledge of Coding, Source Control, Development Environment and Source Structure Hierarchy (configuration/header/binary files) is essential. Domain Knowledge (example: writing a C++ program for a banking application is different from a networking application) is more critical than knowledge of a specific technology. Also required is the Knowledge of Java, J2EE, XML, and Oracle Database. In terms of skills, a developer must essentially possess problem solving, analytical ability and logical thinking skills.

The testing team works off the specifications created by the product development team. The main function of the testing team is to identify the correctness, completeness, security, and quality of developed computer software/hardware. This team ensures that the developers have done the right thing. Today emphasis is on building automated tests to test products. The current trend is shifting away from product knowledge to more technical knowledge of testing tool frameworks like Mercury, Silk, and Windrunner etc.

The support team provides two levels of support. The first level is through web or phone, while the second level is through bug diagnosis. The support team provides technical assistance, support, and advice to customers and other users. These troubleshooters need to have a good understanding of the product and attend to details in order to interpret problems and provide technical support for hardware, software, and systems. Also, skills required here are problem solving, and communication skills. So also, are sensitivity- to deal with unhappy customers and crisis management skills.

This article reflects the information shared by an industry professional during the course of the guest lecture series organized at MeritTrac.

Sunday, April 1, 2007

Software Development JD - Financial Services

The article is a synopsis of the role of the IT staff in financial service providing organizations which engage in residential and commercial mortgage servicing, consumer unsecured debt collections, loan origination services, and business process outsourcing to third parties.

 

IT IN FINANCIAL SERVICES

 

In the financial servicing arena the role of the IT staff is to offer automated, comprehensive, functionally integrated servicing systems to support all servicing functions. The IT staff delivers process driven technology solutions, manages and automates servicing operations, optimizes efficiencies and reduces costs – fundamentally re-engineering and streamlining the servicing processes followed.

 

The fundamental functions of the IT staff are:

 

- Design/Development/Testing and Support of applications and tools for real estate, mortgage servicing etc. For instance advanced technology is applied in collection management activities. Loans are classified at the outset in different delinquency categories (such as 1-29 days, 30+ days and so on). Customer service representatives contact delinquent borrowers. Calls are prioritized by customer payment behavior, whether loans are newly boarded, and time zone. Here software is used to determine the best time of day to call such delinquent borrowers based on previous contacts. Artificial intelligence tools are used for loans that are delinquent to predict call sequence, present call scripts to the collector, and document the flow of the scripts. Internet protocol systems are used to ensure proper telephone connection to all sites and so on.

 

- Servicing/Infrastructure support of Contact Centers to assist customer service representatives in responding quickly and accurately to customer inquiries. State-of-the-art technology is used to support a robust set of procedures for performing some of the customer contact functions such as call resolution, providing borrowers with a number of self-service options through an interactive website, obtaining loan information and making payments through interactive voice response unit that borrowers can use etc. Managing such servicing activities usually include maintaining of Servers, Networks, IT Telephony systems, Operating Systems, Databases,  tools like Citrix etc.

 

KEY COMPETENCIES

 

The section that follows supports a list of knowledge and skills/abilities (competencies) that are critical to the success of nearly every role engaged in technology services and development in  financial service providing organizations. The common knowledge and skills/abilities needed across the roles are:

 

- Business and Process knowledge- Although some roles are focused very specifically around certain aspects of understanding and converting business requirements, every role in technology services and development should have awareness and sensitivity to the business processes and needs. Apart from this, process knowledge also needs to be strong, for testing of functionality at every stage in technology development. 

- Strong written and oral communication skills- To communicate status to the appropriate level of detail and in a timely fashion.

 

- Quantitative ability -The ability for computation and application

 

- Problem solving - The ability to approach solutions from multiple perspectives and exercise judgment when solving problems.

 

- Lifelong learning – The perspective of continuous learning and need for skills renewal which is critical in a high-change industry like technology development.

 

- Strong team collaboration skills- The ability to work well with teams

This article reflects the information shared by an industry professional during the course of the guest lecture series organized at MeritTrac.

Sunday, February 18, 2007

Software Development JD - Business Application Development

This blog provides insights into the fundamental roles that exist in the software development industry- specifically in the area of Business Application Development.

The business application software development industry adopts widely varying processes and people hierachies to manage software development. Despite these differences there are some common threads in the people hierarchies and people competencies required in the software development industry. Across companies, there is a need to understand the business problem, convert that problem into an architecture, convert the architecture into a solution, test the solution, and deploy the solution. Although each of these processes may change to some extent based on the programming models and tools being used, fundamentally there are some roles, which every process has in one form or another. Also these roles exist in a hierarchy. Below is a hierarchy representation of the most common roles.
 
ROLES AND HIERARCHY

Software Developer (Reports into Team Leader)
Team Leader (Reports into Project Manager/Delivery Manager)
Project Manager/ Delivery Manager

FUNCTIONS AND COMPETENCIES

This section summarizes the functions and competencies (knowledge, skills and abilities) that are critical to success in these roles. It then mentions the assessment methodology adopted while hiring for these roles.

Software Developer Role


Functions:

The role of a Software Developer is an entry-level role. 'Software Developer’ is a broad designation that applies to all junior roles in the IT hierarchy, right from a junior software engineer to a senior software engineer. A Software Developer is responsible for any or more of the following functions:

-- Coding - Writing code and low level analysis
-- Design - Low-level design documentation
-- Implementation - Installation of product at client location
-- Production Support and Enhancements - This involves providing support, maintenance and enhancements
-- Testing - Testing the application for functionality at each stage

Competencies:

Knowledge Of

-- Programming Languages(C/C++)
-- Software Engineering Concepts (Design, Coding, Documentation etc)
-- Databases
-- Debugging tools
-- Knowledge of Testing tools (like WinRunner, LoadRunner) – (Desirable, not mandatory)
-- Knowledge of Design tools – (Desirable, not mandatory)

Skills/Abilities:

-- Communication Skills

Reading-The ability to read and comprehend
Speaking - The ability to speak clearly
Listening – The ability to listen and comprehend

-- Academic Skills like:

Reasoning and Problem Solving ability-The ability to approach solutions from multiple perspectives
Mathematics-Computation and Application
Attention to Detail

-- Soft Skills like:

Team Work & Group Dynamics
Integrity
Initiative
Rule Consciousness-Complying with policies
Being Dependable and Reliable
Ability to Prioritize

Assessments For the Software Developer Role

Technical Expertise is assessed by means of a Test /Technical Interview
Soft Skills/Communication is assessed by means of an Interview
Other Soft Skills like Team Working/Group Dynamics are expected to be present in candidates and is not specifically assessed

Team Lead Role

Functions: A Team Leader is primarily responsible for the following functions for designing software solutions and managing teams.

Competencies:

Knowledge of

-- In-depth knowledge of Design, which includes Design Tools (like Rational Rose), Design Patterns, High and Low level Design  (HLD and LLD)
-- Unified Modeling Language (UML)
-- Testing Fundamentals, Testing tools (like wind runner, loadrunner) and Test Scripting
-- Implementation which includes Configuration Management and Environment Set-Up
-- Advanced knowledge of Programming Languages (applicable to the Design environment)

Skills/Abilities:

-- Communication Skills :
Reading-The ability to read and comprehend
Speaking - The ability to speak clearly
Listening – The ability to listen and comprehend
Writing – The ability to convey ideas and information through emails in a business context

-- Academic Skills like Problem solving and Analytical ability

-- Soft Skills like:

Team Work & Group Dynamics
Integrity
Initiative
Rule Consciousness-Complying with policies
Being Dependable and Reliable
Ability to Prioritize
Learnability – Having a perspective of continuous learning and skills renewal which is critical in a high-change industry like software development

Assessments For the Team Lead Role

Technical Expertise(C++ Technical Expertise) is usually assessed by means of a Test /Technical Interview       
Design Skills are usually assessed by means of an Interview
Soft Skills/Communication is generally assessed by means of an Interview
Other Soft Skills like Team Working/Group Dynamics are evaluated by means of an Interview
 

Project Manager Role

Functions: A Project Manager is responsible for successful delivery of a software project. This involves team management, project management and customer management.

Competencies:

Knowledge of:

-- Project Management including Risk Management
-- Deep technology in the technology area required for the project

Critical Skills /Abilities:

-- Project Management Skills
-- Communication Skills
-- Customer facing Skills – especially negotiation
 

Assessments For the Project Management Role

All competencies required are assessed by Interviews in those specific areas.
Some companies look for Project Management Institute Certifications to assess Project Management knowledge
 

The article is an extract of the information shared by an industry professional with 7 years of experience in the IT industry during the course of the MeritTrac Guest Lecture Series.

Hit Counter