Software Development Engineer I
Indexed description
Our team builds and maintains high-performance, scalable services that integrate with Snowflake, handling massive datasets for enterprise customers. You'll work on cutting-edge distributed systems, data processing pipelines, and automation frameworks that enable real-time analytics and reporting.
Your Role And Responsibilities
Your Role and Responsibilities
As a Software Engineer 1 on the Data Team, you will:
- Develop and maintain microservices in Scala and Java
- Build and optimize data pipelines processing terabytes of data daily using Spark
- Write clean, well-tested code and participate in code reviews to ensure quality
- Collaborate with senior engineers and product teams to deliver features and resolve production issues
- Participate in Agile ceremonies and the on-call rotation for service reliability
- Bachelor's degree in Computer Science, Software Engineering, or related technical field
- 1-2 years of professional software development experience
- Strong foundation in computer science fundamentals including data structures, algorithms, and object-oriented programming
- Proficiency in at least one JVM language (Java, Scala, or Kotlin)
- Experience with version control systems (Git) and collaborative development workflows
- Ability to write clean, maintainable code with proper error handling and logging
- Understanding of RESTful APIs
- Basic knowledge of SQL and relational databases
- Familiarity with build tools (Maven, Gradle) and dependency management
- Understanding of software testing principles and test-driven development
- Basic understanding of cloud computing concepts (AWS, Azure, or GCP)
- Strong problem-solving and analytical thinking abilities
- Excellent communication skills, both written and verbal
- Ability to work effectively in a team environment
- Eagerness to learn new technologies and take on challenges
- Self-motivated with good time management skills
- Comfortable asking questions and seeking help when needed
- Attention to detail and commitment to code quality
- Ability to handle multiple tasks and prioritize effectively
- Willingness to participate in on-call rotation and handle production issues
- Strong work ethic and reliability
- Adaptability to changing requirements and technologies
- Professional experience with Scala programming language
- Knowledge of concurrent and asynchronous programming patterns
- Experience with data warehouses (Snowflake, BigQuery, Redshift)
- Knowledge of data processing frameworks (Apache Spark, Hadoop)
- Understanding of columnar storage formats (Parquet, IceBerg)
- Experience with ETL/ELT pipelines and data transformation workflows
- Familiarity with data modeling and schema design
- Hands-on experience with AWS services (S3, RDS, SQS, Lambda, Secrets Manager)
- Experience with Infrastructure-as-Code tools (Terraform, CloudFormation)
- Knowledge of containerization (Docker) and orchestration (Kubernetes)
- Experience with CI/CD pipelines (GitHub Actions, Jenkins, ArgoCD)
- Understanding of monitoring and observability tools (DataDog, Prometheus, Grafana)
- Experience with PostgreSQL or other relational databases
- Knowledge of database optimization and query performance tuning
- Experience with test frameworks (ScalaTest, JUnit, Mockito)
- Knowledge of design patterns and software architecture principles
- Understanding of microservices architecture and distributed systems
- Experience with API design and documentation (OpenAPI/Swagger)
- Familiarity with performance profiling and optimization techniques
- Experience with IntelliJ IDEA or similar IDEs
- Knowledge of Linux/Unix command line and shell scripting
- Familiarity with Postman or similar API testing tools
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search