Summary
AccuWeather provides real-time weather forecasts, alerts, and observations to consumer and enterprise audiences worldwide. The Software Developer III will lead the design and development of backend software that processes real-time weather data, while owning data flows, monitoring, reliability, scalability, and database architecture. The role also includes mentoring developers, guiding technical decisions, and resolving complex production issues.
Responsibilities
- Lead the design, development, testing, and maintenance of complex backend software processors that ingest, validate, transform, and distribute real-time weather data
- Own end-to-end backend data flows from source system through validation to production database, including monitoring, operational efficiency, and incident response
- Design and implement new processing capabilities and enhance existing processors to support new weather data providers, data formats, business requirements, and product features
- Apply advanced backend and software development skills to build data processing software that's easily tested, deployed, and monitored
- Own design and implementation of database schemas and supporting SQL objects used by backend processing applications
- Define the reliability, performance, and scalability bar for backend processing software in your domain, and hold new development to it
- Drive technical alignment across software engineers, data operations, product managers, and business stakeholders on the approach for complex processing solutions, resolving disagreements on technical direction
- Investigate, troubleshoot, and resolve complex software defects, production issues, and operational incidents affecting weather data processing systems
- Conduct code reviews and provide technical guidance to other software developers through collaboration, knowledge sharing, and engineering best practices
- Mentor less experienced Software Developers in relational schema design and backend data processing practices
- Define documentation standards for software components, processing workflows, and operational procedures, ensuring the team's collective knowledge stays current and usable without you in the room
- Evaluate emerging technologies and development practices for team-wide adoption, making the call on what gets brought into the processing platform and what doesn't
- Contribute to technical planning and the continuous improvement of development processes, quality assurance practices, and team workflows
Skills
- Bachelor's or Masters degree in Computer Science, Software Engineering, Information Technology, or a related field
- 5+ years of experience designing and developing backend software or distributed systems
- Advanced experience developing software using Scala or Java, with experience applying functional programming concepts
- Expertise in developing and deploying applications in cloud environments such as Microsoft Azure, AWS, or Google Cloud
- Deep experience with relational database architecture, including schema design, SQL, and performance optimization at scale
- Proven experience architecting solutions for structured and semi-structured data formats such as XML and JSON, RESTful APIs, and regular expressions, across multiple external data providers
- Experience leading software design discussions, code reviews, and technical decision-making
- Communicates at a high level across verbal and written communication with internal and external teams; leading training and informational sessions
- Proficiency and demonstrated experience in communicating technical concepts, software designs, and data processing workflows to both technical and non-technical audiences
- Excellent analytical and problem-solving skills, with the ability to evaluate complex technical challenges and develop effective software solutions
- Strong troubleshooting and debugging skills, including the ability to investigate and resolve complex production issues
- Ability to provide technical guidance and share knowledge with other team members
- Experience designing or developing event-driven, distributed, or message-based systems
- Experience working with weather, environmental, geospatial, or other Earth science data
- Experience integrating data from multiple external providers or APIs
- Proficiency with Microsoft SQL Server
- Proficiency developing applications on Microsoft Azure
- Experience providing technical guidance to other software developers
- Ability to manage multiple priorities in a fast-paced development environment
Qualifications
Must Haves
- Bachelor's or Masters degree in Computer Science, Software Engineering, Information Technology, or a related field
- 5+ years of experience designing and developing backend software or distributed systems
- Advanced experience developing software using Scala or Java, with experience applying functional programming concepts
- Expertise in developing and deploying applications in cloud environments such as Microsoft Azure, AWS, or Google Cloud
- Deep experience with relational database architecture, including schema design, SQL, and performance optimization at scale
- Proven experience architecting solutions for structured and semi-structured data formats such as XML and JSON, RESTful APIs, and regular expressions, across multiple external data providers
- Experience leading software design discussions, code reviews, and technical decision-making
- Communicates at a high level across verbal and written communication with internal and external teams; leading training and informational sessions
- Proficiency and demonstrated experience in communicating technical concepts, software designs, and data processing workflows to both technical and non-technical audiences
- Excellent analytical and problem-solving skills, with the ability to evaluate complex technical challenges and develop effective software solutions
- Strong troubleshooting and debugging skills, including the ability to investigate and resolve complex production issues
- Ability to provide technical guidance and share knowledge with other team members
Nice to Haves
- Experience designing or developing event-driven, distributed, or message-based systems
- Experience working with weather, environmental, geospatial, or other Earth science data
- Experience integrating data from multiple external providers or APIs
- Proficiency with Microsoft SQL Server
- Proficiency developing applications on Microsoft Azure
- Experience providing technical guidance to other software developers
- Ability to manage multiple priorities in a fast-paced development environment
Benefits
- Remote work option
- Work from AccuWeather's global headquarters in State College, PA, USA