Software Engineer
Marathon Petroleum CorporationAbout the role
An exciting career awaits you
At MPC, we’re committed to being a great place to work – one that welcomes new ideas, encourages diverse perspectives, develops our people, and fosters a collaborative team environment.
Position Summary
We are seeking a skilled Software Engineer within our Software Development Team in the Commercial IT organization. The ideal candidate will possess a robust background in Software Development, Azure skills, DevSecOps knowledge, and an understanding of application security best practices. The successful candidate will drive innovation within the department and ensure our development processes are efficient, secure, and modern.
Software Engineer will design, develop, test, and maintain high-quality software solutions for our evolving Commercial Eco-system. Responsibilities include designing, developing, testing, and maintaining customized solutions in C#, .Net, and cloud-native platforms (i.e., Azure) and technologies. This will involve analyzing business requirements, coding new features to applications, enhancing existing code and troubleshooting application issues, developing platforms and solutions to support data engineering and developer tooling, and configuring and customizing vendor-provided packaged software.
To ensure success as a Software Engineer, you should have extensive experience working in a dynamic environment with emerging opportunities and the ability to solve complex software problems. Ultimately, a top-class Developer can create dynamic and scalable applications that perfectly meet the company's evolving needs.
This position belongs to a family of jobs with increasing responsibility, competency, and skill level. Actual position title and pay grade will be based on the selected candidate’s experience and qualifications.
Key Responsibilities
- Supports efforts of limited complexity to execute the defined software engineering roadmap; leads small-to-medium features from technical design through completion.
- Supports the defined software engineering roadmap, contributing to the organization's engineering and technology strategy.
- Performs coding, debugging, testing and troubleshooting throughout the development process in projects with moderate complexity under supervision.
- Stays current on industry trends and serves as an expert on the software development lifecycle and agile engineering practices; coaches others, as needed. Conducts demos of application features and designs features to support automated testability.
- Collaborates with users to translate requirements into design specifications for the review of more senior members of the team.
- Produces high-quality solution or deliverables in accordance with effort estimates and specifications.
- Supports the implementation of new architectures, standards, methods and logic for enterprise software in accordance with business strategies and specifications.
- Carries out proper documentation of software design and works with business partners to design and implement solution to meet architecture standards.
Education and Experience
- Bachelor’s Degree in Information Technology, related field, or equivalent experience required
- 2+ years of relevant IT experience
- Experience as a full-stack developer, with a focus on the Microsoft programming technology stack, including C#, BLAZOR, .NET Core, Microsoft SQL Server, Azure, Infrastructure as Code (IaC) and related technologies preferred.
Skills
- Agile Methodologies - Agile project management is an iterative approach to delivering a project throughout its life cycle, taking incremental steps towards the completion of a project.
- Cloud Computing - Knowing how to manage cloud services, develop cloud applications and use cloud architecture to meet customer needs.
- Continuous Improvement - An ongoing effort to evaluate and improve products, services, or processes through incremental and breakthrough improvements.
- Database Management Systems - The function of managing and maintaining database management systems (DBMS) software, designed to define, manipulate, retrieve and manage data in a database.
- Debugging - The process of finding and resolving bugs within computer programs, software, or systems.
- DevSecOps - A set of practices that combines software development and information-technology operations which aims to shorten the systems development life cycle and provide continuous delivery with high software quality and a security first approach.
- Programming/Scripting - Applies a computer language to communicate with computers using a set of instructions and to automate the execution of ta
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s