What are the responsibilities and job description for the Software Engineer (OKC) position at American Fidelity?
Job Description
* Must be local to OKC to come into the office 3 days a week.
- The Software Engineer demonstrates skill in software development patterns, design patterns, and programming languages, executing the development of scalable and secure enterprise software systems aligned with business goals.
- The Software Engineer fosters collaboration, drive innovation, and improve user experience by working closely with cross-functional teams, promoting creative problem-solving, and staying up to date with the latest technologies and software development practices.
- The Software Engineer has experience in coaching and mentoring, sharing knowledge, and providing technical leadership to inspire and motivate team members, ensuring the delivery of high-quality solutions and adherence to best practices.
Additional Job Description
- The Software Engineer demonstrates a strong understanding of software design patterns such as messaging and service-oriented architecture and principles of programming languages such as C#, Java, Python, and Powershell. Additionally, they demonstrate expertise in developing web applications using HTML, CSS, TypeScript, and JavaScript, and demonstrate expertise with front-end libraries such as Angular, React, Vue.js, and Blazor. The Software Engineer must also have experience with database technologies such as SQL, NoSQL, and MongoDB. They must understand software testing methodologies such as Test-Driven Development (TDD) or Behavior Driven Development (BDD), and demonstrate experience with unit testing, integration testing, and end-to-end testing.
- The Software Engineer demonstrates strong knowledge of cloud computing platforms such as Azure, AWS, and Google Cloud Platform and have knowledge of developing and deploying containerized applications such as Docker and Kubernetes. They must understand Machine Learning/Artificial Intelligence concepts and how to apply these concepts to build and deliver software solutions. They have experience with implementing DevOps practices using tools such as Azure DevOps, Azure DevOps Pipelines, Octopus Deploy, Git, GitHub, and JIRA
- The Software Engineer understands the organization's established technical standards, policies, procedures, and architectural documentation requirements. The Software Engineer also understands the organization's overall technical roadmaps and can contribute to the software architecture documentation using applicable tools and practices.
- The Software Engineer fosters collaboration and innovation across the development team. They lead by example, leveraging their technical experience to encourage creative problem solving and experimentation. They work closely with other IT professionals, product managers, designers, stakeholders, and business leaders to identify opportunities for innovation, develop new software solutions, process automation, and improve the overall user experience and performance of our software catalog. The Software Engineer is a good communicator and an effective collaborator. They have experience sharing knowledge and mentoring other team members, helping them to grow their skills and contribute to the success of our software products.
- The Software Engineer is responsible for providing support and troubleshooting for our software solutions. They work closely with all relevant subject matter experts, stakeholders, and other IT professionals to identify and resolve technical issues. They clearly articulate technical issues to both technical and non-technical stakeholders.
- The Software Engineer understands our software solutions and the underlying technologies that power them. They possess a good understanding of the enterprise technical landscape and can troubleshoot problems within complex codebases and distributed system architecture. They can independently resolve complex issues and are proactive in identifying areas for improvement, developing solutions to address technical debt, and ensuring that our software solutions are stable and performant within the software team.
- The Software Engineer has a good understanding of project management methodologies such as Agile, Scrum, Kanban, and Waterfall. The Software Engineer leads large technical projects related to software development. They assist the technical lead in identifying requirements, analyzing business processes, and developing solutions to complex problems. They partner with members of the project team to transform business requirements into working software. The Software Engineer can provide technical leadership and guidance to the project team.
- The Software Engineer is responsible for coaching and mentoring members of the development team. They are expected to lead by example, demonstrating a strong work ethic and a commitment to excellence in all aspects of their role.
- The Software Engineer helps team members understand technology best practices, software coding standards, testing methodologies, and code review practices. They work closely with other members of IT to ensure that technical solutions are developed in a way that are scalable, maintainable, secure, and efficient. The Software Engineer inspires and motivates others demonstrating a strong attention to detail and a commitment to delivering high-quality solutions.
Salary : $93,000 - $115,000