Roshan Pandey

Software Engineer | Coditas

Seeking a challenging software engineering position where I can leverage my experience to take initiative, think critically, and provide innovative solutions. I am highly motivated to work in a dynamic environment that encourages continuous learning and growth, enabling me to contribute effectively to the success of the organization.


Experience

Sofware Engineer

Coditas

Technology - NodeJS, Typescript, Serverless, AWS Lambda, AWS S3, AWS Cloudwatch, Apache Atlas, Keycloak.


1. Datalake API default models

Overview: This project was about the modernization of the existing microservice to event-driven serverless API which is scalable and capable of handling large data. The project was fairly complex with multiple moving components like AWS SQS, AWS S3, PostgreSQL etc.

Workflow -

  • Taking the request from the user, creating a job and breaking the job into smaller batches.
  • Pushing those batches into AWS SQS, and then triggering the Analysis lambda through the SQS.
  • After having the result for individual batches storing the result in AWS S3 and then aggregating all the result.
  • Once all the batches are done then creating a consolidated output and generating a presigned URL of AWS S3 object which user can access.
  • Technology used: NodeJS, Serverless, PostgreSQL, AWS S3, AWS SQS, AWS API Gateway


    2. Slack Adapter

    Overview: The Slack Adapter is designed to automate API calls through Slack commands, making it more user-friendly for non-technical users to perform actions that typically require running several Postman scripts.

    Workflow

  • Access Setup: Certain users are granted access to a specific Slack channel where they can use the Slack command for automation.
  • User Request: When a user sends a command through the Slack channel (e.g., /add_user_to_dashboard pandeyroshan556@gmail.com ACM_Dashboard), the adapter processes the request.
  • Immediate Acknowledgment: The adapter immediately acknowledges the receipt of the task in the Slack channel, assuring the user that their request is being handled.
  • Execution: The adapter triggers a worker function to initiate the execution of the required action. In this case, it involves making specific API calls.
  • API Calls: The worker function executes the necessary API calls, performing the desired action. For example, if the command is to add a user to a dashboard, the relevant APIs are called to complete the task.

  • Technology used: NodeJS, Serverless, Typescript, Github Action (for CI/CD)


    3. Data Catalog - Apache Atlas

    Overview: Stabalized the setup for Apache atlas with the keycloak authentication. Apache atlas serves the purpose of a data dictionary for different data models. The setup required to import the datasets from hive whenever there is any new dataset introduced. I introduced an enhanced approach for streamlining the dataset importing process within Apache Atlas.

    The Original Three-Step Process:

  • Switching Authentication: Transitioning the authentication system from keycloak-based login to file-based login.
  • Running Import: Executing the import_hive.sh script located in /apache/atlas/bin to import or reimport datasets.
  • Changing Authentication Back: Reverting the authentication system to keycloak-based login after completing the import.
  • While effective, this process demanded manual intervention and several steps, which we believed could be simplified for better efficiency.

    Enhancement done -

    To improve and simplify the process, we have implemented two aliases that map to shell scripts, providing a streamlined experience:

  • auth_switch - Executing the auth_switch command simplifies the transition between authentication systems within Atlas. By running this command, users are prompted to choose from the available authentication options: 1) File based authentication 2) Keycloak based authentication, Upon selecting their preferred option, the atlas-application.properties file located in /apache/atlas/conf is automatically updated with the relevant settings for the chosen authentication method. Additionally, the Atlas server restarts seamlessly to ensure a smooth transition.
  • import - This command basically when ran, asks for user input like the database name and the tablename and does the import accordingly.
  • Technology used: AWS EMR, Apache Atlas, Keycloak, Shell scripting, Linux

    Apr 2022 - Present (~ 1.5 years)

    Backend Intern

    Unbox Innovations

    Developed an E-Commerce application which uses intermediary distribution approach which makes it less prone to cyber attacks. Built backend APIs from very scratch and integrated with the frontend. Integrating 3rd party gateways for payment processing, e-mails, and SMS.

    Dec 2019 - Jan 2020

    Education

    Jaypee University of Engineering and Technology

    Bachelor of Technology
    Computer Science & Engineering

    CGPA: 7.7 ( Till 6th Sem )

    July 2017 - July 2021

    Jay Jyoti School

    Higher Secondary

    Score: 79.6%

    March 2016 - March 2017

    Skills

    Programming Languages & Tools
    • Python | Django Framework | Django ORM | REST API Development
    • C++ | Data Structures and Algorithms in C++
    • HTML | CSS | JS ( Beginner ) | React ( Beginner )
    • Linux ( Ubuntu Distribution ) & Git ( distributed version control system ) and Github

    Area of Interest/Proficiency
    • Object Oriented Programming
    • Database management system
    • Computer networks
    • Operation System
    • Data Structures and Algorithms

    Projects

    Ongoing Projects
    • Netcoin - Doing this project as my major project for the B.Tech. course, Netcoin is a Blockchain Based Cryptocurrency for the Simulation of real Cryptocurrency Transaction.
    • HashMail - Prototype build on the top of Django, to practice the concept and flow of encrypted mail transfer.

    Completed Projects
    • Elite CRM - Did this project as a freelancer for Elite works, a CRM Application for managing multiple projects and client.
    • KnowledgeBASE - Personal project for keeping track of Data structure problem solved and Algorithms implemented.
    • Tech-Talk - Blogging application while learning Django Framework having functionality to follow other users, liking and commenting on other's posts.
    • GeoLocation Modifier - Provide feature to add a CSV file with address, returns a downloadable file with langitute and lattitude for each address in uploaded CSV file using Google's Geolocation API.

    Achievements

    • Kodeathon 18.2 | 2018 - Secured 4th position in University level Kodeathon.
    • LOA | 2019 - Recieved Letter of appreciation from ISF club for being part of the club in the University.
    • UN Information Center, New Delhi | 2013 - Received an honorable mention in All India Essay writing competition.

    Clubs and Community

    • ISF - Worked as an event manager for Dextra-2018.
    • Mozilla - Volunteered for a year in the university as freshman (2017).

    Contacts

    • Email : pandeyroshan556@gmail.com
    • Phone | Whatsapp : +91-9752315423

    Across the web