Software Developer II
About the role
Want to be part of a team that keeps real-time weather alerts and observations flowing reliably to hundreds of millions of people? We are looking for a Software Developer II who displays a deep interest in and passion for backend architecture and problem solving; someone who likes to build reliable processing systems and help identify areas of improvement. Reporting directly to the Manager, Data Engineering, this position will be responsible for designing and developing backend software that processes real-time weather data flows — including alerts, observations, and AccuWeather Alerts — powering AccuWeather's consumer and enterprise products. Leveraging relational databases, functional programming, and cloud technologies, you will build new processing services and workflows that improve the reliability and scalability of our real-time weather platforms. You will demonstrate skill in multiple backend technologies, monitor the systems you own, and collaborate with peers and stakeholders in an Agile-based environment, to deliver best of breed real-time processing that caters to a global audience.
We are open to hiring candidates to work from our global headquarters in State College, PA, USA, or remotely.
KEY RESPONSIBILITIES
- Design, develop, test, and maintain backend software processors that ingest, validate, transform, and distribute real-time weather data.
- Collaborate with software engineers, data operations, product managers, and business stakeholders to design and implement processing solutions that support AccuWeather's consumer and enterprise products.
- Develop new processing capabilities and enhance existing processors to support new weather data providers, data formats, business requirements, and product features.
- Design and implement database schemas and supporting SQL objects used by backend processing applications.
- Develop software that is reliable, maintainable, testable, and observable, with a focus on successful deployment and operation in production environments.
- Collaborate with Enterprise Database Administrators and other platform teams to test, deploy, and maintain database changes in production.
- Investigate, troubleshoot, and resolve software defects, production issues, and operational incidents affecting weather data processing systems.
- Write and maintain technical documentation for software components, processing workflows, system changes, and operational procedures.
- Revise and enhance existing software to improve functionality, performance, reliability, and maintainability.
- Stay current with emerging technologies and software development best practices, applying them where appropriate to improve team capabilities and processing systems.
- Contribute to the continuous improvement of team workflows, quality assurance practices, documentation, and development processes.
QUALIFICATIONS
Required Qualifications:
- Bachelor's or Masters degree in Computer Science, Software Engineering, Information Technology, or a related field.
- 3+ years of experience designing and developing backend services.
- Experience developing software using Scala or Java, with exposure to functional programming concepts.
- Experience developing and deploying applications in cloud environments such as Microsoft Azure, AWS, or Google Cloud.
- Experience working with relational databases, including database schema design and SQL.
- Experience processing structured and semi-structured data formats such as XML and JSON, working with RESTful APIs, and using regular expressions.
Preferred Qualifications:
-