My Internship Experience: A Journey Towards Professional Growth

Shivam Sharma
4 min readMay 1, 2023

--

Internships provide a great opportunity for students to gain practical experience in their chosen field, learn new skills, and develop their professional network. As a computer science student at Bennett University, I had the opportunity to do an internship in my 8th semester, and I chose to do it at KV IT Solutions Pvt. Ltd. As a part of my final semester, I am writing this article to reflect on my internship experience, what I learned, and what I worked on.

About Me:

My name is Shivam Sharma, and I am currently pursuing BTech in Computer Science from Bennett University. I am in my final semester and doing my internship at KV IT Solutions Pvt. Ltd.

Internship at KV IT Solutions Pvt. Ltd.:

I have been working on a SaaS project called VoidBounce. VoidBounce is a SaaS platform for email validation that allows users to filter out non-existent or fake email addresses from their emailing database. I work under the supervision of my mentor, and my daily tasks include executing the development tasks assigned to me by my mentor. As an intern, I am assigned modest and simple tasks in addition to a few major implementations. Along with VoidBounce, I am responsible for tasks such as server migration and maintenance and deploying emailing systems such as Zimbra and Google Workspace for clients to use for enterprise emailing. In my seventh semester, I began working on the proof of concept and workflow of VoidBounce, as well as being acquainted with the technology stack.

Workflow of VoidBounce’s Email Validators

There are two types of email validators used in VoidBounce: Single Email Validation and Bulk Email Validation. The Single Email Validation process is a synchronous process in which the user enters an email ID to be validated on the front end. The front end then requests the Django class-based view for the result, after which a random proxy is selected from the database, and a telnet connection is made through the proxy server to confirm the existence of the email account. Finally, the result is formatted and sent back to the front end.

In contrast, Bulk Email Validation is an asynchronous process that begins with uploading a CSV file with n number of email accounts. The file is sent to the celery worker for database ingestion, where the process is set to pending status until the list is ingested completely. The process then awaits user interaction being in the ready state. Upon start instruction, the email addresses are fetched in chunks and divided among an array of celery workers for individual processing. Here, the process enters the running state until all the email IDs are validated. For each email address in the list, the same validation steps are followed as for Single Email Validation, and the result is saved back to the database. Later, the process awaits user interaction in the completed state for export instruction, upon which all the emails are fetched from the database and compiled into a CSV file, and the link to the file is emailed to the user.

Technologies Used

Python is used for programming the logic, Django for the front-end and back-end, PostgreSQL for the database, Celery for task queuing based on asynchronous message passing, Redis as a task broker that takes the commands from Django and feeds them to Celery, and Docker to combine the services in isolated but integrated containers.

Learnings and Experience:

One of the most significant learnings from my internship at KV IT Solutions was working and adapting to technologies that were unfamiliar to me. I was able to learn and work with Celery and Redis, which were new technologies to me. This internship helped me broaden my technical knowledge and gain experience in various tools and technologies.
Apart from technical knowledge, I also learned valuable lessons in time management and expressing ideas and opinions. I had to manage my time effectively to complete the tasks assigned to me, and I learned how to articulate my ideas and opinions better. I also received guidance from my mentor, who taught me to start from the beginning of a feature or function and work my way up, which helped me overcome challenges while developing the project.
Working with cloud technologies like Docker was not new to me, but the level of work involved in this project was entirely new. Every day I encountered new challenges, which helped me improve my problem-solving skills and become more confident in my abilities.

Conclusion:

My internship at KV IT Solutions has been a fantastic learning opportunity for me. Every day, I am presented with new challenges that allow me to hone my skills and build confidence. Working on a SaaS project was an entirely new experience for me, and KV IT Solution provided me with an incredible opportunity to do so. I’d want to express my gratitude to Bennett University and the CSE Department for their unwavering support.

--

--

No responses yet