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
Submission: On December 05 via api from ID — Scanned from DE
Form analysis
0 forms found in the DOMText 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