Summary
AccuWeather is recognized as the most accurate source of weather forecasts and warnings in the world. They are seeking a Software Developer II to design and develop backend software that processes real-time weather data, enhancing the reliability and scalability of their platforms.
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
Skills
- 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
- Experience with event-driven, distributed, or message-based systems
- Experience working with weather, environmental, geospatial, or other Earth science data
- Experience with Microsoft SQL Server
- Experience developing applications on Microsoft Azure
- 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
- 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
Nice to Haves
- Experience with event-driven, distributed, or message-based systems
- Experience working with weather, environmental, geospatial, or other Earth science data
- Experience with Microsoft SQL Server
- Experience developing applications on Microsoft Azure
- Ability to manage multiple priorities in a fast-paced development environment