About the Role
Project Role
Custom Software Engineer
Project Role Description
Develop custom software solutions to design, code, and enhance components across systems or applications. Use modern frameworks and agile practices to deliver scalable, high-performing solutions tailored to specific business needs.
Summary
As a Rust Developer, a typical day involves designing, developing, and supporting scalable backend applications and data-intensive services for OTT and digital media platforms. The role focuses on Rust application development, database engineering, AWS cloud integration, API development, performance optimization, and production support. The candidate will collaborate with cross-functional teams to deliver secure, reliable, and high-performance solutions while following Agile and DevOps practices.
Roles & Responsibilities
- Perform independently as a Subject Matter Expert (SME) in Rust application development.
- Design, develop, and enhance backend services using Rust.
- Build and consume REST and gRPC APIs supporting entitlement, playback authorization, device registration, and catalog services.
- Develop asynchronous services using Tokio with proper handling of concurrency, cancellation, timeouts, and backpressure.
- Design and maintain data access layers, database schemas, migrations, transaction handling, and connection management.
- Implement and optimize integrations with relational and NoSQL databases.
- Integrate AWS services including Amazon RDS, Amazon Aurora, Amazon DynamoDB, Amazon Elasti Cache, Amazon S3, AWS Lambda, Amazon SQS, Amazon SNS, and Amazon OpenSearch.
- Design efficient data models, indexing strategies, caching mechanisms, and database access patterns.
- Develop and maintain unit, integration, database, and performance test suites.
- Participate in code reviews, CI/CD processes, release activities, and deployment validation.
- Analyze production incidents, perform root cause analysis, and resolve application and database-related issues.
- Troubleshoot performance bottlenecks, connection exhaustion, replication delays, query performance issues, and caching challenges.
- Support deployment validation, rollback procedures, and operational readiness activities.
- Provide effort estimates, technical guidance, and risk assessments.
- Mentor developers and collaborate with architects, product teams, and stakeholders.
- Participate in on-call and production support activities.
Professional & Technical Skills
Must-Have Skills
- Rust Development And AWS Cloud (Primary Skills).
- Strong experience in Rust programming, including ownership, borrowing, lifetimes, traits, generics, Enums, pattern matching, and error handling.
- Experience with asynchronous Rust using Tokio, Futures, task management, concurrency, and shared-state handling.
- Experience developing services using Axum, Actix Web, Tonic, or similar Rust frameworks.
- Experience with Serde serialization and deserialization.
- Strong SQL and database design expertise.
- Experience with PostgreSQL, MySQL, MariaDB, Amazon Aurora, or other relational databases.
- Experience with DynamoDB, Redis, MongoDB, Cassandra, Scylla DB, or OpenSearch.
- Experience with SQLX, Diesel, SeaORM, Tokio PostgreSQL, or similar Rust database libraries.
- Experience with schema design, indexing, migrations, transactions, and query optimization.
- Strong knowledge of consistency models, replication, read replicas, and distributed data systems.
- Hands-on experience with AWS Lambda, Amazon RDS, Amazon Aurora, Amazon DynamoDB, Amazon Elasti Cache, Amazon OpenSearch, Amazon S3, Amazon SQS, Amazon SNS, and AWS Identity and Access Management (IAM).
- Experience with Cargo, workspaces, dependency management, Rust testing, Clippy, and Rustfmt.
- Experience with Git, CI/CD pipelines, Docker, and Infrastructure as Code.
Requirements
Rust Development
Strong experience in Rust programming, including ownership, borrowing, and error handling.
AWS Cloud Integration
Hands-on experience with various AWS services such as RDS, DynamoDB, and Lambda.
Database Design
Strong SQL and database design expertise with experience in relational and NoSQL databases.
Asynchronous Programming
Experience with asynchronous Rust using Tokio and Futures.
Nice to Have
Experience building and consuming REST and gRPC APIs.
Ability to troubleshoot performance bottlenecks and optimize database queries.
Benefits
Remote Work
Flexible working arrangements including remote work options.
Learning Opportunities
Access to training and development resources.