Key Skills: SCALA, AWS, AWS Cloud, Apache Spark, Architect, SparkSQL, Spark, Spring Boot, Java
Roles and Responsibilities:
- Technical lead the team and project to meet deadlines.
- Lead efforts with team members to come up with software solutions.
- Optimize and maintain existing software.
- Recommend tech upgrades to company leaders.
- Build scalable, efficient, and high-performance pipelines and workflows that are capable of processing large amounts of batch and real-time data.
- Multidisciplinary work supporting real-time streams, ETL pipelines, data warehouses, and reporting services.
- Design and develop microservices and data applications that interact with other microservices.
- Use Big Data technologies such as Kafka, Data Lake on AWS S3, EMR, Spark, and related technologies to ingest, store, aggregate, transform, move, and query data.
- Follow coding best practices - Unit testing, design/code reviews, code coverage, documentation, etc.
- Performance analysis and capacity planning for every release.
- Work effectively as part of an Agile team.
- Bring new and innovative solutions to resolve challenging software issues as they may develop throughout the product lifecycle.
Skills Required:
- Excellence in software design skills. Strong knowledge of design patterns, including performance optimization considerations.
- Proficient in writing high-quality, well-structured code in Java and Scala.
- Excellence in test-driven development approach and debugging software.
- Proficient in writing clear, concise, and organized documentation.
- Knowledge of Amazon cloud computing infrastructure (Aurora MySQL, DynamoDB, EMR, Lambda, Step Functions, and S3).
- Ability to excel in a team environment. Strong communication skills and the ability to discuss a solution with team members of varying technical sophistication.
- Ability to perform thoughtful and detailed code reviews, both for peers and Junior Developers.
- Familiarity with software engineering and project management tools.
- Following security protocols and best data governance practices.
- Able to construct KPIs and using metrics for process improvements.
Minimum qualifications:
- 12+ years' experience in designing and developing enterprise-level software solutions.
- 5 years' experience developing Scala/Java applications and microservices using Spring Boot.
- 10 years' experience with large volume data processing and big data tools such as Apache Spark, Scala, and Hadoop technologies.
- 5 years' experience with SQL and Relational databases.
- 2 years' experience working with Agile/Scrum methodology.
Education: Bachelor's Degree in related field