As a Team Lead for C++ Developers, you will be responsible for the production and enhancement of high-quality development code for the NXLog Raijin product. You need to ensure that developers are cognisant of good practices regarding the design, development, testing, documentation, and maintenance of software solutions that meet these needs.
Required activities:
Research, design, and development of NXLOG Raijin code
Logging of all work in NXLog work-tracker
Daily committing of code into the Gitlab repository
Daily update of development activities via Gitlab or incident management tracker
Architectural, discussions, code reviews, and merge requests
Providing feedback on the Jira issue description
Providing feedback via architectural discussions
Providing direction via code reviews
Merging code and providing feedback
Working with the Product and Project Manager on Release Management
Planning and team learnings, planning sessions, and retrospective
Providing guidance in planning for development
Providing data on the performance of developers in retrospective – number of code reviews problems that were occurring – how can we improve
Refinement issues – Product and Project Manager
Research new technology, performance testing, working with DevOps and Support
Liaising with DevOps on environments needed for Development
Working with Support on high-profile urgent issues
Working with other lead developers from other teams
Recommending new technologies that can help increase productivity
Investigating software-related complaints and making necessary adjustments to ensure optimal software performance
Responsibilities
People:
Leadership – Lead by example
Schedule intervention after 3 or more code reviews to unstuck people
Communications- Feedback on code reviews, and architectural discussion – constructive and clear direction as per our standard processes
Communications - Working with the Product Owner and Senior Project Manager to help refine issues
People management – Mentoring, and guiding developers
People management – Actively participate in the evaluation and personal development sessions
People Management – Review new candidates, participate in and lead technical interviews
Co-management –Ability to work closely with the Technical Lead
Process:
Provide an example of standardization of work – the issues contain description, architectural breakdown, clear and clean code with reasons why direction was chosen
Daily update of reports – allowing teams to see progress
Time management Code Reviews, Architectural Discussions, Merging
Development of own lead issues
Technology/ Innovation:
Working towards Raijin working with NXLOG
Working with QA Engineers to improve test coverage and tests and environment
Suggestions to improve ways of working
Providing information and decisions on new libraries when required
Requirements:
C++ development experience under Windows/Linux/Unix (min. 5 years),
Good understanding and practical experience of modern C++ (C++11 and later)
Good knowledge of data structures and algorithms
Strong analytical skills
Strong verbal and written communication skills (in English)
Excellent leadership skills and people management experience
Proven experience in software development methodologies
The ability to multi-task
Qualification: Masters's degree in Information Technology or similar
Language: fluent English skills (oral and written)
PC knowledge: Advanced level of MS Office knowledge