Software Engineer

Job Description
The Weather Company, an IBM Business, is seeking a Software Engineer to join the SUN Platform and Data Services software engineering team in the Atlanta office. The SUN Platform and Data Services 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 Platform and Data Services 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 Agile teams (including Dev, DevOps, and QA), and this role would work with a functional Agile 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 (preferably CLOJURE) following Agile methodologies in a continuous delivery environment. This candidate has a passion for building high-quality, innovative and fully performing software in compliance with coding standards and technical design. The candidate will participate in requirements gathering, sprint planning, 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 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.
Participate in the planning, creation and execution of automated test cases and load/performance testing.
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.

Required Technical and Professional Expertise

Bachelor's degree (or higher) in Computer Science, or comparable work experience.
3+ years experience software development using functional programming (Preferably Scala).
Proficiency with functional programming preferably Clojure. Also accepted: Scala, F#, ML, Lisp, Ocaml, or similar language.
Design and implementation of REST APIs, services, system tasks and cloud solutions (IBM, AWS, etc).

Preferred Tech and Prof Experience

Strong understanding of data structures and algorithms.
Experience working with ElasticSearch or related tools/technologies.
Solid understanding of concurrency and concurrent programming techniques.
Desire to learn new technologies and languages a big plus.
Able to convey information concisely and clearly.
Able to work closely and effectively with peer developers and work on several active projects simultaneously.
Experience working in an agile format
Proficiency with unit testing
Proficiency with Version Control

IBM is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.

EO Statement
IBM is committed to creating a diverse environment and is proud to be an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status. IBM is also committed to compliance with all fair employment practices regarding citizenship and immigration status.


Meet Some of IBM's Employees

Peter M.

Leadership Development Solutions Leader

Peter works with a variety of teams within IBM to increase organizational clarity, equip leaders to serve well, and provide opportunities for employees to continually grow and expand their skills.

Rashida H.

Director, IBM Watson Client Delivery

Rashida leads the IBM Watson Delivery Team, which focuses on providing Watson implementation training for clients around the world, helping companies achieve the solutions they seek.


Back to top