Writes and delivers code for features and modules, debugs existing code and modules and provides technical guidance to less experienced Developers - FTEs, Contractors, Offshore Partner Resources.
Follows coding guidelines and practices and all technical processes and ensures they are followed by less experienced Developers.
Develops and validates estimates for technical work that will be undertaken.
On an as needed basis assigns and allocates defects to less experienced Developers.
Participates in analysis of requirements for designing new application and system features.
- 7+ years software engineering experience in a development capacity using a mainstream Object Orientated language C++ and Java under Unix/Linux.
- Minimum of 5 years’ experience in functional analysis, software design and applications maintenance.
- Minimum of 7 years of programming experience with C++, Java under Unix/Linux.
- Very good experience in Web development (HTML, Java), J2EE.
- Very good experience with Shell, Perl scripting and SQL/Oracle/PostgreSQL
- Good experience with network service management solutions such as OpenView, Nagios, SNMP.
- Good experience with Operations Service Management Solutions development (OSS & BSS).
KNOWLEDGE & SKILLS
- Solid knowledge of a mainstream Object Orientated language such as Java, C++ or similar or a Procedural language such as PL/SQL.
- Solid knowledge of SOA: XML Web Services, SOAP.
- Good knowledge of mobile development concepts.
- Solid knowledge of Object Oriented code design.
- Good knowledge of IT security concepts and ability to use them while designing and developing code.
- Good knowledge of developing and designing code to interface to one or more RDBMS databases, or ability to undertake Oracle database application development.
- Demonstrate good understanding of networking concepts.
- Demonstrate the ability to apply application design concepts: object-oriented design, design patterns, ASP.NET, Database development.
- Demonstrate the ability to use DataSet, SQL, stored procedures,
or develop stored procedures.
- Advanced knowledge of version control / source code management.
- Sound knowledge of and ability to apply standard software development principles, theories, concepts and techniques.
- Ability to develop designs for small to medium systems or features in large applications.
- Demonstrate an understanding of trade-offs and risks with programming choices.
- Demonstrate an understanding of SITA methodologies and practices.
- Ability to coordinate multiple technical streams of work to produce a complete solution.
- Ability to estimate and also lead the estimation process for small initiatives.
- Ability to work well both independently or as a member of a team.