Location- Malang , Indonesia / Hybrid (WFO/WFH)
Role OverviewWe are looking for a Junior to Mid-level Software Engineer to build and maintain backend services. You will work primarily with Go (Golang), PostgreSQL, NoSQL databases, and Redis to develop scalable, reliable systems.
You should be comfortable writing clean, maintainable code, understanding backend fundamentals, and collaborating with cross-functional teams.
Responsibilities- Design, develop, and maintain backend services using Go (Golang)
- Build and optimize APIs and microservices
- Work with PostgreSQL for transactional data
- Work with NoSQL databases (e.g., MongoDB, DynamoDB, etc.) for flexible data models
- Use Redis for caching, queueing, or performance optimization
- Implement efficient database queries and data access patterns
- Ensure code quality through testing, code reviews, and best practices
- Debug and troubleshoot production issues
- Collaborate with frontend engineers, product teams, and DevOps
- Participate in system design discussions (for Mid-level)
RequirementsCore Skills- Experience with Golang (preferred) or strong willingness to learn
- Understanding of RESTful APIs and backend architecture
- Solid knowledge of PostgreSQL (queries, indexing, basic optimization)
- Familiarity with at least one NoSQL database
- Experience using Redis (caching, pub/sub, or queueing)
- Basic understanding of concurrency and performance in Go
Software Engineering Fundamentals- Understanding of data structures and algorithms
- Knowledge of clean code principles and design patterns
- Familiarity with Git and version control workflows
- Basic understanding of testing (unit/integration)
For Junior Level- 1–2 years of experience (internship or project experience acceptable)
- Basic understanding of backend development and Microservice architecture
- Willingness to learn and take feedback
- Able to follow existing architecture and coding standards
For Mid Level- 2–5 years of backend development experience
- Hands-on experience building production systems
- Ability to design simple systems and troubleshoot issues independently
- Experience optimizing queries and improving performance
- Familiarity with distributed systems concepts is a plus
Nice to Have- Experience with PgBouncer / connection pooling
- Understanding of read/write database separation
- Experience with message brokers (Kafka, RabbitMQ, etc.)
- Familiarity with Docker / Kubernetes
- Experience with cloud platforms (AWS, GCP, or Azure)
Language Requirements- Proficient in Indonesia & English
Soft Skills- Strong problem-solving skills
- Good communication and teamwork