Lead/Senior Software Engineer, Java, Zalo
Full-time
🤖 What you will do
- Design, develop, deploy, and maintain high-performance server-side microservices for large-scale data storage and retrieval;
- Analyze and improve system reliability, throughput, latency, and overall service quality;
- Produce high-quality, maintainable, and well-tested code, contributing to higher engineering standards and team productivity;
- Identify, assess, and mitigate security risks, and integrate secure coding practices into long-term development;
- Participate in architecture discussions, helping shape the direction of distributed storage features such as metadata services, object lifecycle, replication, durability guarantees, and data consistency;
- Collaborate cross-functionally with QA and Infrastructure teams to ensure smooth deployments and stable operations.
👾 What you will need
- 4+ years of professional software development experience, with strong fundamentals in algorithms, data structures, and network programming;
- Proficiency in at least one language popularly used in backend systems (Java, C++, Go);
- Knowledge of distributed file systems or storage engines (e.g., Ceph, MinIO, HDFS, SeaweedFS, LizardFS, GlusterFS);
- Experience with large-scale metadata systems including key-value stores, LSM-tree based databases (RocksDB, LevelDB), or distributed metadata sharding;
- Strong understanding of data durability and replication strategies (e.g., quorum writes, erasure coding, multi-region replication);
- Background in designing API compatibility layers, especially S3-compatible REST APIs, signature authentication (SigV4), bucket policies;
- Experience with high-throughput networking using async IO, epoll/kqueue, gRPC, HTTP/2/3, zero-copy data pipelines;
- Familiarity with storage performance tuning - Filesystem behavior, page cache, SSD characteristics, compaction strategies, GC cycles.
Preferred Qualifications
- Experience with AWS S3, DynamoDB, EBS, or other cloud storage technologies, or familiarity with object storage concepts (consistency, multipart upload, range reads, metadata indexing);
- Solid understanding of distributed systems fundamentals: replication, sharding, consistency models, consensus protocols (e.g., Raft), fault tolerance, leader election;
- Experience implementing or working with observability stacks: metrics, logs, tracing, dashboards, alerting;
- Strong critical-thinking mindset with the ability to challenge assumptions and propose pragmatic improvements;
- Experience with performance benchmarking and load testing for high-throughput systems;
- Familiarity with security best practices for distributed storage: authentication, authorization, encryption at rest/in transit, threat modeling.