My Internship Experience at DOCFLIQ as Tech Intern

Ritik Chourasiya
6 min readApr 18, 2022

--

Internships are a training ground for the professional “real world”.

What exactly does the “real world” entail? How disjoint is it from what we learn at university? Am I equipped enough to step into this simulation of the corporate world? I found myself asking these questions during my academics session.

Mine was a 6-month long journey with DOCFLIQ as intern which came about by utter chance. I was applying for internships in my pre-final year and following which I reached out to a talent acquisition team for the possibility of an opening for a backend-developer internship.

One thing led to another and after the interview of around 45 minutes, I received an offer to join the development team of DOCFLIQ.

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

# DOCFLIQ Team

The team is very supportive. Anyone can connect with anyone ask anything. Discussing with different people within the team/organization helps to develop new aspects of the same problem that you might have not even considered.

DOCFLIQ Team

No doubts are small or big, doubts are doubts here. They’ve also helped me in improving the quality of the code I wrote by following best practices and standards to ensure better performance and scalability.

Mentorship: Smart people everywhere — The company is full of some of the greatest tech brains. I’ve met some of the most hard-working people, some of the super talented people, and some of the kindest people under one roof. I must say everyone here is best at what she/he does.

No One teaches/trains you here but they make you learn by yourself. If you ask for help you ‘definitely get it, but don’t expect any spoon-feeding.

The word ‘Hierarchy’ doesn’t exist in DOCFLIQ’s Dictionary — You can speak up, connect with anyone. No one and nothing is gonna stop you. For me, I work with one of the Manager (Software Development) — Chandan Sir. He is so down to earth, helpful and generous I never felt that he was too senior to me. I learn a lot from his modesty.

Everyone treat you like a Full-Time Employee in the company so there is no difference between an Intern and FTE. This experience is really awesome. You get to be part of the all the meetings and you are subjected to the same treatment as the FTEs.

last but not least special thanks to Abhi Sir and our mentor Anupam sir for giving me this great opportunity.

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

# Challenging projects

As I heard from my friends, most of the time interns are assigned a very small task that might not be of immediate concern to the organization, but here I got a chance to work on a project for client and company’s core product.

I was given a fairly challenging project, and there are full-blown project. Although I had a mentor I was expected and even encouraged to have full ownership of my project. Right from the beginning of my internship, I was encouraged by my manager Chandan sir to make decisions on my own and proceed with solving the issues.

He gave me complete freedom to make changes in the codebase. With great freedom, comes great responsibility. There have been situations when I was ambiguous about choosing the right path. But as time went on, I got used to that. Thanks to DOCFLIQ, I improved my decision-making skills.

— > This was all about my personal experience. Now coming to the learning part. So here’s what I learned from my Internship while working on a live projects:

## Scale Makes a huge difference

If the number of requests increases from thousand to a billion or more, does the code still work? Or does it take a long time to execute now?

How many users are going to use the website ?

How much data will be processed ?

How fast is your website ?

These are questions that we as college students, hardly think about. Our college projects were usually short-sighted. Now, these kinds of the question set an upper limit on what a piece of software is capable of. Scalability is not a code style. It’s an engineering problem, and it is closely related to system architecture.

## Using Version Control System — Properly

I was familiar with Git and GitHub when I was in college. Despite knowing the basics of branching and merging, I used to solely commit changes to the master branch. When I first started working here, I realized how important version control is for team collaboration.

✔ Individuals and teams who can contribute to the codebase without needing a global context of what else is being worked on are critical objectives for each organization’s branching methods.

✔ A commit should ideally contain a single, complete change. The commit message should summaries the modifications that have been made. A well-written commit message is the best approach to give fellow developers context about a change.

✔ Before anyone else, go over your own pull request. Make it clear what the pull request is for. Examine the differences to be sure that the changes are intended one. The purpose of pull request should be stated clearly. Within a team, having a culture of creating good pull requests can make a big difference in productivity.

Luckier are those who don’t get merge conflicts. Sometimes resolving conflicts is a pain in git.

## Writing clean, readable and maintainable code

While doing college projects, all I focused on was getting the shit done and I never really cared whether the code I am writing is clean and maintainable or not. This resulted in scrambled pieces of code that somehow worked at the time.

But two days later even I wouldn’t understand why I had written a certain piece of code that way. And changing some parts of the code almost always broke other parts?

Now it’s not just getting things done, but done nicely and efficiently.

Writing code is easy but maintaining isn’t? Writing code easy to read and maintain is a skill other than the problem solving.

— — — — — — — — — — — — — — — — — — — — — — — — — — — —

# My advice for internship

#1: Always give your best shot. Don’t hold yourself back because to give anything less than your best is to sacrifice the gift.

#2: Build relationships with your colleagues. They will make working in a competitive environment so enjoyable.

#3: When in doubt, never be afraid to ask! I found that my managers are more than happy to answer my queries.

# Final Thoughts

Looking back, I think I learnt a lot during the internship. I learned how to use JavaScript & Its frameworks which I had never used before, and understood development lifecycle much better than I did before. I am now familiar with the whole code development lifecycle and with GitHub and making pull requests, approving them and in general the whole collaborative process that github enables.

Now going into my final year of university I feel more confident in my ability to learn new things and I feel very grateful for the opportunity that DOCFLIQ gave me and for everything I’ve learnt over those 6 months.

--

--

Ritik Chourasiya

I’m a 22 year old, still undergraduate backend developer based in India, with 2 years of experience in the software development industry.