What are the responsibilities and job description for the Sr. Software Engineer, Shared Platforms position at Chick-fil-A, Inc.?
Overview
Chick-fil-A's Content and Channels team supports a suite of enterprise communications solutions, including a multi-audience data aggregation engine, the corporate intranet, and video and podcast management SaaS platforms. This role is responsible for the technology solutions that enable Corporate Communications to successfully execute their role in the business. As an engineer on this team, you will invest your time and craft in building and integrating the services, tools and custom software to make it simpler to serve timely, relevant and personalized information to Operators, Team Members and Staff.
As a software engineer specializing in backend integration technologies and data pipelines, you will serve on a small, independent, Agile, DevSecOps engineering team capable of building functionality in an event-driven ecosystem and pipelines to enable CI/CD. You will build new integrations and provide operational support for the code you write. You will have an opportunity to innovate, automate processes, design systems and solve business problems with technology.
You will specialize in one or two languages and a cloud infrastructure ecosystem and will be a subject matter expert for others as well as a model for junior engineers. You will manage the full development lifecycle of your services. You will be responsible for automated deployment and hosting of your code in the cloud. You will introduce strong software engineering disciplines into your practices and design patterns and automated tests to your applications. You will work closely with business teams consuming the data exported by your integrations and work toward facilitating the best user experience as applicable to their platforms.
You will be a student of cloud-native, event-driven architectures and will influence the engineering team by providing thought leadership for technical designs. You will propose relevant solution architecture to meet current and future needs and identify areas to prevent or eliminate technical debt.
As the pace or scope of work grows, you will lead external partner developer(s) to provide additional development capacity for the team.
Our Flexible Future model offers a healthy mix of working in person and virtually, strengthening key elements of the Chick-fil-A culture by fostering collaboration and community.
Responsibilities
- Maintain comprehensive subject matter expertise in AWS (i.e. containerized, event-driven integrations, cloud-native serverless architecture), including a deep knowledge of applicable tools, languages like Python and/or Go, frameworks, development best practices (e.g. client/server-server communication paradigms, observability, testing, networking, dependency management/injection, orchestration).
- Provide thought leadership for solution architecture of a scalable, event-driven approach to proprietary data available to SaaS platforms which will meet the growing needs of the sub-department and work with colleagues to plan and implement designs.
- Plan, design and build holistic, complex technology solutions which are responsive, resilient, reusable, maintainable, testable, reliable (with measurable SLIs), performant, scalable, secure, documented and leverage modern identity solutions.
- Follow strong data, resource and cost stewardship practices.
- Demonstrate a willingness and capability to understand how client applications (e.g. web apps) or SaaS platforms will need to consume data and adapt strategy to best suit needs.
- Demonstrate an ability to automate CI/CD processes applicable for AWS and Kubernetes and proactively look for areas of opportunity around general process automation.
- Work in a DevOps/Agile team environment.
- Demonstrate a willingness and capability in primary or secondary technical area to be able to lead small/side projects.
- Lead contingent worker(s) assisting in area of expertise on behalf of project team and assist with selection of engineering partners (i.e. interviews).
- Guide partner Quality Analysts to ensure compliance with requirements and perform regression testing.
- Demonstrate a willingness and capability to step in temporarily on behalf of colleagues to plan, design and make technical decisions.
- Influence technology design, process/strategy direction across project team.
- Influence other engineers working in the same tech stack across sub-departments (e.g. build, showcase, steward reusable code solutions for common problems), join and actively contribute to guilds.
- Assist junior engineers on team as necessary and be a model for their development of technical skills.
- Operate independently in technology space and complete assignments under limited supervision.
- Develop relationships within DTT and the business to help with understanding, influencing and estimating requirements.
Note - Working in a DevOps model, this opportunity includes both building and running solutions that could require off hours support. This support is shared amongst the team members to cover weekends and weeknights. The goal is to design for failure and, using cloud-native infrastructure patterns, automate responses to possible issues so they can be worked during normal hours.
Minimum Qualifications
- Broad and deep programming experience in Python, Go or other comparable languages
- Experience working with an on-demand, cloud computing platform like AWS or GCP
- Experience implementing Infrastructure as Code
- Experience with source control systems like Git or Subversion
- Experience implementing application security, software design patterns, and the SDLC
- Good interpersonal and team collaboration skills
Preferred Qualifications
- Experience working with agile development methodology featuring sprints, points estimation, and daily standups
- Experience deploying containerized and serverless applications to the cloud; specific experience with AWS
- Familiarity with event-driven architecture patterns
- Experience with SQL and data modeling
- Familiarity with Site Reliability Engineering (SRE) best practices
- Familiarity with version control systems and code merging/branching; specific experience with Git
- Experience with Unix/Linux
- Experience integrating with SaaS platform APIs
- Expertise in building, monitoring and supporting large-scale communication systems capable of meeting the demands of a global user base
- Intermediate-level familiarity with design and development of frontend interfaces using React.js or Vue.js
- Proven ability to positively influence the engineering culture and practices in a professional environment
Minimum Years of Experience
2Required Level of Education
Bachelor's degree or equivalent experiencePreferred Level of Education
Bachelor's DegreeMajor/Concentration
Software Engineering, Computer Science, or related technical field