Software Engineer Role
This is a hands-on software delivery role within an agile team working in a highly collaborative manner with our technical leads, architects, business analysts and scrum masters.
As a software engineer, you will primarily be responsible for converting customer requirements into high-quality code.
As this will involve close, daily interaction within the context of an agile team, your communication and people skills will need to be superb.
Main Responsibilities
Interpersonal Responsibilities:
* Actively contribute to an agile mindset and a positive working environment within the team.
* Actively participate in the creation of high quality software within agreed project deadlines.
* Actively contribute to high standards of code quality personally and within the team by utilising and contributing to best-in-class development practices and habits.
* Ability to have a positive impact on others and communicate openly and directly to individuals or groups at all levels.
* Actively participate in and contribute to your teams continuous improvement practices.
* Demonstrate a proactive approach to getting things done, accountability & ownership and the ability to prioritise your own workload.
Technical Responsibilities:
* Collaborate effectively with our business analysts, scrum masters and technical leads to assist in the planning, designing, development, testing, and maintenance of our clients web-based applications.
* Development of client application features with minimal supervision or guidance.
* Providing realistic estimates of development effort to assist in team planning.
* Assisting with the production of solution design documentation in line with company standards.
* Participate actively and contribute to peer-to-peer code reviews.
* Adept our code quality processes and ensure they are used when producing code.
* Perform 3rd line support diagnosing and resolving technical engineering issues, as required.
* Provide assistance to quality engineers and support personnel as needed to troubleshoot production issues.
Required Skills
* Demonstrable experience developing Single Page Applications using React.
* Demonstrable modern front-end technologies such as Java Script/Typescript, AJAX, H|TML and CSS
* Demonstrable full-stack development experience using .Net and C#, ASP.Net, Azure Paa S, Entity Framework, etc.
* 2-5 years experience in enterprise software development industry
* Good understanding of object-oriented and service-oriented application development techniques and theories
* Experience with debugging, performance profiling and application optimization.
* Exposure to building and managing distributed web systems.
* Experience with source control management systems and continuous integration/delivery environments.
* Experience with agile development methodologies (Scrum, Kanban) and automated testing.
* Database design and implementation on both relational and non-relational platforms.
* Experience in any of the following areas would be an advantage; Mobile, Artificial Intelligence / Machine Learning, Data Analytics and Data Warehousing.
* Excellent written and verbal communication skills.
* Self-motivated and enthusiastic.
* Willingness to travel, if required.
This job description is a summary of the typical functions of the role, not an exhaustive or comprehensive list of possible role responsibilities, tasks and duties and is subject to review. The responsibilities, tasks and duties of the job holder might differ from those outlined in the job description and other duties, as assigned, might form part of the job.