Junior Software Engineer / Software Engineering Residency

Employment Type


Job Function


Job Description

Kulkul Tech is a technology-based company based in Jakarta, Indonesia. Founded in 2019 by Gojek Alumni and globally respected coding mentor. It aims to democratize high-quality software engineering through customer-obsessed consulting, training and mentoring.

Engineering at Kulkul is people-centric, we believe that our people are what makes us great and we highly care about communication, personal growth, health, and well-being of our team members.

Job Description

Software Engineering Residency is a program designed for early-career software engineers coming from any educational or technical background. You will be assigned to our Product Engineering group who designed, develop, and maintain both internal products and client's products.

You will be exposed to various industry's best practices from Object-oriented programming, Functional programming, Unit Testing, CI/CD, and many more. In this program, you'll be mentored or pair directly with our Chief Kul who build the company from scratch, and learn not only technical skills but also in business and life. We are an entrepreneurial organization by nature and always welcome and support our team members to start an entrepreneurial journey at some point in the future.


  • Learn: Learn and adapt quickly to Kulkul's business needs and learn the necessary skills to do the job well from learning new programming languages to learn an entirely new business domain.
  • Design: Architecting software system that can scale to million South East Asia internet users and beyond.
  • Communicate: Regularly communicate to a cross-functional team from the Product Manager, QA, and other stakeholders. You'll learn how to communicate effectively and become an engineer that can communicate to not only engineers but also non-technical people.
  • Develop: Implementing software system into working code in our chosen language. Our official languages are Ruby, Node.js, Python, and Elm.
  • Test: Write unit and integration tests to make sure that our software is maintainable through time.
  • Maintain: Become a user advocate and providing the best technical advice to make sure that our software's user experience is the best in class.
  • Operate: Making sure that our systems are easy to operate, scalable, and highly-available.


  • Good knowledge in one of our official languages (Ruby, Node.js, Python, and Elm).
  • Decent understanding of how computer and operating system works.
  • Ability to speak English confidently and fluently.
  • High problem-solving aptitude.
  • Eagerness and curiosity in learning skills, technology, and behavior to be top 1% software craftsman.

How to apply

You can apply to this job by following our series of first steps that you can follow at