Overview of Role/Job Purpose:
This position requires a Senior Developer, experienced with JEE to translate business requirements into well defined, designed, tested and deployed systems/application, and to support the systems/application in the clients’ production environments.
- Provide software development support using industry standard software development practices and modern programming languages/operating systems.
- Analyze business requirements, create/develop detailed system design specifications and formulate plan(s) outlining steps required for system/program development.
- Design and develop scalable program modules for future growth.
- Design, execute and monitor application performance tests on new/existing programs to resolve errors, to isolate areas for improvement, and for general debugging of the application.
- Design, implement and deploy software systems/applications, including logical and physical models, by using standard analysis/design/programming techniques.
- Create and maintain use case/technical documentation using defined technical documentation templates.
- Perform coding from written use case/technical specifications and ensuring that every coding path is thoroughly unit tested and bug free.
- Perform User Interface (UI) review, analysis and troubleshoot code to identify the root cause of issues and to quantify the business impacts caused by these issues.
- Participate in software development projects; including requirements definition, analysis, design, code, test, debug, document, peer-review, deploy/implement, monitor and support.
- Participate in client interactions to develop system solutions to business problems.
- Optimize computer software programs on workstations.
- Work within established procedures and standards to develop, test, implement and maintain the application software as well as apply industry best practices as required.
- Provide technical expertise, guidance and training to less-experienced developers.
- Provide production support including problem analysis and coding of resolutions, defect corrections, monitoring, optimizing and performance tuning of complex SQL queries.
- 90% of role responsibility is allocated to development, including UAT/SIT testing.
- Otherad-hoc duties and responsibilities as assigned.
- Some travelrequired (less than 10%).
Interpersonal Skills, Ability and Qualifications:
- Excellent verbal and written communication skills.
- Ability to work independently without a high degree of supervision.
- A keen team player to contribute positively to meeting team/project goals/deliverables as well as to work alone and independently, when required.
- Ability to work well under pressure and to apply critical thinking/reasoning to make sound decisions.
- Ability to prioritize and multi-task to work effectively in a high-pressured, fast-paced environment, to meet tight timelines while maintaining high quality deliverables.
- Ability to analyze/evaluate user needs/specifications to translate into logical and practical software components and business deliverables.
- Exceptional analytical skills to understand problems, identify root cause and resolve.
- Ability to participate in all phases of application development.
- Ability to monitor and control costs within own area of responsibility.
- Advanced knowledge of application design principles, practices design patterns, software life cycles, object-oriented design, JEE, Java application development and servers, and related technologies.
Essential Technical Skills and Experience
- Mandatory: Proven, extensive experience developing in Java, JEE (Release 6 and 7), JPA2, EJB3, RESTful web services, Servlet, MyBatis and WebLogic Application Server.
- Solid background in Oracle database fundamentals including development and tuning of complex database queries.
- Extensive knowledge of Enterprise Design patterns and service oriented architecture
- Hands-on experience working with Source Control tools: SVN, ANT and Maven.
- Asset: experience developing in JDeveloper, ADF, JSF2.
- Asset: exposure to and knowledge of Customer Information Billing System in the Utility sector.