Software Engineer (Scala)
Atlanta (DeKalb) IT development
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 SCALA) 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 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
· 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
· Work as an Agile scrum team member
· Engage in 24/7 support periodically to assist in critical production issues to maintain the system
SCALA and JAVA (No Javascript) HIGHLY RECOMMENDED!
Auto req ID
165644BR
Required Education
Bachelor's Degree
Role ( Job Role )
Software Developer
State / Province
GEORGIA
Primary job category
Software Development & Support
Company
(0147) International Business Machines Corporation
Contract type
Regular
Employment Type
Full-Time
Is this role a commissionable/sales incentive based position?
No
Travel Required
No Travel
IBM Business Group
Watson M&W
Preferred Education
Master's Degree
City / Township / Village
ATLANTA
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.
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 using Scala, Clojure, F#, ML, Lisp, Ocaml, or similar language
· Proficiency in object oriented development using Java, C++, C#, Ruby, or similar language
· Proficiency with unit testing
· Proficiency with Version Control
Country/Region
United States
Preferred Technical and Professional Experience
· Passion for Computer Science and Programming
· Understanding of data structures and algorithms
· Knowledge of functional programing languages and techniques
· Knowledge of object-oriented programming languages and techniques
· Solid understanding of concurrency and concurrent programming techniques
· Bachelor's degree (or higher) in Computer Science, or comparable work experience
· Proficiency with functional programming such as Scala, Clojure, F#, ML, Lisp, Ocaml, or similar language
· Proficiency in object oriented development using Java, C++, C#, Ruby, or similar language
· Proficiency with unit testing
· Proficiency with Version Control
· 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
Secondary Job Category
Other Software Development & Support
Eligibility Requirements
none
Position Type
Professional
Early Professional Track
Not Applicable - Professional Hire