Interning with Inkredo as a Full Stack Developer
I was looking for Internship opportunities during summers after the end of my sophomore year in college, when I came across the Full Stack Developer profile at Inkredo on Internshala.
I was looking for Internship opportunities during summers after the end of my sophomore year in college, when I came across the Full Stack Developer profile at Inkredo on Internshala. I was immediately attracted towards their unique product idea and their fundamental core values. Also, the compensation that they were offering was generous enough.
After going through the initial screening process, I was given a task to develop a back-end API using node.js and MongoDB as the database service. After the submission of this assignment there was a telephonic interview following which I was given the offer letter. The whole selection and interview process was conducted professionally and with proper communication.
I was given the first task to implement a background queue processor to improve the current system architecture. The first week was mainly spent in analyzing various code-bases of the company on GitHub to get familiar with the system design principles and I also came to know about the various coding practices. Samkit was helpful enough to clear any queries that I had and also worked with me throughout the project tenure.
Step 1: Create APIs for task-queuing
Step 2: Update front-end with the new API
This was my first experience with React and I had no clue where to start. Inkredo invests in the courses required to ship the next release. Startups are about applied learning and I experienced what it takes to learn and ship a real world application.
Within a week, I was able to grasp a lot of important concepts and put my learning into practice. Eventually, the front-end was beginning to take shape and interacting smoothly with the server.
Even when I thought it was not working, it slowly was. I kept up and it came around.
For testing purposes, I released the task-queuing version onto a new Digital Ocean droplet using node process manager (pm2) and also created a new sub-domain to redirect the traffic. I also had to configure the nginx server to serve the requests and a SSL certificate in order to secure the end to end connection.
Step 3: Handle multiple document analysis in a single request
The next step was to use the newly developed background processing API to handle multiple document analysis in a single request in order to increase the efficiency of the platform by almost three-folds. I decided to work on the back-end first, in which I was more comfortable. For this, I created a time-line for step by step completion of the task so that my team knew what I was working on and avoid any sort of confusion.
Everything that I laid my hands upon was complex, hence effective scheduling of tasks was the key so that I was always aware of my direction.
Majority of the work included making new database schemas, updating existing functions and creating new ones for the newly formed API routes. I also updated the consumer facing API’s to incorporate the new features. Due to time constraint, I was not able to fully complete the front-end but made sure that it had a logical conclusion.
Remote work: Communication is the key
I also troubleshooted smaller bugs and minor issues in the platform. Since Inkredo has a 100% remote working culture, we communicated regularly through chats and video calling. In my opinion remote working is a huge plus but surely depends on personal preference. Since I am a fitness enthusiast, I was easily able to manage my gym sessions and the workload quite easily on any day.
Screen sharing was a life saver in situations where expressing became a challenge. Since it is not always physically possible to meet each day, so it becomes extremely important to convey your thoughts and ideas in a miniature form through chats. Writing organized my thoughts beautifully in fewer words than what I would have communicated while speaking in few sentences. This taught me the essence of effective communication.
In addition to applying sound technical knowledge and skills, I also learned a few important life skills from my team. My team consisted of an experienced set of individuals who were extremely good in what they did. Apart from the outings and brunches, excellent team culture is something that I thoroughly enjoyed and always looked forward to. Hard-work and loyalty is something that is greatly rewarded at Inkredo.
At Inkredo, I realized that working with a company that motivates and trusts its team mates as much as they do, brought out the best in me.
I always felt a part of their inner circle, intern was merely a title. For me it opened doors for new possibilities in what I could do and helped me to be a better version of myself.
My responsibilities turned out to be more than that of a full-stack developer. I experienced Dev Ops for the first time, extensively used git and typescript on a daily basis, learned React, and also used AWS and Digital Ocean briefly. Not only this but I also migrated the website to Cloud Fare in order to manage it more efficiently and make it more secure. It was an exceptional journey in which I utilized my time to the fullest.
My job was not limited to the JD but to get the job done.
Thanks to Swati Suramya, Samkit Jain, and Kumar Tanmay.
This post was originally published on Medium by Abhinav Vadhera.