The Back End Software Engineer develops the back end of a web application, i.e. handling the logic, database interactions, user authentication, configuration, etc. The Developer implements given requirements as per standard engineering practices and company standards, performs requirements analysis and design, as well as evaluates technologies and patterns suitable for the solution. The position reports to the software project manager.
• Development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end
• Integration of user-facing elements developed by a front-end developers with server side applications
• Collaborate with the front-end developers, customers, users, and product managers to establish objectives and design more functional, cohesive codes to enhance the user experience.
• Builds prototypes, products and systems that meets the project quality standards and requirements.
• Provides technical leadership and documentation to developers and stakeholders
• Contributes to and supports re-use through common components that are well documented and tested.
• Provide timely corrective actions on all assigned defects and issues.
• Contributes to development plan by providing task estimates.
• Bachelors degree or higher in Computer Science or related with minimum 5 years working (as a developer) experience
Skills and knowledge
• At least 3 years experience developing web/cloud microservices
• In-depth expertise with Azure Cloud Platform
• Expertise with one or more backend programming languages. Emphasis on C# with a second preference for Java. Experience working with typical industry standard libraries for C#/Java.
• Understanding of micro services architecture with experience in designing and implementing RESTful services
• Knowledge of containers & container orchestration technologies – Docker, Kubernetes etc
• Knowledge of application networking and troubleshooting
• Knowledge of security principles (Oauth2, JWT, OpenAPI)
• Experienced in application profiling, bottleneck analysis and performance tuning
• Knowledge and experience with version control tools (Git preferred but not mandatory)
• Understand continuous integration and continuous delivery technologies such as Jenkins, Azure DevOps
• Experience with test driven software development, ability to implement and maintain Unit tests, etc.
• Familiar with code quality tools and best practices
• Experience with working in agile environment
2. Nice to have
• Experience with front end technologies is a plus
• Experience on other cloud platforms - AWS, GCP, OpenShift, etc.
• Advanced knowledge of cloud security best practices
• Python knowledge
• Experience with streaming/processing engines for big data
• Monitoring/operational readiness expertise
• Oil and gas industry experience