Software Engineer 4
Embark on a dynamic career at one of the nations leading energy providers as a Software Engineer where your code doesnt just power systems but propels us into a sustainable energy future. Join a team that thrives on innovation as we harness cutting-edge technologies to shape the next generation of energy solutions and leave an indelible mark on the landscape of progress.
Typical Functions:
- Creates maintains and enhances applications as part of a product team.
- Leads creates maintains and enhances applications as part of a product team.
- Researches evaluates and implements new technology to optimize application efficiency and usability.
- Designs new functionality based on product backlog priorities and coordinates development efforts in collaboration with durable product team and cross-functional organizations
- Leverages CICD automation and best practices to deliver quality solutions to our end users
- Applies iterative development to continuously deliver value through frequent deployments
- Mentors other application developers in cloud native development
- Ensures adherence to appropriate design coding and cybersecurity standards.
- Leads design and code walk-thru as a presenter or reviewer.
- Maintains records to document system and programming development and revisions.
Required Qualifications:
- Bachelor degree in Computer Science or a related discipline.
- In lieu of a degree 8 years of related business experience.
- Work experience in addition to degree: 5-10 years as an IT Application Developer with an emphasis on fullstack AWS development.
Job-specific knowledge skills or abilities:
- Fullstack development
- AWS
- DynamoDB
- NoSQL
- Lambda
- Cloudfront
- Agile (Scrum and Kanban)
- Git
- CICD best practices
- Testing strategies leveraging Jasmine and/or Karma
- Full-stack regression testing.
Individuals with this role are required to:
- Design and build highly complex software solutions using agile/XP/TDD.
- Lead a team in programing 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 mentees to expand the teams collective knowledge and understanding of software engineering.
- Complete independent research to refine best practices and present work to peers. Lead Software Engineers must possess:
- A breadth of experience building software solutions (through a strong mix of independent research/projects and industry expertise).
- 7-9 years previous experience in software development. (Either 9 years of experience specifically in software development or seven years of experience in software development in combination with 2 years alternative experience in a related field).
- Ideally has a portfolio of work code samples etc.
- 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.
- Considered an expert of cloud-native software engineering best practices.
- Familiarity with a several frameworks. Resulting code is concise and easy-to-follow.
- Ability to build a custom framework (when necessary).
- 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 ability to comfortably work with multiple platforms.
- Deep experience turning complex ideas into workable solutions.
- 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.
- Previous experience translating business needs into valuable solutions for customers.
- Previous experience building solutions with vulnerabilities in mind.
- Thinks in advance about possible system bottleneck looks out for vulnerabilities and problems. Remediates these issues as part of design of a new solution.
- Experience acting as a strong instructor for team members.
- 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.
- Previous involvement in the long-term vision of projects and software engineering practices.
- Demonstrated strong soft skills.
- Expertise and ability to rapidly make decisions for the team.
- A mastery of cyber security principles such as authentication authorization and encryption.
- Ability to recommend and leverage common security libraries applicable to their language stack and champion secure programming best practices.
- In depth experience with common attack vectors such as SQL injection Denial of Service (DoS) Cross-Site Scripting etc. and methods to limit exposure.
- Coaches organization on the prevention and remediation of potential security vulnerabilities.
- In depth experience working with multiple CI/CD stacks.
- Guides product teams on the setup of CI/CD for new products and coaches organization on DevOps best practices.
- Leads the evaluation and selection/development of new CI/CD tools and processes.
- 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.
- Recommend and implement best practices and innovative solutions to drive digital transformation in the organization.