As a Staff Software Engineer, you will be responsible for designing, building, and maintaining the software solution and services that powers our technology platforms. In this role, you will lead a team of engineers and interested parties to ensure that the software is highly available, scalable, and secure. You will also be responsible for developing features, improving the software performance, and providing technical support to other teams.
Key Accountabilities
Design sophisticated software components, services, and platforms. You’ll write design documents and review them with your software engineering and architecture peers, incorporating and quickly iterating on the feedback
Lead the delivery of your projects to production. You’ll follow standard processes 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 your software with other distributed systems and shared APIs across bp. You’ll work closely with partner teams to help evolve their systems to make all of our services more re-usable and resilient
Partner closely with multi-functional teams including product management, data science, and UX design
Stay up to date with the latest technologies and industry trends
Hire and develop others by mentoring junior software engineers and peers, and proactively sharing your expertise and interests with others
Participate in code reviews and contribute to the development of best practices
Collaborate with multi-functional teams to identify and resolve platform-related issues
Support internal and external audit teams to prepare for and participate in security, software licensing, and regulatory audits, ensuring that all necessary documentation and evidence is available and accurate
Collaborate with multi-functional teams to implement new controls and procedures to address identified compliance gaps or risks
Essential Education
Bachelor’s degree in Computer Science, Engineering, Information Systems, or a related field, or equivalent practical experience
Essential Experience and Job Requirements
Expert ability to adapt to new technologies and processes, and be able to work independently and as part of a team
Expert in problem-solving, with the ability to analyze complex problems, identify root causes, and develop creative and effective solutions
Excellent communication skills and ability to communicate with your peers through to senior leaders. You should be able to engage and influence others to collect requirements, describe what you’re doing, work through problems, and find productive solutions
Self-starter, able to handle ambiguity, navigate uncertainty, identify risks, and find the right people and tools to get the job done
Professional proficiency in English, with the ability to collaborate effectively across global teams; Portuguese proficiency is preferred for local collaboration.
Software skills
Expert in at least one programming language (C#, Python, or TypeScript) developing cross-platform solutions.
Expert in writing secure, stable, testable, and maintainable code with minimal defects
Expert in systems design
10+ years of experience in software development, with a focus on platform or service engineering
Expert in software engineering practices & protocols for full software development life cycle, including coding standards, code reviews, source control management, continuous deployments, testing, and operations
Expert in designing and building complex software systems end-to-end which have been optimally delivered and operated in production. You should understand security and privacy procedures as well as how to properly monitor, log, and alarm production systems
Infrastructure skills
Master in building and scaling infrastructure services using Amazon Web Services or Microsoft Azure
Expert in the understanding of using core cloud application infrastructure services including identity platforms, networking, storage, databases, containers, and serverless
Expert in solving large-scale distributed production systems
10+ years of experience working on production systems. You’ll have supported these production systems through on-call rotations
Competent knowledge of databases, such as relational, graph, document, and key-value
Expert ability in data modeling and database design
Expert ability in SQL
Why join us
At bp, we support our people to learn and grow in a diverse and ambitious environment. We believe that our team is strengthened by diversity. We are committed to fostering an inclusive environment in which everyone is respected and treated fairly.
BEWARE – RECRUITMENT FRAUD It has come to our attention that there are a number of fraudulent emails from people pretending to work for bp. Please be advised that we do not require any forms of payment or course by applicants to be considered for open positions.
- Travel Requirement
- No travel is expected with this role
Relocation Assistance
This role is not eligible for relocation
Remote Type
This position is a hybrid of office/remote working
Skills
Agility core practices, Agility core practices, API and platform design, Cloud Platforms, Collaboration, Communication, Configuration management and release, Continuous deployment and release, Creating a high performing team, Database Design, Digital Project Management, Documentation and knowledge sharing, Emerging technology monitoring, Facilitation, Information Security, Mentoring, Metrics definition and instrumentation, NoSql data modelling, Problem Solving, Relational Data Modeling, Risk Management, Scripting, Secure development, Service operations and resiliency, Software Design and Development {+ 7 more} . 

Legal Disclaimer
We are an equal opportunity employer. We do not discriminate on the basis of protected characteristics like race, religion, color, sex, national origin, sexual orientation, veteran status or disability status. Individuals with an accessibility need may request an adjustment/accommodation related to bp’s recruiting process (e.g., accessing the job application, completing required assessments, participating in telephone screenings or interviews, etc.). If you would like to request an adjustment/accommodation related to the recruitment process, please contact us.
If you are selected for a position and depending upon your role, your employment may be contingent upon adherence to local policy. This may include pre-placement drug screening, medical review of physical fitness for the role, and background checks.