My name is Nishank Siddharth and I am a fourth-year student at the Indian Institute of Technology Guwahati in the branch of Computer Science and Engineering. I was born and brought up in Gwalior. This summer, I had a fantastic opportunity to work as a software engineer for UiPath.
The first time when I heard the name UiPath was regarding hiring interns in our college. I was impressed with the job description mentioned in the email, and with what they were offering. I gave my best and got selected as one of the interns that UiPath recruited from IITG.
It started with a coding test in the morning consisting of one medium-level question and one hard-level question that needs to be completed within 75 minutes. I solved and coded these questions within the time limit and later got the mail saying that I was selected for an interview the evening of the same day. The first interview was an utterly technical round: two real-case scenario-based coding questions were asked that required knowledge of computer science fundamentals. I solved both of them and then got called for the second round of interview. The second round was again technical and the coding questions required a good understanding of data structure and algorithms. A few minutes later, I received another Zoom link for the last round. The third and final interview was mostly managerial, and we mainly focused on my resume. Finally, the results were announced at midnight. When I saw my name on congratulatory mail, I was so happy and excited to start a remarkable journey with UiPath.
I was excited about the 17th of May. It was my first day as an intern at UiPath. It started with a Zoom meeting where I met the other interns and ended up with a fantastic orientation session during which we learned about UiPath values, the weekly program structure, and other essential things. Later that day, I found out that I will be working as a software engineer in Apps team. The next day, the whole Apps team gave us a warm welcome, each member of the team introduced themselves, and told us about their hobbies. It was a wholesome ice-breaking session and everyone turned on their cameras. It was really fun and after seeing the team for just a minute, the UiPath culture immediately stood out to me.
The project itself was pretty interesting because it involved technology that I didn't know, including TypeScript, Azure Blob Storage, and Angular. In the first week, I started doing training on these technologies for grasping the concepts involved. The project description was well-structured and organized. I started thinking about the solution approach to the problem statement next week.
My team colleagues scheduled onboarding sessions and introduced me to their platform. Later I got to see the whole codebase, which was pretty huge. My mentor helped me with different difficulties I was facing. I was blessed to be working with these people who have been in this field for many years and have such a great experience.
Each week, I was assigned tasks based on the story that I was working on. We had a daily scrum call on how things are going, what we will do that day, and what you have completed. The delivering process was excellent and well-structured. While I was in college, I worked on various projects, but we didn't emphasize planning. We primarily focused on coding the solution. Recently, I learned that coding the solution is just a tiny part. To reach the coding phase, you need to go through various discussions and design reviews. I planned out my approach for the solution entirely by preparing design documents. I presented those documents in front of the whole team to get their opinions and suggestions.
We had a mid-point demo where each intern showcased their work to managers and mentors of other interns. It was amazing to get to know about the projects that other interns are working on. After that, I started working on completing the remaining work of the project.
Things I learned from this opportunity
Scope and extensibility of the project - As a college student, I didn't have much exposure to enterprise-level development model, and while I was in college, I hardly gave a thought on how many users are using the software, how many data models are getting processed, how can we optimize complexity of functions, etc. However, when it comes to building enterprise-level applications, these questions act as a fundamental base on which your solution design or architecture depends.
Applying academic knowledge in real-life aspects - Computer science fundamentals, algorithm, and data structure courses helped me increase my problem-solving skills, and I was able to use these skills while developing the service in my project. I didn't bother about unit testing in college, but here I got to know its significance and its need for testing out new components and seeing the code coverage. I learned how to handle asynchronous events, which happen when a user performs an event in our application that takes a bit of time to complete, and we don't want a user to get blocked and wait for the request to get complete.
Writing engineering ready code - The code you are writing should be easily maintainable and easy to understand. This is an important mission for you as a developer. Choosing the name of methods, variables, libraries, dependencies, etc., becomes essential for your code. Code reviews are much more critical because incorporating other people's suggestions and views on the task will help deliver quality enterprise-level software.
Overall, it was a great experience working at UiPath. The internship was very well structured and organized; I learned new technology currently being used to develop software applications. My project gave me many insights into how an enterprise-level application is maintained, how new features are added, how bugs are reported, how scaling matters, etc.
It was fantastic working with people who were always supportive and eager to help. The internship at UiPath was my first exposure to the corporate world and it taught me how to be a team player and how to make decisions. I am glad to be a part of a team where I feel happy and motivated because of the amazing colleagues and the work I am doing.
This virtual internship has made me more patient and calmer about managing time and being productive. Come to think of it, I've already embedded the UiPath values, which are to be Humble, Bold, Immersed, and Fast.
Software Engineer, UiPath