UI Architect

Building enterprise web applications with full-stack expertise.

UI Architect with 25 years of experience in design, development, and maintenance of enterprise web applications using TypeScript, JavaScript, HTML, CSS, Angular, RxJS, Redux, NgRx, Java, REST, ExtJS, ES5/6, Spring, JPA, and MySQL.

14+ years of full-stack experience in architecting and developing scalable and testable solutions under aggressive timelines.

Location Fremont, California
Visa Status H1B (EAD)
Suresh Nagar

About

UI Architect with 25 years of experience in design, development, and maintenance of enterprise web applications using TypeScript, JavaScript, HTML, CSS, Angular, RxJS, Redux, NgRx, Java, REST, ExtJS, ES5/6, Spring, JPA, and MySQL.

14+ years of full-stack experience in architecting and developing scalable and testable solutions under aggressive timelines.

Resume

Education and professional experience.

Education

1998 - 2001

Master of Computer Applications

University of Jammu, Jammu & Kashmir, India

Master of Computer Applications from University of Jammu. Gold Medalist of batch 1998-2001.

1995 - 1998

Bachelor of Commerce

University of Jammu, Jammu & Kashmir, India

Professional Experience

2016 - PRESENT

Staff Engineer II

VMware · Palo Alto, California

UI Architect and Lead Engineer for NSX Intelligence.

Other projects worked on

UI Architect and Lead developer for NSX-T on VMC (VMware on Cloud).

Lead developer for NSX Firewall UI.

NSX 6.4.1 HTML5 UI
2013 - 2016

Principal Software Engineer

Nexant Inc · Foster City, California

UI Architect and Lead Engineer for DSM Central iEnergy Solutions.

2005 - 2012

Senior Technical Manager

Infosys Ltd · Chandigarh, India

Senior Technical Manager for Finacle Banking Solution (Edgeverve).

2003 - 2005

Member Software Development Group

Quark Software Inc · Chandigarh, India

Senior Software Engineer in Quark Publication Manager.

2001 - 2003

Senior Software Engineer

Aithent Inc · Gurugram, India

Senior Software Engineer involved in development and implementation of SBS (State Based System).

NPM Libraries

Selected libraries published on npm.

ngx-mousetrap

Angular

A convenient Angular wrapper over the mousetrap library to hide complexity and expose Angular Directives and Services.

View on npm →

stack-source-mapper

Tooling

Production exception stack traces are often non-readable as source maps are not bundled with the app. This library can translate a production stack to a meaningful stack using offline or hidden source maps.

View on npm →

rxify-webworker

RxJS

An RxJS library to communicate with WebWorkers using Observables and hide all the complexities of dealing with worker postMessaging.

View on npm →

Articles

Writing on Angular, RxJS, and UI development.

Multiple Undo using NgRx

NgRx

An article about implementing multiple undo functionality in UI. Using metaReducers to maintain a stack of previous NgRx states to enable multiple state undos.

Read on Medium →

WebWorker Communication using RxJS

RxJS

An article about communication with web workers using RxJS. A conventional way of communicating with web workers is using postMessage, which is difficult to manage. This article explains how to expose a worker as an RxJS Subject.

Read on Medium →

Handling keyboard shortcuts in Angular

Angular

How to handle and implement keyboard shortcuts and hotkeys in Angular. This article explains how to angularize the popular library "mousetrap" and hide the complexity of event binding under Angular Directives.

Read on Medium →

GitHub Projects

Selected projects across Angular, RxJS, React, and ExtJS.

Angular

Angular + ThreeJS

Angular + ThreeJS

Various ThreeJS examples with Angular and TypeScript.

Angular, ThreeJS, RxJS, TypeScript

Clarity Tooltip Structural Directive

Structural Directive over VMware Clarity Tooltip

An Angular structural directive wraps VMware Clarity Tooltip component to add tooltip on any element without boilerplate.

Angular, Clarity, TypeScript

NgRx Multiple Undos

NgRx Multiple Undos

Implementing multiple undos using NgRx meta reducers.

Angular, NgRx, Clarity, TypeScript

ngx-mousetrap

ngx-mousetrap

An Angular wrapper over the famous mousetrap library to expose it as Angular Directives and Service.

Angular, mousetrap, RxJS

Scrolling Tab Container

Scrolling Tab Container

A scrolling tab container where overflow tabs scroll in the header rather than getting cut off or displayed in a dropdown menu.

Angular, TypeScript

Configuration Driven Data Grid

Configuration Driven Data Grid

A configuration-based data grid built on top of VMware Clarity Datagrid.

Angular, Clarity, TypeScript

RxJS

RxJS Webworker Communication

RxJS Webworker Communication

An RxJS library over webworker to hide complexities of post messaging and exposing webworker as Observable.

RxJS, TypeScript, WebWorker

Interframe communication using RxJS

Interframe communication using RxJS

Communication channel in multiple frames using RxJS. A wrapper over native window post messaging API.

RxJS, JavaScript

React

Guessword Game

Guessword Game

A game to guess a system chosen word in 15 attempts.

React, JavaScript

Playnine Game

Playnine Game

A game to match the system chosen number with a given set of numbers.

React, JavaScript

ExtJS

Loading Angular Module inside ExtJS Application

Loading multiple Angular modules in ExtJS Application.

ExtJS, JavaScript

ExtJS Typeahead plugin for TextArea

ExtJS Typeahead plugin for TextArea

A typeahead plugin in ExtJS for a text area where suggestions can be provided at any location.

ExtJS, JavaScript