Job Title: Senior Software Engineer
Reports to: Technical Lead
Job type: Permanent, Full time, remote working
Industry sector: Software Solutions
Location: North West, Donegal, remote working considered
Start: ASAP subject to notice period
Salary: €Negotiable plus excellent benefits
Our client, a multinational software solutions company is looking to recruit an experienced and ambitious senior software engineer to join their team based in Donegal.
Join a small and agile group of developers, as they maintain and develop and re-develop market-leading desktop analysis software. This team currently works remotely but over time there maybe the opportunity and requirement to spend some office time in Donegal and/or Belfast.
The Desktop Process Analytics (DPA) component is a class-leading, enterprise-level integration and enabling technology. It is a vital component within the global Workforce Optimization suite and is a key and integral part of company’s offering on the desktop. The development of the desktop component for DPA requires significant technical and strategic development as new technologies, browsers, and operating systems continue to change and evolve.
The person responsible shall work with other members of the DPA client scrum team to maintain and develop the company’s cutting-edge desktop analysis platform. They will possess excellent working knowledge of commonly used concepts, practices, and procedures within agile sprint software development.
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. It is essential they have strong commercial experience scoping out client requirements and building a clear and realistic software development plan. They will have experience working with large globally distributed teams. The ideal candidate will also have knowledge of at least some of the following: windows SDK, C++, C#, and websocket layer communication techniques.
The role includes:
- Working with and supporting tech lead and other team members
- Provide input to technical leadership and aid in delivery of agile sprints for new product development
- Work closely with tech lead and customer support engineers, to understand business requirements and translate them into technical roadmap.
- Initiate and research support for new technology, alongside existing customer requirements
- Contributing to an environment which is conducive to the team’s success and which aligns with departmental goals and working practices
- Delivering product features and components in line with the company’s high standards for security, scalability, redundancy, resiliency and scalability
- Collaborating with global architects and product management on key strategic cross-functional sub-systems and functions to ensure consistent architecture across our portfolio
- Be part of a team delivering 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 guidance to the company’s distributed engineering teams
- Advocate best practices to the team in the areas of software engineering
- Engage in research of new technologies & architectures to improve product functionality
Management & Leadership
- Outstanding communication skills
- Foster a culture of openness and respect in the team
- Possibility for senior / mentorship as the team grows
Planning and Delivery
- Work with the tech lead to produce estimates for plans
- Work with the Engineering Manager to produce delivery schedules
- Ensure that the scope items are delivered within the agreed timescales
- Initiate and manage new technology evaluation and proof of concepts
Champion of Quality
- Ensure delivery of high quality, re-usable source code
- Contribute to peer code reviews
- Automate test harnesses where possible to enhance quality of product functionality
- Where automation is not possible, design and document effective manual test strategies.
- Incorporate non-functional requirements into the design of the product features in order to deliver a high quality of service to customers.
- Using BDD, design and automate tests whilst working with QA to create effective test plans
- Work closely with Product Managers and team leaders, 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
- Communicate clear boundaries, values, goals, expectations
- Assess decisions/actions and recognise potential impacts on individuals and groups and make plans to meet the needs 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
- Experience architecting and tuning a large scale solution in the Cloud
- Experience of developing high quality, secure and performant solutions against functional and non-functional requirements.
- The ability to demonstrate a solid understanding of Agile sprint working practices and methodologies.
- The ability to demonstrate strong written and verbal communication skills.
- The ability to demonstrate experience in the automation of Software testing and build systems.
- 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
- Commercial experience in C++ / C# /dot net software development
- 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 o Cross Browser testing tools such as Browserstack
- Strong motivational skills
- Strong organization & time management.
- Strong written and verbal communication skills.
- Good team player
- Attention to detail and commitment to quality
- Maintains own skill sets by keeping up to date with development trends and thinking.
- Ability to follow process but to remain flexible in achieving project objectives
- Ambitious, motivated, eager to learn and demonstrate value
Does this job appeal to you? Does it fit your career path? The North West is fast becoming a hub for tech innovation. This opportunity will allow you to expand your knowledge base whilst living in one of the more inexpensive and naturally beautiful parts of Ireland. Remote working options will also be considered so this is a rare opportunity to create and achieve a positive work/life balance!