Rizwan's History

July 2016 - Present (2 Years, 9 Months)

Principal Software Engineer-Back End

Redwood City, CA, US

OpenId Connect(OIDC) - SSO

OpenID Connect (OIDC) is an authentication protocol based on the OAuth 2.0 family of specifications and can be used for building Single Sign-On(SSO) integration using third party OIDC/Identity Providers like OKTA. I developed OIDC connector for Talentsky application. The OIDC connector can work with any third party OIDC provider. As part of this project, I tested support for OKTA OIDC and KeyCloak OIDC provider from RedHat. As a result of this support, users can sign in via an OIDC provider like Okta and launch Talentsky using a preconfigured application without having to re-enter credentials. As part of this project I had to gain in-depth understanding of OpenID Connect(OIDC) protocol as well as the different OIDC integration approaches. This work can act as a foundation for future Integration with third party Identity providers to support other security protocols like SAML and to enable Social Login.

Docker Infrastructure

Docker enables creation of repeatable development, build, test, and demo environments at the click of a button and thus provides tremendous agility and productivity gains for developers. Docker enables isolated environment for separate applications running completely different stacks and can dramatically reduce infrastructure resources needed to support different isolated environments. I created the docker infrastructure for software stack used by the Talentsky Platform. Docker containers are now possible for the following components : Couchbase, Elasticsearch, Backend Platform and the Front End Platform. Currently, the docker containers are being used for creating isolated environments for the following : - Demo environment - Sand Box environment for Customers - Elasticsearch Migration - Developer environment The current infrastructure will serve as a base for potentially more docker related use cases in future.

AWS API Gateway Prototype

Built a prototype to expose Talentsky APIs via Amazon API Gateway. Evaluated various features including API Gateway configuration, concurrency, traffic management, access control, API version management, API Metrics, API monitoring and API logging. As part of this effort I looked into the following AWS products : API Gateway, Cloudwatch, Lambda, IAM, Elastic Container service and performed the following tasks: - API Gateway configuration for API creation and deployment. - API key configuration - Cloudwatch integration for API Gateway Logs - Streaming CloudWatch Logs Data to Amazon Elasticsearch Service - Customizing API Gateway logs by customizing the NodeJs AWS Lambda function - Demonstrated that we can use Elasticsearch to query basic API metrics like who accessed the API, when was the API accessed and how many times the API was accessed. Additionally, the logging customization enabled the use of message filters when performing API metrics queries.

Talentsky Feed Framework and GetStream Integration

Researched and integrated GetStream as the Talentsky Feed Service Provider. Collaborated with GetStream team for various aspects of GetStream integration with Talentsky. Co-architected Talentsky backend Feed architecture. Worked on basic backend infrastructure for producing, error recovery and presentation of feed activities.

Elasticsearch Data Migration

I created a reusable setup that can be used to migrate data from Elasticsearch 1.7 instance to Elasticsearch 2.x instance. The project enabled us to analyze data on Elasticsearch 1.7 instance using Elasticsearch 2.x features not available in Elasticsearch 1.7. The project involved coming up with a migration strategy by understanding the Elasticsearch mapping changes needed to migrate Elasticsearch 1.7 data to Elastic search 2.x. The migration was executed using a node based tool named Elastic-dump. The reusable setup was created using Docker. Worked with Data Science group and provided ongoing support for migration setup and Elasticsearch queries to query the Elasticsearch data. Setup a cron job to automatically run daily Elaticsearch migration. Create a Jenkins Job to trigger the migration as needed.

February 2015 - June 2016 (1 Year, 5 Months)

Founder

Santa Clara, CA, US

December 2009 - January 2015 (5 Years, 2 Months)

Senior Architect

Palo Alto, CA, US

July 2012 - January 2015 (2 Years, 7 Months)

Architect

Palo Alto, CA, US

December 2009 - June 2012 (2 Years, 7 Months)

June 2004 - November 2009 (5 Years, 6 Months)

Senior Consultant

Palo Alto, CA, US

December 2002 - December 2004 (2 Years, 1 Month)

Technology Consultant

Palo Alto, CA, US

August 2002 - November 2004 (2 Years, 4 Months)

Software Engineer

Palo Alto, CA, US

July 1999 - July 2000 (1 Year, 1 Month)

Software Engineer

Pune, Maharashtra, India

August 1995 - May 1999 (3 Years, 10 Months)

B.Tech, Metallurgical Engineering and Materials Science

Mumbai, Maharashtra, India