React Native Architect2019 - 2019React Native at Startup [via Toptal]
Technologies: React Native, Expo, GraphQL, Apollo, Redux, Reanimated library, AWS Cognito, App sync, Responsive Styles, E-style Theme, Styled components, Custom native code, Bridge
- Moved ahead with Expo instead of custom code in React Native.
- Built the app from scratch in a short period of two months.
- Integrated with AWS Cognito for the login, and app sync and Apollo for getting the data from the server.
- Integrated E-style theme and customized styles to accommodate the responsive design for the mobile.
- Integrated the push notification system using Expo push notification and Firebase.
- Wrote a separate navigation service component to avoid the passing of props deeper into the nested components.
Senior React Developer2019 - 2019React Developer at MNC [via Toptal]
Technologies: React, Redux, Redux thunk, Jest, Node.js, Nginx, React-Testing-Library, Docker, Typescript
- Set up the React codebase in Next.js and later migrated it to Create-React-App architecture.
- Added Typescript support and maintained the code with almost full type safety.
- Set up the authenticated route as HOC to only allow a user with a specific user role to access the resource on the frontend, and also wired it up with the back end.
- Added react-testing-library along with Jest to do end-to-end testing of the website.
- Set up the Tableau server and wired it up into a React component in the front end. Also, wrote a generic HOC to avoid rendering of a few components on the server-side.
- Optimized the rendering process and avoided multiple renders by using Redux and Redux-thunk. Led the front end team and set up the unit testing of the utils and helper classes.
- Added theme support onto the front end through which a user manager can set up a global theme for the company with just a few clicks.
- Containerized everything inside Docker and later deployed the system and server the frontend as the set of static bundle and files using Nginx.
React-native-web developer2018 - 2019EntraceZone [WNS]
Technologies: React-Native-Web, React-Native, React, Node.js, graphQL
- Architected the overall tech and tech stack needed to run the company's internal dashboard (done in React-Native) on the web.
- Wrote mocks for various React-Native libraries including React-Native-Firebase, React-Native-Modal, React-Native-Permissions, React-Native-Touch-ID, and React-Native-Config.
- Added a setup for the navigation to work smoothly on the web. Since the app was already using React-Navigation extensively, it wasn't a great idea to switch to React-Router-Native and React-Router-Dom as it would've also affected the app code which was to be avoided. Wrote the derivative/mock of React-Navigation to work on both web and app.
- Wrote mocks for various custom components to make the same component work on both app and web with least modification possible.
- Dug deeper into the React-Native libraries and wrote an intelligent script to switch to different versions of libraries based on the platform.
- Helped the team optimize the bundle size by adding plugins, modifying the code structure, and writing derivate components for different platforms.
- Set up the nginx, Docker, and the node server to serve the React-Native-Web website in production.
Full stack Developer (React and React-Native)2018 - 2018Paragonone
Technologies: React.js, React-Native, Redux, Redux-Thunk, Jest, Node.js
- Built the React-Native app from scratch in three months.
- Implemented the search functionality by adding Elastic-search in the back end.
- Used Firebase and Expo.io for real-time content updates and app deployments.
- Created from scratch the admin portal in React in a period of 2 months.
- Added features like different user roles, bulk content uploads, notification panel, manage users, etc. in the admin portal.
Angular developer2017 - 2018Money View
Technologies: angular, scss, ngrx, webpack, node
- Led a time to build the Money lending platform in Angular, integrated webpack, and server side rendering for a few SEO targeted pages.
- Integrated State management in Angular with Ngrx. Optimized it to avoid multiple re rendering issues and page lags.
- Made progressive web app for offline experience.
- Built admin website including custom Dashboard with drag and drop of elements in Angular.
- Integrated material UI and iterated over the design changes with the team.
- Wrote unit test with Jest and selenium for end to end testing.
- Integrated CI&CD pipelines.
Senior Team Lead2017 - 2018Internal Projects (WNS)
Technologies: NodeJS, Sequelize, Typescript, Postgres, Cassandra, Elastic Search, Blockchain, GraphQL, React
- Built User modules to provide CRUD operations on the role, user, team, organization, and in user modules in Node.js.
- Migrated user modules from SQL to Cassandra to handle horizontal scaling and distributed infrastructure.
- Integrated Elastic search to performs complex queries and searching with minimal response time.
- Developed a trading engine for crypto exchange to perform algorithm and rule-based trades that can be modified from the UI.
- Developed PUB-SUB models for Bitcoin, Ethereum, Ripple blockchains to provide accounting service for crypto exchange services.
- Extended Electrum and pywallet library to support HD wallet keys and derivation from path by using extended public keys.
- Converted a Rest API approached service to graphQL approached to boost front-end UI needs.
Lead Software Developer2016 - 2017Buffer
Technologies: Mysql, Postgres, RoR, NodeJS, Typescript, Kubernets, React
- Migrated single database to master slaves configuration to divert read extensive and ETL query to slaves.
- Migrated VM based deployments to Kubernetes based deployments for better use of resources.
- Developed multiple CRM integrations in RoR for Buffer to streamline onboarding clients data migration into buffer Systems.
- Build a plugin for Chrome and Firefox for users to manage one click posts scheduling.
- Worked for their social media competitors tracking tools to capture tweets and posts matching keywords, This was supposed to be their 2nd main product.
Senior Software Developer2014 - 2016Booking.com (WNS)
Technologies: Perl, Nodejs, Express, Python, Numpy, Redis, Kafka,
- Worked with booking internal team to build Hotel Tracker with custom parameters to run various data model by data scientist.
- Extended the Hotel Tracker to show most visited hotels in the region.
- Extended Hotel Tracker to show the count of live views for hotels in the region. Scaled this system to match bookings peak traffic of 100 million hotel views per hour.
- Migrated the hotel category optimization algorithms from exponential time complexity to polynomial time complexity, which resulted in reduced AWS cost and execution times.
- Worked with booking internal team to perform A-B testing with hotel tracker to optimize the booking probability.
Senior Software Engineer2012 - 2014Headout
Technologies: Java, NodeJS, Express, Postgres, Docker, Jenkins, A-B Testing, Serverless
- Build an OAuth login system for Headout and integrated one-click login micro service using all the major social networks.
- Scaled APIs to handle up to 100,000 requests per minute. and Docker-based deployment for quick horizontal scaling.
- Migrated some async workers from VM based infrastructure to serverless infrastructure which effectively reduced the cost of AWS.
- Performed A-B testing both on front-end and back-end parts to analyze certain business parameters to increase profits.
- Refracted database operation with sequelize ORM, and tuned it which resulted in managing connection pools with almost 0 error and dropping connections.
Software Developer2009 - 2012Infosys
Technologies: Java, Python, Django, Tornado, Spring, Hibernate
- Worked on Django middleware to add an extra layer of authentication and security check for REST APIs.
- Refracted Java code to support Hibernate layer for secured database connection and querying.
- Utilized standalone Maven modules, for executing background jobs as microservice.
- Converted Rest APIs to Socket APIs for continuous streaming of data instead of long polling approaches.
- Bridged the layer between Java and Django services for inter-service communications.