
Ashish Sehra
Verified Expert in Engineering
Software Developer
Gurugram, India
Toptal member since August 22, 2022
Ashish is a software consultant with over 14 years of experience. He firmly believes in the agile philosophy of delivering valuable software via close collaboration with stakeholders from inception to implementation. Ashish is a polyglot developer who embraces new tech stacks and ecosystems and has proven expertise in cloud-native applications and platforms. He's also adept with the modern tools and techniques of delivering software, such as TDD, automation via CI/CD, and observability.
Portfolio
Experience
- Test-driven Development (TDD) - 12 years
- Pair Programming - 12 years
- Ruby - 10 years
- Go - 6 years
- Docker - 6 years
- CI/CD Pipelines - 6 years
- Python - 4 years
- Kubernetes - 3 years
Availability
Preferred Environment
MacOS, Linux, Ruby, Go, Python, Test-driven Development (TDD), Pair Programming, Kanban, Extreme Programming
The most amazing...
...back-end system that I've built was the search system rewrite for Checkatrade.com; it ran twice as fast for 95% of visitors.
Work Experience
Senior Consulting Engineer
Armakuni
- Worked with a public sector client for the cloud-native transformation of the data engineering team while helping them build proof-of-concept data pipelines in Azure Cloud.
- Worked with several teams in a large investment company, including training their on-premise SMEs from varied specialties, e.g., networking and databases, and modern software development practices (IaC, CI/CD pipelines, and TDD).
- Deployed, as part of the PaaS delivery team, multiple Cloud Foundry installations on AWS, Google Cloud, and vSphere for two major banking clients.
- Introduced better visibility practices that clarified the work in progress and the scope of work. Example: ensuring stories were written so that the acceptance criteria were not ambiguous.
- Automated the operations team's day-to-day manual workload, cutting down upgrade timelines from weeks to hours and reducing the overhead of maintaining error-prone runbooks.
- Collaborated with information security departments to ensure systems' compliance with their guidelines.
- Ran workshops to introduce client teams to several concepts, including CI/CD and test-driven development (TDD).
- Helped our hiring process by conducting screening and pair-programming interviews with potential candidates. Assisted the clients' hiring processes.
- Provided tech leadership in client teams to ensure they stayed on course for delivery while acquiring new skills as part of our engagements.
Software Engineer (Contract)
Thought Machine
- Built a tool to sync content between a learning management system (LMS) and learning content provider APIs.
- Created an easy-to-use dashboard in React that synced the two systems once the learning team curated the content.
- Leveraged the in-house mono-repo release pipelines to launch the app on Kubernetes clusters.
Software Engineering Consultant (Contract)
Checkatrade
- Rewrote the directory search system from scratch, which resulted in the new search system becoming more than twice as fast for 95% of traffic.
- Built the data services required by the brand-new consumer experience site as cloud-native apps; this included collaborating with several teams and introducing testable API contracts to keep all parties aligned on every code commit.
- Advised the infrastructure team on how they could improve their offering to make the experience of launching new microservices seamless. The recommendations reduced the launch time from a few days to a few hours.
- Ran performance tests before the launch to ensure that the service would be able to handle the expected load.
- Performed the tech lead duties by supporting my team in breaking down complicated system requirements and providing technical direction to make delivery possible.
Cloud Engineering Consultant (Contract)
Fidelity International
- Did hands-on development of the new cloud delivery pipeline design.
- Introduced practices to break complex architecture into simple deliverable items leading to an improved team-wide understanding of the problem.
- Worked on-site with team members both in London and in Gurugram (India) and ensured better collaboration and knowledge sharing across locations.
- Trained fellow team members in modern development practices such as serverless technologies, infrastructure-as-code, test-driven-development, continuous deployment, and containerized builds.
Senior Full-stack Developer
Not On the High Street
- Worked on the consumer team that maintained the product page, which was the busiest part of the retail website.
- Contributed to the ongoing re-architecture of the app from a monolith to microservices; also helped to identify the independent components that could be extracted.
- Played the lead role in the consumer team while gathering requirements from the business and communicating technical details to the team.
- Performed code reviews and presented several feature demonstrations to both technical and non-technical stakeholders.
- Collaborated with other teams that integrated with our product via APIs and ensured that the API contracts were agreed upon and understood between us.
Software Developer (Contract)
Sky UK
- Handled the end-to-end engineering and support of several microservices built in Ruby and JavaScript for managing customer account subscriptions.
- Built responsive UIs in Angular and React that would work in a browser and the mobile application.
- Helped create a custom asset pipeline for a Ruby-based app that rendered server-side React components.
- Extracted gems and frameworks from repeatable patterns that could be reused in Sky’s engineering ecosystem. This reduced overhead when starting new microservices.
- Engaged continuously with business stakeholders throughout the process of capturing requirements, analyzing business and user stories, and seeing them through to delivery.
- Built a framework for A/B testing to allow experimentation that would help the decision-making process when brainstorming new offerings.
- Collaborated with the data-and-insights teams to integrate analytics tools and generate dashboards.
- Performed cross-browser testing of several apps via BrowserStack both in local and production environments.
- Managed the build and deployment setup for production releases via TeamCity and application monitoring via New Relic.
- Assisted with interviewing and recruiting new developers for the team.
Full-stack Engineer
Qupper
- Built full-stack applications for the course-authoring system. The stack comprised back-end APIs in Grape and MongoDB and a responsive front-end in Backbone.js with Bootstrap for the layout.
- Authored RubyGems to extract shared concerns, e.g., the authentication logic for the Rails API was extracted to a Rails engine so that it could easily be added to multiple APIs.
- Contributed to developing a styling library built on Bootstrap 3 that provides uniform styles and several UI components used across various Quipper systems.
- Worked closely with the design team on a front-end UI makeover that resulted in a polished new responsive layout for the online classrooms web application.
Experience
Checkatrade.com
During my engagement, we rewrote the website's consumer-facing pages that allow people to search for services in their locality and browse service providers' profiles. The new search system was much faster than the old system. In addition, all the APIs were thoroughly tested via end-to-end integration tests, contract tests, code-coverage tests, and hundreds of unit tests. As a result, the team was extremely confident in making changes to the codebase since many faults were discovered before we tried to deploy the app.
Along with the code best practices, we put a lot of emphasis on release automation. Any changes we merged into the main branch would automatically get their own integration and staging environments, allowing customer representatives like the product owner and QA teams to verify and accept the stories. The changes could be deployed to the production environments via pipelines upon approval.
Cloud Platform Release Engineering
We built a release engineering team to manage all their clusters via code. This included setting up the clusters using standard tools like Terraform but also modeled the entire upgrade and maintenance process into CI/CD pipelines. The pipelines ensured the system was fully tested and the upgrade process was as close to zero downtime as possible.
The engagement was focused on delivery as well as enablement. This meant that we created several workshops to up-skill the resident operations teams in both the technology toolchain as well as effective processes for fast flow and making work visible (eg, Kanban).
Pivotal Customer-zero Tools
The first one allowed reporting the health status of several key components of the Cloud Foundry system while the system was being upgraded. The tool would monitor the impact on the availability and reveal to the operators exactly what operations can still be performed during upgrades. This would help them plan their maintenance windows more efficiently.
The second tool was an audacious experiment allowing us to recover from a disaster scenario by restoring a backup and tracking the effect on mean-time-to-recover. We tried a few different recovery strategies, like spinning up a partial cluster and scavenging on data nodes of the old cluster.
Both the tools had an elaborate test suite containing unit and system integration tests.
Fidelity Cloud Operations
This radically changed the team's capacity to deliver and allowed them to work on design changes more confidently, as every change would be thoroughly tested before rolling out. We also visualized the build process via a building dashboard (lambda) that would show exactly how far a change has been rolled out, allowing us to report on delivery timelines more effectively.
The new design also ensured we used other serverless offerings rather than managing virtual machines, reducing the maintenance overhead like patching.
Customer Retention at Sky UK
We built several microservices for different customer journeys that allowed the marketing team to present customers with deals and offers to change their minds.
The microservices are integrated with several back-end APIs to present accurate information to appropriate customers. We built a CMS to allow modifying the deals and the content of user journeys. The front-end is integrated with analytics to build funnels, tracking the user activity and drop-off rates on various pages and providing insights into where we need to change the journey.
We built the ability to A/B test different experiences to experiment with variations in the UI and copyright content and assess if they would increase the uptake. The A/B testing framework would allow traffic partitioning so that only a small subset of visitors would experience a new variation.
Engineer Appointments at Sky UK
The front-end application was written test-first in AngularJS, and the back-end API was written using Sinatra. The back end would have to integrate with other systems like a SOAP API to determine engineer availability. The front end would render that in a calendar, making it easy for customers to confirm a suitable time.
The application would follow the build and release principles set out by the team, where both the front and back end were written test-first. The behavior was tested using Cucumber and BrowserStack to give confidence that the app works in different environments. The UI was integrated with the analytics libraries to track how easy a customer finds navigating the calendar UI.
Education
Masters's Degree in Advanced Computer Science
University of Manchester - Manchester, UK
Bachelor's Degree in Computer Science and Engineering
Manipal Institute of Technology - Manipal, India
Certifications
AWS Certified Solutions Architect Associate
AWS
Skills
Libraries/APIs
REST APIs, Node.js, React, Rack, jQuery, SQLAlchemy, Backbone.js, PhantomJS, Rails Engines, Gomega
Tools
Git, Terraform, Pytest, RSpec, Cucumber, TeamCity, Jenkins, Mesos, BrowserStack, Concourse CI, Mocha, Gulp
Languages
Ruby, Python, Go, JavaScript, SQL, TypeScript, CSS, HTML, Bash, Python 3
Frameworks
Ruby on Rails (RoR), Flask, Bootstrap, Sinatra, AngularJS, Ruby on Rails 4, GrapesJS, Redux, Selenium, Next.js, Koa
Paradigms
Agile, Test-driven Development (TDD), Pair Programming, DevOps, REST, Kanban, Extreme Programming, Microservices, Test-driven Deployment
Platforms
Docker, Amazon, Linux, Kubernetes, Amazon Web Services (AWS), Amazon EC2, MacOS, Azure, AWS Lambda, New Relic, Heroku, VMware Tanzu Application Service (TAS) (Pivotal Cloud Foundry (PCF)), Omniture
Storage
Databases, PostgreSQL, NoSQL, Amazon S3 (AWS S3), Elasticsearch, AWS CodeStar, MySQL, Redis, MongoDB
Other
Software Engineering, CI/CD Pipelines, Back-end, Back-end Development, APIs, Ruby Gems, Web Development, Full-stack, Full-stack Development, Algorithms, Data Structures, Operating Systems, Software Design, Software Architecture, Architecture, Leadership, API Integration, Legacy Code, Legacy Software, Technical Leadership, Cloud Foundry, Prometheus, A/B Testing, Front-end, AWS CodePipeline, Learning Management Systems (LMS), SOAP, Amazon RDS
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring