Analyzes, designs, develops, codes and implements programs in one or more programming languages, for a specific assigned software system or systems.
Identifies and resolves application, database software, and programming problems.
Designs and defines specifications for systems.
Defines specifications and develop programs, modifies existing programs, prepares test data, and prepares functional specifications.
Analyzes program performance during execution while using various programming languages and techniques.
Identifies potential process improvement areas and suggests options and recommends approaches.
Provides guidance to non-technical staff in using software and hardware systems most effectively and efficiently.
Reviews project proposals, evaluates alternatives, provides estimates and makes recommendations.
Establishes, participates, and maintains relationships with business units, customers and information technology subject matter experts in order to remain apprised of direction, project status, architectural and technology issues, risks, and functional/integration issues.
Candidate must possess at least a Bachelor's Degree, Post Graduate Diploma, Professional Degree, Master's Degree, Computer Science/Information Technology, Engineering (Computer/Telecommunication), Science & Technology or equivalent.
At least 4 year(s) of working experience in the related field is required for this position.
Self-driven professional who can succeed with little supervision.
Strong programming knowledge in Java/J2EE with strong focus on backend coding/logic.
Strong oral and written communication skills.
Experience building large Java based applications and good understanding of complex, multi-tier architectures.
Extensive experience in Spring, Web Services, JMS, JSF, GWT and ETL.
Excellent knowledge of Relational Databases, ORM technologies (Hibernate) and SQL including writing stored procedures.
Knowledge of working in Unix/Linux environment with the know-how of shell scripting.