Railroad19 is a company that develops customized software solutions and provides software development services. They are seeking several Scala Software Developers who are fluent in Scala & Spark to develop clean, maintainable code and integrate enterprise data into an analytical data warehouse, while also serving as advisers in identifying and fostering best-in-class solutions.
Responsibilities:
- Understand our client's fast-moving business requirements
- Negotiate appropriate solutions with multiple stakeholders
- Write and maintain scalable enterprise-quality software
- Develop new applications and production application support
- Participate in detailed technical design, development, implementation, and support of Big Data applications using existing and emerging technology platforms
- Work with large streams of data with tools like Spark and Kafka
- Manage the complete software development life cycle
- Writing functional and unit tests in order to maintain code quality
- Develop understanding of client business processes, objectives, and solution requirements
- Participate in project work groups with subject matter experts and stakeholders to understand data specific needs
- Collaborate with other teams in order to deliver a highly performance application that contains little or no defects
- Identify new opportunities, tools, and services to enhance the custom software platform
- Support and troubleshoot issues (process & system), identify root cause, and proactively recommend sustainable corrective actions
Requirements:
- Fluent in Scala & Spark
- Strong communication skills
- Advanced Scala development-based software solutions, Scala 2.12/2.13
- Strong experience with Spark and Kafka, working with large streams of data, and experience building data pipelines
- Enterprise experience with NoSQL implementation, including stream processing
- Experience with database design and modeling - logical and physical, ETL development, performance tuning - table partitioning and indexing, process threading, and database storage sizing and maintenance
- Demonstrates willingness to learn new technologies and takes pride in delivering working software
- Excellent oral and written communication skills, analytical, and problem-solving skills
- Bachelor's or master's degree in computer science, computer engineering, or other technical discipline; or equivalent work experience