rea.ruangguru.com Open in urlscan Pro
2a05:d014:275:cb02::c8  Public Scan

URL: https://rea.ruangguru.com/
Submission: On December 05 via api from ID — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Our Videos
Our Articles
Closed

Our Videos



Our Articles



Unlock your potential and become a future engineer through an intensive 3-month
apprenticeship program and get a chance to be a full time engineer at Southeast
Asia’s largest ed-tech company!



Registration Closed

Watch our
program


WHAT’S IN IT FOR YOU?

Exclusive Mentorship

Receive intensive mentoring and guidance from Ruangguru Tech Leaders.

Curated Curriculum

Enhance your knowledge through specifically tailored learning materials.

Career Opportunity

Direct access for full-time employment at Ruangguru.

Merchandise & Certificate

Get a variety of merchandise and a certificate of appreciation especially made
for REA participants.

Monthly Earnings

Earn monetary rewards during the program.

Ruangguru Engineering Academy is an intensive 3-month apprenticeship program
designed for front-end and back-end engineers. This program is suitable for
those striving to improve their technical expertise through real projects.
Mentored by engineering experts from Southeast Asia's largest ed-tech company,
participants will emerge with career-ready skills




WHAT YOU WILL LEARN


OUR CURRICULUM

Accelerate your learning and become top-tier engineers, with curated curriculum
from Ruangguru engineers


FRONTEND

VERSION CONTROL

 * Version control is a way to keep track of every iteration of your projects
 * Git
 * Conventional Commit
 * How to resolve conflict
 * Collaboration with Gitlab

CSS INTERMEDIATE

 * Styling in CSS can be complex, here you'll learn intermediate techniques that
   you'll use on day-to-day as a frontend developer
 * CSS Selector
 * Flexbox
 * Grid
 * Media Query

JAVASCRIPT INTERMEDIATE

 * Javascript now can do a lot better with lots of complex function that you
   should learn!
 * Callback
 * Promise
 * Async Await
 * Functional JS
 * ES6+

NODE.JS

 * Node.js is a way to run Javacript outside of the browser that make Javascript
   now can compete with other general programming languages such as Python, C,
   etc. Server? IOT? You name it!
 * Yarn/NPM
 * Babel
 * ESlint
 * Webpack
 * pm2
 * Server Side JS

REACT

 * Learning a Javascript framework can help you organize your projects better!
   It's especially useful if you're working on a team. Let's learn to the most
   popular Javascript framework in the world!
 * JSX
 * State & Props
 * React Lifecycle
 * Hooks
 * Context
 * Fragments
 * Chakra UI
 * Zustand
 * Next.js

TYPESCRIPT

 * Understanding static typing can help a lot when it comes to minimize bugs and
   helping in the development on a large-scale projects that Ruangguru has. We
   use it a lot, and if you haven't try it yet, you should!
 * General Types
 * Generics
 * Union
 * Discriminating Union
 * Intersection
 * Enum
 * Type Manipulation
 * Typescript + React

API

 * We use REST API for lots of things, and most beginner should be familiar with
   this protocol. gRPC too is used internally in Ruangguru for our microservices
   communication.
 * REST API
 * gRPC
 * Postman
 * BloomRPC

SCALING

 * We have lots of projects that every day we should maintain and make sure
   working just right for every one of our visitors! Each day bring different
   challenges, some time we need more resources to handle the visitors, some
   time less. Let's learn about how can we scale things up and down!
 * Vertical VS Horizontal Scaling
 * Microservice
 * Docker
 * Kubernetes

DEPLOYMENT

 * Of course we need to learn how we can make our codes run in public! Let's try
   to understand different ways that we can ensure our codebase goes production
   well!
 * PaaS (Heroku/Netlify)
 * IaaS (Google Cloud Platform)

PERFORMANCE IMPROVEMENT

 * We have lots of projects, and we need to ensure every one of our users can
   enjoy every one of them! Let's learn to optimize things in lots of different
   aspects!
 * Tree shaking
 * CDN
 * Responsive image
 * Core Web Vital

SECURITY

 * Having an attack on any of our web services can damage our reputation and can
   compromise our users data. We don't want that! And having a foundation of
   security for every engineer can help prevent that!
 * Authentication
 * Authorization
 * CSRF
 * XSS
 * Validation
 * Encryption
 * Password
 * Race Condition
 * Linux Basic Security
 * Docker Container Security

MOBILE DEVELOPMENT

 * For some of our projects, we need mobile app build for them. Sometimes we
   might invest in native phone development, but other times, we want to just
   simply use React Native. Let's learn when and where we use these different
   tools!
 * React Native vs Native


BACKEND

VERSION CONTROL

 * Version control is a way to keep track of every iteration of your projects
 * Git
 * Conventional Commit
 * How to resolve conflict
 * Collaboration with Gitlab

GOLANG

 * Golang is one of the most trending programming languages right now! Learn to
   use it is a breeze and behind the simplicity lies complexity that are
   powerful, yet so enjoyable to write!
 * Interface
 * Pointer
 * Unit Testing
 * Data Structure
 * Callback

CONCURRENCY

 * Threads
 * Goroutine
 * Channel
 * Mutex
 * Race Condition
 * Deadlock
 * Delayed Job

DATA STRUCTURE

 * Knowing some data structure can help you solve problems faster!
 * Hashmap
 * Set
 * Priority Queue
 * Adjacent List
 * Tree

DESIGN PATTERNS

 * Learning (especially) popular design pattern can help you to do complex
   programming without reinventing the wheel, and can help de-clutter your
   code-bases!
 * Builder
 * Dependency Injection
 * Template Pattern
 * Middleware
 * Adapter
 * Prototype
 * Proxy
 * Composite
 * Command
 * Observer

DATABASE

 * Database is a must-learn for every backend-developer, and knowing several
   database types and understanding the different advantages between them can
   help you to build a better and more scalable project!
 * BTree
 * Indexing
 * CAP Theorem
 * DB Transaction
 * Table Normalization
 * MySQL
 * Redis
 * Big Query

API

 * We use REST API for lots of things, and most beginner should be familiar with
   this protocol. gRPC too is used internally in Ruangguru for our microservices
   communication.
 * REST API
 * gRPC
 * Postman
 * BloomRPC

SCALING

 * We have lots of projects that every day we should maintain and make sure
   working just right for every one of our visitors! Each day bring different
   challenges, some time we need more resources to handle the visitors, some
   time less. Let's learn about how can we scale things up and down!
 * Vertical vs Horizontal Scaling
 * Microservice
 * Docker
 * Kubernetes

KUBERNETES

 * Kubernetes helps us deploy and scale hundreds of microservices. Although we
   have internal abstraction on top of it, learning Kubernetes under the hood
   will help you understand our infra better!
 * Docker Compose
 * Pod
 * Deployment
 * Service
 * Load Balancer

DEPLOYMENT

 * Of course we need to learn how we can make our codes run in public! Let's try
   to understand different ways that we can ensure our codebase goes production
   well!
 * PaaS (Heroku)
 * IaaS (Google Cloud Platform)

DEVOPS

 * We need to monitor everything to make sure our products always available. We
   need to see when we should scale, when any services go down, and more!
 * Observability: Istio
 * Logging: Kibana
 * Monitoring: Grafana

SECURITY

 * Having an attack on any of our web services can damage our reputation and can
   compromise our users data. We don't want that! And having a foundation of
   security for every engineer can help prevent that!
 * Authentication
 * Authorization
 * CSRF
 * XSS
 * Validation
 * Encryption
 * Password
 * Race Condition
 * Linux Basic Security
 * Docker Container Security


TIMELINE

1

22 Oct - 10 Dec 2021

Registration

2

22 Oct - 17 Dec 2021

Selection Process & Annoucement

3

3-7 Jan 2022

Pre-onboarding

4

10 January 2022

Start of apprenticeship program

5

April 2022

Graduation & full-time offering to selected participants


REQUIREMENTS

 * Final year students, fresh graduates, or young professionals with a maximum
   of 2 years of work experience.
 * Have a solid understanding of Algorithm and Data Structure.
 * Highly interested in and understand the development of the technology
   industry.
 * Currently not attached to other employment programs.
 * Willing to commit to the program from January - April 2022.


LEARNING VIDEO

Learn Docker from zero to write your first Dockerfile!

In this video, you will learn more about Docker, what it is, how to operate it,
how to pull images from Docker Hub, and many more!


FAQ

Frequently Asked Questions

WHAT IS THE DIFFERENCE BETWEEN AN INTERNSHIP AND REA?

 * REA is a dedicated apprenticeship program for engineers. Through REA, you
   will have the chance to be mentored by Ruangguru’s engineering experts,
   participate hands-on in real projects, build a professional network, and
   upskill your technical expertise.

WHO CAN APPLY?

 * The program is open to all final year students, fresh graduates, and young
   professionals (<2 years working experience) from an IT/Software
   Engineering/related background.

DO I NEED TO HAVE EXPERIENCE AND EXPERTISE IN PROGRAMMING?

 * If you do have the experience, that's great! But if not, don’t worry because
   in REA you only need to have basic programming skills, since we have a coding
   test as our selection process, so then if you join the program, you will be
   able to catch up with the curriculum like the wind

WHAT SHOULD I PREPARE FOR MY APPLICATION?

 * In general, you only have to prepare your latest Resume. and If you have a
   portfolio, feel free to send them as well.

HOW IS THE SELECTION PROCESS LIKE?

 * We will carefully review your application and decide whether you fit our
   requirements as an REA participant. If you are a fit, we will invite you for
   a Coding Test and online interview. Our Engineering team will interview you
   to discuss your background, technical abilities, past experiences, and
   aspirations.

WHAT IS THE CRITERIA TO BE A FTE DURING THE PROGRAM?

 * We will assess you based on: How you can collaborate within your team during
   the program, your willingness to learn, and how you perform in every tasks
   that given to you. So if you’re selected as the participants, take as much as
   you can the benefit and learn a lot from our learning material.

CAN I GATHER DATA FOR MY THESIS?

 * Unfortunately not, but you could prepare a report based on projects you’ve
   done during the REA program.

ARE THERE ANY SPECIAL CRITERIA TO BECOME A PARTICIPANT IN THE REA PROGRAM?

 * We are looking for talents who at least have basic programming skills (HTML,
   CSS, Javascript). Aside from that, we also want to know whether you embody
   the values of C.H.I.E.F. Learn more here
   https://career.ruangguru.com/our-values

HOW LONG IS THE PROGRAM? WHEN DOES IT START?

 * The REA program is a three-month journey from January 2022 until April 2022.

I’M NOT BASED IN JAKARTA, CAN I JOIN THIS PROGRAM?

 * The program will be conducted online and anyone anywhere is allowed to apply.
   However, should you be offered a full-time position at the end of the
   program, you will be located in Jakarta/ Bandung/ Jogja/ Malang.

I HAVE BEEN REJECTED FROM THE PREVIOUS INTERNSHIP PROGRAM, CAN I STILL APPLY FOR
REA?

 * Sure thing, if you match the requirements of this program, we would be happy
   to welcome you.

I HAVE OTHER QUESTION, WHAT CAN I DO?

 * You can drop your question in a small chat box button on this site or you can
   contact us by this email: technical-recruiting@ruangguru.com

© Ruangguru Engineering 2022. All rights reserved

Our VideosOur Articles