What are the responsibilities and job description for the Sr IT Software Engineer position at Duke Energy?
Build an exciting, rewarding career with us - help us make a difference for millions of people every day. Consider joining the Duke Energy team, where you'll find a friendly work environment, opportunities for growth and development, recognition for your work, and competitive pay and benefits.
Job Summary:
Individual who is dedicated to building exceptional software. Independently or limited supervision, develops and tests software systems or applications for software enhancements and new products. Develops software and tools in support of design, infrastructure and technology platforms. Senior Software Engineers are primarily responsible for designing highly complex solutions then building and overseeing the execution of those designs. Role requirements:
* Design and build highly complex software solutions using agile/XP/TDD.
* Program well-designed, efficient code independently.
* Collaborate with designers, developers, and product owners to build cloud native software solutions targeting PCF, Azure, AWS, mobile iOS/Android, etc.
* Clearly communicate team wide progress and identify blocking processes/patterns that hold a team back.
* Participate in paired programming and code reviews with juniors to expand the team's collective knowledge and understanding of software engineering.
* Complete independent research to refine best practices and present work to peers.
* Turn complex ideas into manageable pieces of work to complete as part of a product team.
* Coach and mentor software developers.
* Provide technical guidance to leadership so that solutions are built with innovation and sustainability in mind.
* Learn the business drivers of a product and help drive the technical direction of a product to fulfill the desired vision. Senior Software Engineers will typically possess:
* A breadth of experience building software solutions (through a strong mix of independent research/projects and industry expertise).
* Significant familiarity and comfort in using IDEs. Knows short-cuts and frequents operations that speeds up development time.
* Deep and solid understanding of APIs. Have been involved in designing/building/implementing APIs.
* Significant understanding of cloud-native software engineering best practices.
* Familiarity with a several frameworks. Resulting code is concise and easy-to-follow.
* Experience with automation and optimization. Looks for ways to create repeatable patterns that increase the efficiency of the team.
* Experience and ability to manage and optimize databases.
* Understanding of functional programming and how to apply functional concepts in any language. Quick to picking up a new language or adopting a more recent version of a language.
* Familiarity and able to comfortably work with multiple platforms.
* Experience turning complex ideas into user stories. From that, can turn user stories into workable solutions, providing estimates to complete that work, and breaking down complex work into smaller components.
* Previous experience collaborating on a cross-functional team.
* Deep understanding of development cycle.
* Ability to debug and avoid future problems by building more robust solutions.
* Ability to look at previous personal or team experience and use this to analyze mistakes/successes, draw conclusions, and design future solutions. Resulting solutions have few bugs and quick remediation times.
* Experience building solutions with the larger team in mind. Solutions have the goal of improving software engineering at the team level.
* Experience with teaching and mentoring team members at various levels.
* A deep and solid understanding of cyber security principles such as authentication, authorization and encryption. Ability to leverage and recommend common security libraries applicable to their language stack and solid experience with secure programming best practices. Knowledgeable of common attack vectors, such as SQL injection, Denial of Service (DoS), Cross-Site Scripting, etc. and methods to limit exposure. Quick to identify and remediate potential security vulnerabilities.
* Experience working with one or more CI/CD stacks and associated best practices. Ability to setup CI/CD for new products with no guidance. Recommends and implements modifications to CI/CD processes when continuous improvement opportunities are identified.
Responsibilities & Duties:
* Develop software platforms and frameworks
* Maintain services, monitor system health, and continually look for improvements
* Scale systems sustainably using continuous deployment and automation
* Research and implement best design principals in order to improve reliability and velocity
* Work in an agile environment and engage in practices such as XP, test driven development
* Works with technical staff to understand problems with software and resolves them.
* Resolves customer compliants with software and responds to suggestions for improvements and enhancements from customers
* Collaborate with other software engineers, developers, designers, and product owners
* Determine hardware compatibility and/or influences hardware design
* Has system-wide responsibility on complex projects. Provides direction to team, is a key contributor, and coaches new team members
Basic/Required Qualifications:
Master's degree in Information Technology or Other Related Degree and one (1) or more years of related work experience OR Bachelors degree in Information Technology or Other Related Degree and three (3) or more years of related work experience OR Associates degree in Information Technology or Other Related Degree and five (5) or more years of related work experience OR High School Diploma/GED and seven (7) or more years of related work experience in lieu of degree
Desired Qualifications:
* Bachelors degree in Information Technology or Other Related Degree or Masters degree in Information Technology or Other Related Degree
* Seven (7) or more years related work experience
* Knowledge of programming languages, operating systems and computer networks
* Full-stack development experience
* Familiarity with Angular (or other JavaScript based framework), Java, Python and private and/or public cloud (Pivotal Cloud Foundry, Azure, AWS, etc.) environments
* Experience with Infrastructure as a Service (IaaS) and Infrastructure as Code (IaC)
Working Conditions:
* Office Environment
Travel Requirements
Not requiredRelocation Assistance Provided (as applicable)NoRepresented/Union PositionNoVisa Sponsored PositionNoPosting Expiration Date
Sunday, May 19, 2024All job postings expire at 12:01 AM on the posting expiration date.
Please note that in order to be considered for this position, you must possess all of the basic/required qualifications.Privacy
Do Not Sell My Personal Information (CA)
Terms of Use
Accessibility
Duke Energy is an Equal Opportunity Employer and complies with the laws set forth in the Department of Labor EEO Poster and Supplement.