Job Title: Software Engineer
The Software Engineer is responsible for building and configuring software solutions within their business portfolio. They ensure software is delivered to high quality standards by collaborating with their agile team members and leveraging unit testing and continuous integration.
Principal Duties and Responsibilities:
* Design, implement, and maintain new and existing features for the existing portfolio of applications for a business area.
* Communicate and collaborate with key stakeholders in the delivery of features.
* Design, code, configure, unit test, maintain, and document software deliverables using agreed upon standards and tools.
* Participate in sizing and estimation activities within the agile team.
* Communicate daily with the Scrum Master or Team Lead and the Agile team on progress made and planned progress for the coming day and report any impediments that are blocking their progress.
* Participate in code reviews and sprint retrospectives; ensuring ideas for team continuous improvement are communicated so that the overall process and team can improve sprint by sprint and readily receives feedback for self-improvement.
* Focusing on delivering business priority and value at all times.
* Ensuring the quality of existing and new features through both manual and automated testing and use of continuous integration techniques, where practical.
* Demonstrating an interest in software architectures and seeking to design solutions in alignment with company stated architecture and standards.
* Participating in Proof Of Concept work and prototyping when necessary.
* Collaborating with Business Analysts to confirm understanding of business requirements relating to features to be delivered and to help the Business Analyst define requirements that can be delivered from a technical perspective.
* Collaborating with User Experience (UX) designers to ensure designs produced can be translated efficiently into working solutions for feature delivery.
* Collaborating with the agile team to establish the definition of done for each of the stages of production within the team.
* Collaborating with Test Engineers and Senior Test Engineers to ensure that software meets the definition of done; ensuring successful transition of work to the next stage of production during the sprints.
* Ensuring an innovation culture in the team by continuous improvement of deliveries and participating in evaluating new processes and technologies that can be applied to future feature delivery.
* Collaborating with Technical Support Engineers to transition software features to a production environment ensuring that the deliveries meet application performance criteria, release standards; and ensuring application and system stability.
* Automating testing of software to industry standards of software automation ensuring very high quality application/solution delivery and efficient regression of existing features.
* Ensuring that the latest project progress is known to the agile team by ensuring Application Lifecycle Management (ALM) tools are up to date and participating in daily standups outlining progress made, progress planned and detailing impediments.
* Thinking with the mind of the end customer at all times, ensuring solutions seek to improve the customer experience and delight their customers.
Job Specifications:
* Bachelor's Degree in Computer Science is preferred, or equivalent relevant business experience.
* 2+ years experience with demonstrated success at the Associate level in software development and software development practices or equivalent experience.
* Showing evidence of analytical ability.
* Taking a logical, analytical approach to problem solving and paying close attention to detail.
* Knowledge of Agile Development Methodologies.
* Being self-motivated and results-oriented.
* Taking an innovative approach to problem solving.
* Demonstrating strong focus on quality delivery and delighting customers; holding self to high standards of delivery.
* Demonstrating good oral and written communication skills.
* Being a strong team player; able to work effectively within a team and more broadly with people from a variety of backgrounds and areas across the organization.
What We Offer:
Our size and successful history in Carlow means we can offer you exceptional development and progression, supported by continual learning programs, IT Certifications & third level tuition reimbursement. We offer work-life balance with flexible working arrangements (including hybrid) and initiatives in support of your well-being. Our attractive range of benefits and reward initiatives includes competitive compensation, 25 days annual leave, paid health insurance, pension scheme, annual performance-based bonus, paid maternity/paternity/adoptive leave, reward programs, and an opportunity to engage with charity and community activities.
This role will appeal to highly motivated individuals who enjoy working in a collaborative and dynamic environment.