Madhuri Ravindra Mohan, Software Developer in Toronto, ON, Canada
Madhuri Ravindra Mohan

Software Developer in Toronto, ON, Canada

Member since February 23, 2020
Madhuri is a software engineer with six years of experience as a team lead or individual contributor. Examples of her diverse projects include developing file readers for composite parts of an airplane wing and building an authentication microservice. Her love for algorithms and mathematics motivated her to pursue a master's degree in theoretical computer science and focus on graph problems and solutions for her thesis. Madhuri enjoys interacting and learning new things.
Madhuri is now available for hire

Portfolio

Experience

Location

Toronto, ON, Canada

Availability

Part-time

Preferred Environment

IntelliJ, Git, Java

The most amazing...

...experience I've had was analyzing the load on a microservice, learning the basics of Scala, and developing its entire load testing framework in just two weeks.

Employment

  • Software Engineer

    2017 - 2019
    VMware
    • Developed REST APIs to access and store user entitlement details in a database, focusing on caching for performance, encryption for confidential data, hashing for passwords, and versioning for backward compatibility.
    • Served as the key developer for an Okta-VMware partnership project and developed endpoints to support launching the Okta apps through Workspace ONE.
    • Designed and developed a microservice that provides authentication/authorization features based on OAuth 2.0 and OIDC protocols. I built the infrastructure using AWS and the deployment pipeline using Jenkins.
    • Worked on several features and bugs related to reading/writing SAML requests and responses.
    • Organized bimonthly scrum meetings to divide projects into sprints and performed retrospectives on their execution at the end of each sprint.
    • Performed continuous monitoring with on-call duty. The product was a SaaS application with a high SLA. The tools used were AWS CloudWatch, AWS Management Console, PagerDuty, and Slack.
    • Understood the load on the service to perform horizontal and vertical scaling of EC2 servers as required.
    Technologies: Java, AWS, Git, IntelliJ, Hibernate, PostgreSQL, MySQL, Liquibase, Jenkins, Jira, JUnit, TestNG
  • Teaching Assistant

    2015 - 2017
    Indian Institute of Technology Madras
    • Served as a teaching assistant for key computer science courses such as Principles of Software Engineering, Discrete Mathematics, Automata Theory and Logic, and Combinatorics.
    • Guided and mentored students as they built their first software projects across a semester. I held weekly office hours to help students understand concepts and clarify their doubts.
    • Evaluated and graded the students through tests and examinations. I interacted with low-performing students to understand their issues and discussed the feedback with faculty.
    Technologies: LaTeX
  • Team Lead

    2014 - 2015
    Altair India Engineering Private Limited
    • Developed features based on requirements from customers in the aerospace and shipping industry. These features required full-stack development.
    • Implemented the UI using Tcl/Tk, and the back-end API was in C++. An extensive set of automation tests were written for each new API.
    • Designed visualization tools to graphically display entities such as nodes, edges, loads, forces, directions, and connectors.
    • Trained new team members and interns on the product and supported them on their projects.
    Technologies: C++, Tcl/Tk, Perforce, FEM
  • Software Engineer

    2011 - 2014
    Altair India Engineering Private Limited
    • Supported FiberSim and HyperMesh interoperability using HDF5 files.
    • Built an Excel and CSV file reader and writer using C++ for data exchange between HyperMesh and CATIA.
    • Developed build verification tests using Tcl, an extensive test suite to catch regressions after a new feature is added to software.
    • Tracked and fixed numerous bugs in HyperMesh software.
    Technologies: C++, Tcl/Tk, Perforce, FEM

Experience

  • Step-up the Authentication Dynamically (Development)

    I developed an enhancement feature during an internal hackathon challenge at VMware. The tool analyzes the risk of a login based on various factors such as location, device, and failed login attempts. For a given risk score, administrators can decide which authentication modes (i.e., password, PIN, security question, RSA, or fingerprint) the user must be challenged with. The main idea behind the tool is learning the user's behavior by capturing data during each login and using this historical data to analyze if the user's latest login is risky or not. The tool was built using Java with Spring and a PostgreSQL database.

Skills

  • Languages

    Java, Java 8, C++, SAML, SQL, Tcl/Tk, Python, XML, HTML, Scala
  • Frameworks

    OAuth 2, Spring Boot, Hibernate, JUnit, TestNG, Mockito, Spring, Swagger
  • Tools

    Postman, Git, IntelliJ IDEA, Visual Studio, Maven, LaTeX, Atlassian Confluence, Jira, Perforce, Jenkins, Gatling Load Testing, AWS CloudFormation, AWS IAM, AWS CloudWatch, IntelliJ
  • Paradigms

    Agile Software Development, REST, Test-driven Development (TDD), Microservices, Scrum, Continuous Deployment, Continuous Integration (CI), Concurrent Programming
  • Other

    OpenID Connect (OIDC), Algorithms, OAuth, RESTful APIs, Complexity Theory, Discrete Mathematics, AWS, Continuous Monitoring, EhCache, Finite Element Method (FEM)
  • Libraries/APIs

    Liquibase, REST APIs
  • Platforms

    AWS EC2, Eclipse, PagerDuty, Docker
  • Storage

    AWS RDS, MySQL, PostgreSQL, Spring Data JPA, JSON, Memcached

Education

  • Master of Science degree in Computer Science and Engineering
    2015 - 2017
    Indian Institute of Technology Madras - Chennai, India
  • Bachelor of Engineering degree in Information Science and Engineering
    2007 - 2011
    Visvesvaraya Technological University - Belgaum, India

To view more profiles

Join Toptal
Share it with others