Our client, a multinational software solutions company is looking to recruit an experienced and ambitious Software Engineering Technical Lead to join their team based in Donegal.
The person responsible shall provide scrum leadership and guidance within the engineering team on technical design, including SDLC best practice and the implementation of non-functional requirements. They will possess excellent working knowledge of commonly used concepts, practices, and procedures within agile software development.
Their work will focus on a critical component of the company's desktop optimization solution which is a class-leading, enterprise-level integration and enabling technology. The next generation development for the product brings AI and data mining into the roadmap in an innovative and creative way.
The ideal candidate will have outstanding communication skills, a demonstrated track record of recent experience, contributing to and leading technical designs for complex product solutions. They will have experience working with large globally distributed teams. The ideal candidate will also have knowledge of AI techniques and industry standard data and process mining algorithms, as well as experience of AWS / Lambda or equivalent Serverless frameworks.
The role includes:
* Leading, inspiring and being a champion for the team at a technical level
* Provide technical leadership and manage delivery of agile sprints in new product development
* Work closely with Product Owners and User Experience Designers, to understand business requirements and translate them into technical roadmap.
* Initiate and manage new technology evaluation and proof of concepts
* Creating and maintaining an environment which is conducive to the team's success and which aligns with departmental goals and working practices
* Delivering against the approved schedule
* Lead team to deliver high-quality, robust, and scalable software solutions.
Duties & Responsibilities
* Deliver high-quality, robust, and scalable software solutions, and mentor less experienced team members to do the same
* Providing hands-on architecture leadership, guidance and mentoring to the company's distributed engineering teams
* Advocate best practices to the team in the areas of software engineering
Management & Leadership
* Outstanding communication skills
* Ensure the team understands why the features being developed are important, what benefit they will give and for whom they are being developed
* Ensure that the team are aware of the agreed timescales and quality measures and meet the overall acceptance criteria
Planning and Delivery
* Work with the team to produce estimates for plans
* Work with the Engineering Manager to produce delivery schedules
* team daily stand-ups, sprint planning meetings and retrospectives
Champion of Quality
* Ensure team delivers high quality, re-usable source code
* Contribute to code reviews as influencer more than leader
* Automate test harnesses where possible to enhance quality of product functionality
* Where automation is not possible, design and document effective manual test strategies.
* Communicate progress, risks and issues via weekly status reports
* Escalate appropriate issues to the Engineering Manager
* Work closely with Product Managers and User Experience Designers, to understand business requirements and translate them into technical requirements
* Understand why the scope items being developed are important, what benefits they will bring, who they are being developed for and how they fit into the product
* of all stakeholders as effectively as possible
Bachelor's degree in Software Engineering, Computer Science, or a related field
Significant years of proven success in implementing and designing enterprise level solutions, or suitable alternative experience in a professional engineering department.
5+ years in a senior technical role in previous large-scale software development projects
The ability to demonstrate an appreciation of the Non-Functional requirements and how to meet them.
Knowledge and experience of object-oriented principles and design patterns
C# / dot net, SQL an advantage
Modern REST API patterns (e.g. JSON-LD)
User interface design and implementation
Design patterns for scale out of application components
BDD principles with Cucumber
TDD principles with either TestNG or JUnit
UI test Automation with Selenium
Cross Browser testing tools such as Browserstack