Software Engineer
Role details
Job location
Tech stack
Job description
We are seeking a motivated Software Engineer to join our Software Development Team within the Midstream IT organization. This role is ideal for technically curious professionals eager to build their skills while contributing to real-world development efforts.
The engineer will support the team by working on defined features from design through delivery, collaborating with the Architect and stakeholders to translate business needs into technical solutions. They will contribute across the software development lifecycle while gaining hands-on experience with modern tools and practices.
This position requires a strong technical foundation, the ability to independently complete assigned tasks, and a commitment to delivering reliable, high-quality solutions. Over time, the engineer will build domain expertise, take on greater ownership, and contribute to continuous system and process improvements., * 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.
Requirements
- Bachelor's Degree in Information Technology, related field, or equivalent experience required
- 2+ years of relevant IT experience
- Experience building applications using C# and .NET (Core / .NET 6+)
- Understanding of the software development lifecycle (SDLC), with hands-on experience using version control systems in collaborative team environments
- Ability to design, develop, test, and deploy features end-to-end, including troubleshooting, debugging, and maintaining code quality through testing and code reviews
- Experience working with SQL and relational databases, including schema design and query optimization
- Familiarity with CI/CD pipelines and automated deployments using tools like Azure DevOps
- Familiarity with cloud fundamentals, application security, monitoring and logging, and exposure to cloud platforms such as Microsoft Azure
- Experience working in Agile/Scrum teams, with strong problem-solving, analytical, and communication skills to collaborate effectively
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 tasks.
- Software Development Life Cycle (SDLC) Management - A process used by the software industry to design, develop and test high quality softwares.
- Software Testing - An investigation conducted to provide stakeholders with information about the quality of the software product or service under test.
- Version Control Management - Tracks and manages changes to software code.
MINIMUM QUALIFICATIONS:Bachelor's Degree in Information Technology, related field or equivalent experience.3+ years of relevant experience
As an energy industry leader, our career opportunities fuel personal and professional growth.