The Weather Company, an IBM Business, is seeking a Software Engineer to join the SUN B2C software engineering team in the Atlanta office. The SUN B2C team is responsible for delivering backend solutions supporting hundreds of clients, ingesting more than 26TB of data per day, and serving hundreds of millions of requests per day. The SUN is a cloud-based platform that offers real-time weather and lifestyle data through RESTful api services. The SUN platform also includes event based services responsible for sending alerts to users on mobile and web based platforms using multiple messaging protocols. The SUN B2C team has a particular focus on supporting internal and external consumer based clients.
You will be part of a group developing cloud agnostic solutions that currently ingests 26TB of data per day (from over 800 sources), and serves up to 40 Billion requests per day. This position provides endless career growth opportunities within many emerging technologies, including Cloud, NoSql, Big Data & Analytics, and Cognitive Computing technologies. Our organization is made up of small functional teams (including Dev, DevOps, and QA), and this role would be leading a functional team in delivering new backend products. Our organization operates within a challenging, modern, and fun work setting, with a good work-life balance.
The ideal candidate will have a passion for software development with experience using functional programming languages following Agile methodologies in a continuous delivery environment. This candidate has a passion for build high-quality, innovative and fully performing software in compliance with coding standards and technical design. The candidate will participate in requirements gathering, design and technical review to support overall achievement of business objectives.
Essential Duties and Responsibilities
Participate in the design and implementation of sophisticated software systems in Java and Scala using functional programming techniques
Participate in software design and code reviews. Reviews include other Software Engineers and are held to ensure a high level of software quality and to share knowledge with team members.
Participate in, and adhere to, professional software engineering practices using such tools and methodologies as Agile Software Development, Test Driven Development, Continuous Integration, Source Code Management (git), Jira, and GitHub
Address production issues in a timely manner. This includes root cause analysis and working with manager and team members to resolve the problem.
Maintain a high level of proficiency with Computer Science/Software Engineering knowledge and contribute to the technical skills growth of other team members
Work well independently and as part of a team
Engage in 24/7 support periodically to assist in critical production issues to maintain the system