Software Developer II
Job description
About the role
This position places you within a focused team that owns the critical systems responsible for delivering real-time weather alerts and observations to a global audience around the clock. You will be entrusted with designing and building the backend infrastructure that ingests, processes, and scales to handle continuous streams of critical weather data. The role emphasizes ownership of the full lifecycle of data processing services, from initial design through deployment and ongoing maintenance. You will play a key part in ensuring the reliability, performance, and scalability of the core products that power AccuWeather's weather platform. Collaboration with product managers and cross-functional engineers will be central as you help shape processing solutions for both consumer and enterprise needs. You will have the opportunity to develop new capabilities that directly influence how weather intelligence is delivered and acted upon. This is a role where your technical decisions will have a direct impact on the accuracy and timeliness of information reaching millions of users worldwide.
Key facts
What you'll do
Design, construct, and deploy backend software solutions that manage the complete lifecycle of live weather information, including ingestion, validation, transformation, and distribution.
Collaborate closely with engineers, product managers, and other stakeholders to architect and implement processing pipelines that support diverse AccuWeather offerings for consumers and businesses.
Develop new processing modules and enhance existing logic to seamlessly integrate new data sources, adapt to evolving data formats, and meet changing business requirements.
Define, manage, and optimize database structures and SQL objects to ensure efficient and reliable data access for backend applications.
Build software services that are inherently dependable, straightforward to maintain, thoroughly testable, and highly observable to facilitate smooth production deployment and stable operation.
Investigate, diagnose, and resolve defects, production issues, and operational incidents affecting weather data processing systems with a methodical approach.
Create comprehensive documentation for software components, end-to-end processing workflows, system changes, and standard operational procedures for future reference.
Refactor and optimize existing software to significantly boost functionality, performance, and long-term reliability while reducing technical debt.
Stay current with emerging technologies and modern development practices, evaluating and applying those that can improve team capabilities and processing system architecture.
Actively contribute to the continuous enhancement of team workflows, quality assurance standards, documentation quality, and overall software development processes.
Requirements
Hold a Bachelor's or Master's degree in Computer Science, Software Engineering, Information Technology, or a closely related technical field.
Possess a minimum of 3 years of hands-on experience specifically in designing and developing backend services for production environments.
Demonstrate proficiency in Scala or Java, including a solid understanding of functional programming concepts and paradigms.
Have direct experience developing and deploying applications within major cloud environments such as Microsoft Azure, AWS, or Google Cloud.
Showcase a strong background in relational database management, including expertise in schema design and writing complex SQL queries.
Have proven experience processing structured and semi-structured data formats like XML and JSON, building and consuming RESTful APIs, and utilizing regular expressions for data parsing.
Nice to have
Bring experience with event-driven architectures, distributed systems, or message-based integration patterns to the table.
Have a background working with weather, environmental, geospatial, or Earth science data in previous roles.
Possess experience with Microsoft SQL Server specifically for database management and optimization.
Have a track record of developing applications on the Microsoft Azure platform.
Demonstrate a proven ability to successfully manage multiple priorities and competing deadlines in a fast-paced development environment.
Skills & tools
Communicate complex technical concepts clearly through excellent verbal and written communication skills tailored to various audiences.
Collaborate effectively as a cohesive team member while also functioning confidently as a self-directed contributor responsible for your deliverables.
Apply strong analytical reasoning and robust problem-solving skills to dissect challenges and devise efficient, scalable solutions.
Translate intricate technical details into understandable explanations for both technical colleagues and stakeholders without a technical background.
Execute thorough troubleshooting and debugging processes to identify root causes and implement effective, lasting fixes.
Practical notes
AccuWeather is an Equal Opportunity/Affirmative Action Employer.
AccuWeather is committed to working with and providing reasonable accommodations to individuals with disabilities.