Job Purpose: As an Intermediate Software Engineer, you can work fairly independently and are tasked with the development of software inside a team and sub sections of a system.
You will have the ability to design solutions and modules to existing systems.
You have a good command of the fundamentals of software development, coding principles, stakeholder engagement and good troubleshooting capabilities because you understand how systems work together and when and who to ask for help.
At this point in your career, you should also be able to architect the basic components of a system.
Key Accountabilities: Successfully develop, deliver, and maintain high-quality software (requirements, design, code, documentation, etc.
) Contribute to quality activities, incl.
peer reviews of estimates, designs and code • Resolve defects/bugs during QA testing, pre-production, production, and post-release patches Be an active and enthusiastic team player.
Partner effectively with all team members to deliver against commitments. Commitment to team success and positive team dynamics Proven experience with Agile Development, SCRUM, and/or Extreme Programming methodologies Participate in all phases of the project lifecycle.
Maintain relevant documentation to describe logic, coding/configuration, testing and changes where applicable.
Continuously strive to make improvements to the existing products and/or systems and services.
Ensure all tasks are completed to the required quality standards.
Update job knowledge by studying state-of-the-art development tools & techniques Skills, know-how and experience: • Knows and applies the fundamental concepts, practices and procedures of software development.
• Passion for being a hands-on techie • Innovative and creative thinking • Customer Focus • Ability to interpret and document user requirements and translate these into technical specifications and/or code • High numerical reasoning and logic ability with good problem-solving skills • Knowledge of one or more relevant programming languages, frameworks and databases • Be willing to adapt to significant changes in either technology or environment • Broad operational knowledge in 21st Century IT (Cloud, Social, Mobility, IoT, Big Data…) • Knowledge on Architecture Best Practices and Patterns (Microservices, CQRS, Event Sourcing, Domain-Driven Design, …) • Proven experience in using a TDD approach Essential: • 3-5 years professional or other practical experience Experience in the following technologies: C#, Java, HTML and Javascript .NET 5 or later Web services (RESTful or WCF) Entity Framework, NHibernate or other ORM Unit testing RDBMS (e.g.
SQL Server, MySQL or Oracle) Visual Studio 2019 or later Single Page Application (Angular, React) Beneficial Cloud Experience (Azure or AWS) NoSQL databases (CosmosDB, MongoDB) Experience in working with Agile Teams and successfully delivering Agile based software projects (including attending daily scrums, Kanban boards) Experience working with Git, Azure DevOps, JIRA, Jenkins, Automated Build Servers, Microsoft certifications is advantagous