The Software Engineer is a hands-on leader in the design and development of cross-functional, multi-platform application systems. Translate business requirements into well-engineered, tested, and deployed application systems that are used by the business and support these systems while in production. Interface with internal customers to determine the most efficient and cost-effective approach to meet business requirements and designs, develops, tests installs, and deploys the required software applications. Develop solutions utilizing a variety of software technologies, including new code construction, modifications to existing modules, configuration, and/or package implementation. Perform other duties as assigned.
- Leads the adoption and implementation of cloud-based application reliability, resiliency, observability, and deployment best practices for production & non-prod environments.
- Client & Define SLA/SLO and identify the business as well as systems KPIs.
- Enable robust instrumentation, collation, monitoring, and utilization of such metrics along with operations/C&O teams. Define thresholds & help with alert orchestration.
- Provide 24x7 production support for owned applications on a rotational basis.
- Lead Blameless Post Mortem sessions, collaborate with cross-functional teams, and identify areas for improvement.
- Assist with designing and executing chaos/destructive testing, related analysis, and provide feedback to requisite teams.
- Works independently and provides guidance within the technical area, applying in-depth knowledge of multiple technologies as appropriate.
- Serve as a coach/mentor to less experienced developers.
- Manage and delegate tasks as appropriate.
- Establish standards & best practices, design guidelines/principles and patterns, and demonstrate a broad understanding of the applications and technical architectures.
- Bring innovative ideas to the table every day, in order to find better ways of accomplishing our customer objectives.
- Bring technical and/or business systems knowledge from external sources and incorporates those ideas into IT work.
- Consistently demonstrate regular, dependable attendance & punctuality.
- Performs other duties as assigned.
- Bachelor's Degree in Computer Science and/or Engineering and 8+ years of related experience, or an equivalent combination of education and experience.
- 6+ years of software development lifecycle experience preferred.
- Hands-on development experience with Java, Python or Go and related technologies, frameworks.
- Experience with tools & technologies such as Prometheus, Grafana, StackDriver, Distributed tracing, AppDynamics, Dynatrace, NewRelic, PagerDuty, WireShark is a plus.
- 7+ years of experience working with distributed systems and with 24x7 Production Services/environments.
- 5+ years of Cloud Architecture and Operations including migration, resilience, maintainability, and cost-efficiency. Knowledge of the Google Cloud Platform is a strong plus.
- 5+ years of experience with CI/CD tools such as GIT, Maven, Jenkins, Concourse, Sonar, Artifactory, Chef, Puppet, Spinnaker
- Experience with application Profiling Skills (Core Java, Thread Dumps etc..