Key Job Duties & Responsibilities
• Collaborates with all software teams to support the execution of project plans.
• Oversees project and team assignments to ensure that all projects are managed to plan and that roles of team members are clear.
• Oversees the development lifecycle to ensure that all development standards are adhered to.
• Supervises work by team members to ensure that all project deliverables meet release criteria.
• Leads and manages project resources, sometimes across organizational lines, to ensure all projects are completed satisfactorily.
• Negotiates assignment of resources to ensure project work can be completed at the determined time.
• Provides a central point of reference for team members, other teams, and peers regarding projects and procedures so as to ensure development teams fully understand their project and its boundaries as well as ensuring the successful integration of projects.
• Participates in the recruitment process for new team members to ensure that the required skill sets and behavioural competencies are added to the team.
• Whenever necessary, conducts research and technology exploration as required to address any present or future projects.
• Participates in analysis and design activities so as to produce a viable system design that fits within the overall system architecture whilst addressing all the elicited requirements.
• Follows established development and testing procedures so as to ensure quality software development which meets the requirements whilst adhering to the proposed design and any stipulated timelines.
• Creates, maintains, and reviews documentation regarding any undergone systems development so as to ensure long-term maintainability of developed systems.
• Makes use of company standard source control and defect/task tracking software so as to effectively handle configuration management and defect fixing issues which arise in a team development environment.
• Identifies training needs for employees and when possible creates and presents training classes.
• Carries out employee performance reviews at a time indicated by Human Resources.
Wymagania i obowiązki
• Possess a university degree in computer science or engineering.
• Proficient with object oriented design methodologies, database technologies, and an understanding of web technologies.
• A proficient and skilled developer with a deep knowledge of Java.
• Knowledge of networking (TCP/IP) and networking protocols and the application of these technologies.
• Experience with the design and delivery of distributed, concurrent, mission critical, systems implemented using technologies such as the Spring Framework (core, MVC, integration, ORM), JMS (ActiveMQ), Hibernate ORM, Servlet containers, MongoDB and standalone Java services.
• Proficient with the use of Linux and possess the ability to trouble-shoot problems at the systems level.
• Knowledge and understanding of virtualization and Cloud IaaS systems.
• Knowledge of VMware products will be considered an asset.
• An understanding of build automation tools such a Maven, source control tools, and bug tracking software.
• Knowledge of different development methodologies and project estimation techniques together with an understanding of the SDLC.
• A clear and effective communicator with the ability to write clear and concise technical documentation, and other documents that may be required to support software releases.
• Knowledge of virtualization technologies and cloud IaaS services will be considered an asset.