We are looking for a Lead Developer
About the project
Guardtime and GTCT have partnered for the development of an advanced suite of software for cyber range automation. This project will follow the latest best practice to develop and deploy a fully functional, advanced set of interoperable software components on an operational cyber range used for complex, large-scale international training and exercises.
Our software development team, specializing in cyber range solutions, is looking for a Lead Developer, Software Developers, System Administrator and Virtualisation Engineer. As a member of this dynamic and ambitious team, you will have a chance to contribute to the design, implementation, testing, and documentation of software components, leading to the successful and timely delivery of the final product. With a direct connection to multiple clients, this project has a clear vision and detailed requirements already documented. Nevertheless, the team will be able to bring its collective expertise to influence the vision and requirements to further improve the final product. As the project is ambitious and challenging, this chance is for those who seek to realise a significant professional achievement in a fast-paced and dynamic team environment.
Time permitting, the software development team may also be tasked to develop software components in support of other Guardtime and GTCT projects.
About the role
Main responsibilities are:
Under the direction of the Product Owner and in cooperation with the Project Manager, plan the development effort, including organising tasks, assigning resources, and estimating effort.
In collaboration with the Product Owner and taking into consideration the expertise and experience of team members, select the approach, methodologies, tools and technologies best suited to achieve the project objective within time and budget constraints.
Design, implement and operate a continuous delivery toolchain.
Taking inputs from various stakeholders, lead the architecture and design of the product
Supervise the software development team on a daily basis, giving short-term and long-term direction and addressing project, technical, and personnel issues in a timely fashion.
Report progress to the Product Owner, the Project Manager and the Management Team on a continuous basis. Track and report effort performed against assigned tasks.
Lead and contribute to the proper documentation of the product in order to ensure long-term maintainability and sustainability.
As needed, contribute to and/or deliver in-depth and high-level presentations to stakeholders covering the development process, methodologies, tools, technologies, progress, issues and successes.
Train team members on the job and identify additional training opportunities to ensure team members have the required skills and knowledge to execute the work.
Time permitting, contribute to the development effort.
About the profile
Main requirements are:
3+ years of experience in directly managing software developers
7+ years of software development experience
Experience in the architecture, design, modeling and documenting of complex distributed systems
Experience in testing software
Experience with OpenStack or OpenNebula
Mastery of agile development methodologies
Mastery of technology
Experience in establishing, maintaining and operating continuous delivery toolchains
Strong leadership skills, ability to work under pressure and to optimise the performance of team members
Ability to follow agreed direction, as well as to take initiative and make decisions when needed
Ability to adapt to changing circumstances
Ability to prepare and deliver presentations customised to various audiences
Ability to write excellent documentation
Excellent communication skills
Ability to work in a multicultural and multi-language environment with teams and partners in multiple geographical locations and time zones
Desire to learn and excel as a team member
Have or be eligible for a Security Clearance
Fluent in English