Senior Software Engineer, Java, Zalo
Full-time
🤖 What you will do
- Design and maintain high-performance microservices for petabyte-scale data storage with millions of daily uploads, focusing on ultra-low latency and high throughput;
- Help shape the direction of features like metadata indexing, object lifecycles, and multi-region replication;
- Build and operate the end-to-end message backup and transfer pipeline, from uploading backup files and persistent storage to reliable cross-device restore;
- Analyze system bottlenecks (disk I/O, network saturation) and improve service quality through better concurrency models and resource management;
- Package, deploy, and maintain resilient, containerized microservices using Docker across distributed multi-region environments;
- Participate in microservice observability, creating robust tracing, logging, and metrics to ensure high availability and rapid incident resolution;
- Produce maintainable and well-tested code with understanding how your code interacts with the hardware;
- Integrate secure coding practices and handle complex authentication layers
👾 What you will need
- 5+ years of professional experience with a focus on backend systems, with deep core mastery of Java and the Spring Boot ecosystem;
- Proven experience with Java concurrency models, async IO, high-throughput networking (gRPC, HTTP/2/3, Netty), and under-the-hood optimizations (epoll, zero-copy);
- Strong understanding of JVM internals (memory model, advanced GC tuning like ZGC/G1GC, thread synchronization) and how they impact Linux kernel memory and disk I/O;
- Professional experience using AWS S3 or other object stores; understand buckets, prefixes, and basic IAM/Bucket policies from a developer's perspective;
- Experience with NoSQL or distributed databases and a strong understanding of schema design for performance;
- Hands-on experience containerizing applications with Docker, including a solid grasp of container networking, persistent storage volumes, and resource allocation limits.
Preferred Qualifications
- Familiarity with storage engines or distributed filesystems (e.g., MinIO, Ceph, SeaweedFS, or HDFS);
- Experience with distributed message queue Kafka and service discovery tools (Consul or etcd) in a clustered environment;
- Knowledge of consensus protocols (Raft/Paxos), replication strategies (Quorum, Erasure Coding), or CAP theorem trade-offs;
- Experience building RESTful APIs that follow strict compatibility standards (e.g., S3-compatible layers);
- Experience using Prometheus/Grafana or similar tools to debug complex distributed systems.