Software Engineer Role
We are seeking a skilled Software Engineer to join our agile team as a hands-on software delivery role. The successful candidate will have excellent communication and people skills, and be passionate about using best-in-class practices to produce high-quality code.
Main Responsibilities:
* Interpersonal Responsibilities:
o Contribute to an agile mindset and positive working environment within the team.
o Participate in creating high-quality software within agreed project deadlines.
o Contribute to high standards of code quality personally and within the team by utilising and contributing to best-in-class development practices and habits.
o Communicate openly and directly with individuals or groups at all levels.
o Participate in and contribute to your team's continuous improvement practices.
o Demonstrate a proactive approach to getting things done, accountability & ownership, and prioritise your own workload.
* Technical Responsibilities:
o Collaborate effectively with business analysts, scrum masters, and technical leads to plan, design, develop, test, and maintain clients' web-based applications.
o Develop client application features with minimal supervision or guidance.
o Provide realistic estimates of development effort to assist in team planning.
o Assist with producing solution design documentation in line with company standards.
o Participate actively and contribute to peer-to-peer code reviews.
o Adopt code quality processes and ensure they are used when producing code.
o Perform 3rd line support diagnosing and resolving technical engineering issues, as required.
o Provide assistance to quality engineers and support personnel as needed to troubleshoot production issues.
Required Skills:
* Demonstrable experience developing Single Page Applications using React.
* Modern front-end technologies such as Java Script/Typescript, AJAX, HTML, and CSS.
* Full-stack development experience using .NET and C#, ASP.NET, Azure PaaS, 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 optimisation.
* Exposure to building and managing distributed web systems.
* Experience with source control management systems and continuous integration/delivery environments.
* Agile development methodologies (Scrum, Kanban) and automated testing.
* Database design and implementation on both relational and non-relational platforms.
* Experience in areas such as Mobile, Artificial Intelligence/Machine Learning, Data Analytics, and Data Warehousing would be an advantage.
* Excellent written and verbal communication skills.
* Self-motivated and enthusiastic.
* Willingness to travel, if required.