Job description
Job Title: Software Engineer
Job Location: Douglas House (Hybrid)
Contract Length: 12 Months (Initially)
Industry: Oil and Energy, Tech
Key Requirements: Golang/C# knowledge, Strong coding capability
Engagement via an umbrella company only
Role Overview:
We are looking for a Software Engineer who will bring fresh ideas from all areas, information retrieval, distributed computing, large-scale system design, networking and data storage, security, and mobile; the list is endless and is growing every day.
The business believes in empowering engineers to solve technical challenges, you will enjoy working with autonomy, cutting-edge technology, and talented teams.
What you will do:
- Part of a cross-disciplinary team, working closely with other software engineers, product management, UX design, data scientists, data analysts, product managers, data engineers, data managers and business partners.
- Proactively identify impactful opportunities and autonomously execute activities.
- Be a bridge between business and digital organizations, combining in-depth understanding of both areas.
- Present results to peers and senior management, influencing decision making
- Design sophisticated software components, services, and applications.
- Write design documents and review them with software engineering and architecture peers, incorporating and quickly iterating on the feedback.
- Lead a squad of engineers in delivery of projects to production.
- Adhere to and advocate for software engineering best practices; including writing high quality code, developing unit, functional, and performance tests, and creating end-to-end deployment pipelines to production to maintain a fast velocity.
- Integrate software with other distributed systems and shared APIs across bp.
- Work closely with partner teams to help evolve their systems to make all our services more re-usable and resilient.
- Hire and develop others by mentoring junior software engineers and peers, and proactively sharing your expertise and interests with others.
- Partner closely with multi-functional teams including product management, data science, and UX design.
- Mentor others.
What you will have:
- Minimum = Bachelor’s degree or equivalent practical experience (ie equivalent number of years) in a quantitative field
- Hands-on experience (typically 5+ years) of experience designing and building complex software systems end-to-end which have been optimally delivered to production. Have supported these production systems through on-call rotations in complex, fast-paced environments.
- Applied knowledge of software engineering tools and approaches across all lifecycle stages.
- Expertise in at least one language (C/C++, Java, C#, Python) including object-oriented design. Proficient in data structures, algorithms, runtime complexity, API, and database design, as well as unit and functional test methodologies.
- Experience in system design of both new and existing systems. Understand security and privacy best practices as well as how to properly monitor, log, and alarm for production systems.
- Strong business acumen.
- Customer-centric and pragmatic mindset. Focus on value delivery and swift execution, while maintaining attention to detail.
- Continuous learning and improvement mindset.
- Strong communication skills, stakeholder management skills, and ability to communicate with peers through to senior leaders.
- Able to engage and influence others to collect requirements, describe what you’re doing, and work through problems and find productive solutions.
- Ability to lead large organizations through influence.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status.