Job purpose:
As a Senior Software Engineer, you will assume ownership in the design, develop and delivery of high-quality products and/or systems and services that exceed our customers’ expectations and will proactively share your own knowledge for specific technical solutions and business processes in your area of responsibility.
That means you have proven that you can deal with scoping, expectation management, architecture, design, and client management. Your experience allows you to seamlessly pick up new frameworks and technologies too.
Key accountabilities:
- Possess and apply a broad knowledge of principles, practices, and procedures of software development to the completion of difficult assignments.
- Successfully develop, deliver and maintain high quality software (requirements, design, code, documentation, etc.)
- Work with product managers early on to shape product definition so that it can be built in a flexible, extensible, and robust way.
- Keep up to date with relevant technology areas.
- Automate tasks through appropriate tools and scripting.
- Evaluate progress and results and recommend major changes in procedures.
- Partner effectively with all team members to deliver against commitments.
- Deliver deep technical expertise that drives colleague engagement, clarity and instils a culture of innovation and execution.
- Mentor and coach junior members of the development team.
- Commitment to team success and positive team dynamics.
- Passion for growing and applying technical skills in service to customers.
- Extensive experience with Agile Development, SCRUM, and/or Extreme Programming methodologies.
- Maintain relevant documentation to describe logic, coding/configuration, testing and changes where applicable.
- Ensure all tasks are completed to the required quality standards.
- Update job knowledge by studying state-of-the-art development tools & techniques.
Key performance indicators:
- Complete assigned development tasks to agreed level of quality and by the required deadline.
- In-depth technical knowledge of application functionality and architecture.
- Ensure team adherence to best practice and processes. Focus on sound development concepts and patterns such as object/service-oriented architecture, refactoring, and separation of concerns.
- Provide accurate, detailed, and timely estimates and track own activities against plan and support team members achieve these goals.
- Comply with project plans and industry standards.
- Code Coverage provided on the code developed.
Skills, know-how and experience:
- Technology expert in their field.
- Complex problem-solving ability. Innovative and creative thinking.
- Customer Focus.
- Operates with considerable latitude for unreviewed action or decision.
- Ability to interpret and/or gather user requirements and translate these into technical specifications and/or code.
- 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.
- Proficient with several relevant programming languages, frameworks and databases.
- Be willing to adapt to significant changes in either technology or environment.
Essential:
- 6+ 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.
Technical / professional qualifications:
- Microsoft Certification.
- Tertiary Qualification.
Values and Competencies:
- Get stuff done: completing tasks, and contributing to the deliverables of the team to ensure we deliver high quality products.
- Be the best you can be: investing time in learning and sharpening your skills. Teaching and sharing your unique skills with the rest of the team.
- Do the right thing: we build a culture of mutual respect and collaboration, admit to mistakes and learn from them.
- Servicing the customer: at the forefront of providing service excellence and customer satisfaction.
- Solve together: we conduct ourselves in such a way that we work harder, cooperate and be supportive of one another and contribute to the team spirit.
- Build a bridge: progress with what you have and solve a challenge.
- Add value: to tasks, interactions with colleagues and customer interactions.
- Have fun! we enjoy the work we do and the people that we are doing it with.
Direct reports and/or Stakeholders:
Influence, collaborate and co-ordinate with:
- Product Owner.
- Developers.
- Managers.
#J-18808-Ljbffr