My first 90 days at Rippling: Insights and tips for new software engineers

Published

Jun 5, 2023

It's hard to believe that it's been six months since I joined Rippling as a software engineer. I joined Rippling along with 15 other campus graduates starting their careers at the company. Here’s my experience as a new grad software engineer at Rippling—and some tips I learned along the way.

Starting Rippling Academy: How it all began

Before Rippling, I had no prior internship experience and needed to learn about the tech stack. Luckily, the first step in my journey was Rippling Academy, the eight-week training program designed to onboard and upskill new graduates at Rippling.

Rippling Academy bridges the gap between academic education and real-world software development practices by providing a structured learning environment. Each week has courses, materials, and assignments on a different topic. This helped us reinforce our learning through practical hands-on experience.

Here’s what we covered week-by-week:

  • Week 1: HTML, CSS, and Introduction to JavaScript
  • Week 2: JavaScript (closures, prototypes, scoping) and introduction to React
  • Week 3: Advanced React (states, routing, setting up a React app)
  • Week 4: Python (object-oriented concepts, unit testing, Python types)
  • Week 5: Django + MongoDB
  • Weeks 6-8: Introduction to Rippling's codebase, code review practices, building an app within Rippling's codebase

Rippling Academy is a crucial stepping stone for new software engineering graduates, ensuring graduates are well-versed in the technologies and frameworks they will work with, empowering them to contribute effectively, and aligning them with the company's vision and goals.

In the program: So much learning to do

Initially, I struggled to understand React context until one of the mentors explained the concept in an easy-to-understand way. The mentors are there to support the participants in the program every step of the way with:

  • Regular one-on-one sessions to discuss progress and challenges, and provide guidance.
  • Encouragement and education on good coding practices and how to write clean code.
  • Personalized guidance and support. The mentors are there to answer questions—no matter how dumb you may think the question you’re asking is. They easily explain difficult-to-grasp concepts to ensure the new grads understand.  
  • Constructive feedback. Mentors not only highlight areas for improvement but also provide tools to make it happen.

One of the highlights of the training program was the opportunity to build Rippling's PTO (paid time off) app. This task was designed to give the trainees hands-on experience with the company's codebase and technologies. We were free to tackle the project as we saw fit after we made an MVP. We leveraged the technologies and coding practices we’d learned during the training program.

It was a challenging project but with the help of our mentors, we were able to complete the PTO app and gain a greater understanding of how everything fits together. By the end of the training program, we were ready to take on our new roles as software engineers at Rippling. Of course, before we took on our new roles, we made sure to celebrate with a team dinner and a graduation party.

Starting as a frontend software engineer: The real work begins

After the training ended, I was excited to start my new role as a frontend software engineer on the Insurance FE team with Manish, my mentor during the training, as my manager. He has been highly supportive and easy to talk to from day one.

Let's face it—starting a new job is intimidating. But the team made me feel welcome by sending Slack messages and dancing emojis, and during our first lunch together, the team and I got the chance to discuss our backgrounds, connect over movies and TV shows, and laugh. The team was also responsive to my questions and encouraged me to voice my opinions. I was anxious to suggest edits in another member's code at first, but my feedback was received positively—which made me feel supported by the team.

Conquering my first project and the challenges that came with it

My first project on the Insurance FE team was Global Benefits, an initiative to bring Rippling's Benefits Administration to different countries. When I joined the team, the project's first leg—bringing Benefits Administration to Canadian EOR companies—was almost complete. As a new developer, I was anxious about my ability to contribute to the project. And when I was assigned my first task, building the Employee's insurance tab for their profile, I felt like this:

Raising my first PR was a bit nerve-wracking, especially when it got a lot of comments, but ultimately it was a valuable learning experience.

After completing my first task, I worked on some small tasks as they came along and learned more about the small but effective changes I could make to increase my productivity.

Here are a few examples of things I learned to make my workflow more efficient:

  • Split terminal windows into multiple sections
  • Use shortcuts and aliases for commands in CLI
  • Create a Confluence doc containing all the information you need to access daily

 While these things sound like tiny details, they’ve made massive improvements to my workflow.

The pair program

For my next big task, I was assigned to build an Employee insurance app for Canadian employees. This time, I felt more confident because I was more familiar with the codebase and better understood how to do things. Building the app was relatively easy, but I needed help understanding how to do the routing so Canadian employees would see the app I made and US employees would see the existing US insurance app.

I was pair-programmed with Manish for the first time. It was an eye-opening experience for me. I saw how an experienced developer approached problems and tackled tasks. He coded quickly and efficiently and debugged problems easily. He started breaking down the problem being solved and the work done so far. He then returned to the first change and reapplied each step after it to see what had caused the issue. Throughout the debugging session, he kept reinforcing that sometimes issues are hiding in plain sight because we trust ourselves more than the code we have written.

I learned that code is not magic and bugs can always be solved. I realized that it's essential to take a step-by-step approach, looking at the problem from the root level and tracing its path down to the point where the problem is. It may not always be easy or straightforward. After a successful pair-programming session, we resolved the routing issue and got the app up and running for Canadian employees.

We ran into another issue when our PR repeatedly failed Selenium test cases (note: since then we’ve removed Selenium). I tried running the test cases locally for a few days but couldn't get them to pass. It wasn't until I self-reviewed the PR again that I realized I had committed an unwanted statement I had used for local testing to my branch, causing the tests to fail. It was synonymous with missing a semicolon!

In addition to working on Global Benefits, I also had the opportunity to work on UI platform initiatives including language globalization for a couple of sprints. Understanding the architecture and process behind this project was just one of the many learning opportunities I've had at Rippling.

Getting into the program: Resume tips for new graduates

Sounds amazing, right? It is. So, you’re interested in the program but unsure how to stand out—here’s what Rippling is looking for in your resume and what you should highlight:

  • Technical skills: Highlight your proficiency in languages such as Python and JavaScript or frameworks like React.js and Django. Rippling is looking for people with a strong foundation in relevant technical skills and programming languages. 
  • Projects and contributions: Include details about significant projects you have worked on.
  • Problem-solving and analytical skills: Emphasize your problem-solving abilities, critical thinking skills, and logical reasoning. And make sure to mention any challenging technical problems, and how you approached and resolved them.
  • Extracurriculars: If you have developed any personal projects or side ventures, or participated in hackathons, make sure to mention them!

Remember to tailor your resume to highlight the specific skills and experiences that align with the role you are applying for at Rippling. Be concise, clear, and ensure that your resume is error-free.

While we’re on the topic of getting in, here are my tips for presenting your projects in an interview:

  • Provide context. Start by giving a brief introduction to the project, explaining its purpose, goals, and the problem it aimed to solve. Provide context about the project's scope, the team size, and your specific role and responsibilities.
  • Get detailed (but not too detailed). Your interviewer is also a software engineer with much more experience than you, so don't be scared to go into the details of the project or throw technical jargon at them, especially if they are related to the role. That said, remember to be concise and tailor your discussion to highlight the most relevant and impactful details.
  • Describe the technical stack. Explain the technologies, frameworks, and tools you used in the project.
  • Highlight your contributions. Emphasize your specific contributions to the project. Discuss the challenges you encountered and how you overcame them. Mention any unique solutions or innovative approaches you implemented.
  • Demonstrate results. Numbers, data, impact! Share the outcomes, achievements, or impact of the project. Discuss measurable results, such as improved efficiency, cost savings, or positive feedback from users or stakeholders. Providing data or metrics to support your claims is a big plus.
  • Showcase your learnings. Talk about the lessons learned and skills you developed during the project. Highlight any new technologies or concepts you explored and how this experience has contributed to your growth as a software engineer.

Ultimately, Rippling wants candidates who are enthusiastic, technically skilled, and have the potential to contribute to the company's growth and success.

In closing

Overall, my experience as a new grad software engineer at Rippling has been challenging but enriching. I've had the chance to learn from the best and work on exciting projects, and I'm excited to see where my career at Rippling takes me next.

If you’re interested in becoming a software engineer, I’ll leave you with two final tips:

  • Focus on problem-solving: While technical knowledge is important, the ability to solve complex problems is equally crucial. Practice breaking down problems into smaller pieces, thinking creatively about potential solutions, and applying various algorithms and data structures to solve the problem efficiently and effectively.
  • Practice, practice, practice: Spend time practicing coding challenges, working on personal projects, and reviewing the fundamentals of data structures and algorithms.

Good luck on your journey!

last edited: April 11, 2024

Author

Jatin Goel

Jatin is a software engineer at Rippling in Bangalore. As part of the Insurance frontend team, he contributes to the UI development for the Global Benefits project.