×
Vignesh Sarma K

Vignesh Sarma K

Programmer

Bellandur, Bangalore, Karnataka, IN, 560103
+918147117997

Background


About

About

Currently working at Concur with their authentication/authorization team. I have about six plus years of working with backend systems, building REST APIs, working with cloud technologies, etc. in various environments and languages. In the future, I would like to work on scaling distributed systems. I am interested in trying out different languages and proficient to a varying degree in Clojure, Scala, Rust, Haskell, etc.

Work Experience

Work Experience

  • Software DeveloperSAP Concur

    Aug, 2015 - Present

    Concur lets you automate expenses from receipt to reimbursement. I have worked at modernizing the authentication/authorization backends for concur and porting them from Classic ASP/C# stack to a Clojure one. Along the way splitting it into multiple independant services.

    • I am the only owner of a critical service that orchestrates authentication, handling about 40k requests per minute at peak.

    • Re-implemented HMAC based login in Clojure keeping backward compatibility and transitioned over to the new stack without downtime.

    • Redesigned Login Events system, migrating the data(500GB+) from the primary database(SQLServer) to Hadoop, Elasticsearch, and Mysql. Here Hadoop will be used for report generation and analytics while MySql for more immediate requirements.

    • Hadoop/Spark along with Scala was used to redesign authentication related reporting.

  • Software DeveloperRecruiterbox

    Mar, 2012 - May, 20153 years 1 month

    Recruiterbox is the easiest way to receive and manage job applications for your company. I have worked in almost all parts of the application from Frontend - Backbone, admin interface, analytics, automating workers, writing modular Django/Python code, identifying bottlenecks in Databases, server automation and optimizing SQL.

    • Developed a communication manager module which manages all the communication threads and their replies via email.

    • Built a system that parallelizes all tests during a build using the previous test reports, and distributes it across multiple containers to optimize execution time.

    • Automated parts of the infrastructure to spin up servers on demand. Which handles the load at peak time.

    • Developed a wrapper around celery (www.celeryproject.org) which sends a failed task to respective error queues, which can be re-processed.

    • Built a library which converts a user search query into a django-haystack (search library) query - https://github.com/Aplopio/haystack-queryparser

    • Set up Selenium Page objects to be used in selenium test cases. Page objects are just DOM elements wrapped into Python¬≠selenium objects (with business names) which were used in the test cases for interaction. They also allow you to lazy load elements to improve the reliability of these tests.

  • Software DeveloperInstamojo

    Jun, 2015 - Aug, 20152 months

    Instamojo is a Payment Gateway for Businesses in India. I worked with the backend team mainly using Python, Django, PostgresSQL etc.

    • Built a back-end service to integrate with mobile app and store and the data it sends.

    • Built third party integration from main service to other services like pipe-drive.

Skills

Skills

  • Languages
    PythonJavascriptClojureRustHaskell
  • Dev Ops
    PuppetSaltContinuous Integration
Education

Education

  • Computer Science and Engineering, Bachelor, Cochin University of Science and Technology

    Jul, 2008 - Mar, 2012

Volunteer Work

Volunteer Work

  • Developer, PSSI

    Oct, 2014 - Present

    A non-profit organization that promotes Python programming language in India with various activities and manages the annual PyCon India conference.

    • Helps manage most of the PSSI and in.pycon.org infrastructure.