Post Job Free

Resume

Sign in

Software Engineers

Location:
San Jose, CA
Salary:
200000
Posted:
January 05, 2021

Contact this candidate

Resume:

*** * *** **,

Unit – ***,

San Jose, CA *****.

adi648@r.postjobfree.com

408-***-****

Siddharth Ray

Education: Pennsylvania State University, University Park, PA. Master of Science, Computer Science and Engineering, May 2005. National Institute of Science & Technology, India. Bachelor of Engineering, Computer Science and Engineering, August 2001. Career Highlights

● Seasoned engineering leader with 15 years of experience in software development, architecture, managing teams and is focused on producing results for his team and company

(working on products bringing in multi-million dollars in revenue).

● Passion is developing personnel through coaching, empowerment, and hands on software development experience. Inspires his team through leading by example with clarity on teams shared goals.

● Have a track record of achievement and being recognized for the success brought to his customers and company.

● Has in depth experience and knowledge across a wide variety of software systems, including architecture, design and development.

● Founding member of the cloud computing team in Cisco, filed patent, work recognized as top 3 innovations in Cloud Computing in Cisco:

http://www.google.com/patents/US20150036480

● Involved in the core design and development of Azure controller (Apollo) for computation partitioning. The work has been featured in New York Times: http://bits.blogs.nytimes.com/2009/02/24/microsoft-studies-the-big-sleep/?_r=0

● Re-architected monolithic architecture into distributed shared disk architecture with fault tolerance, reliability and high availability.

● Designed and developed control plane (equivalent of SWARM, Mesos, Kubernetes) for managing containers across hundreds of machines taking into consideration various aspects like networking (IPAM, subnet, bridge network), image management, memory and CPU constraints, running a particular workload or application, multi-tenancy and distributed scheduling.

● Architected graphs representing clouds for both container and virtual machine developing a hyper converged compute platform. Designed and developed state machines for distributed system operations.

Technical Skills

Platforms: Unix, Linux, Solaris, Windows 2003/Vista, Windows 7/Windows Server 2008 R2, VxWorks 5.2 (Tornado), VMware vCenter, Amazon Web Services (ELB, EC2, S3, RDS), Redshift, CloudFormation, EC2 Container Service, AWS Lambda, Flume, Docker, Containers, Azure, Openstack, Spring Boot.

Languages: C#, Go, Java, C/C++, Node.js, LINQ, Python, Perl, CGI, HTML, IIS 7.0, Microsoft Solver Foundation, WCF, XML, XSD, HTML5, Terraform. Databases: MS SQL server, MS Access, Oracle 8.0/Developer 2000, NoSQL (MongoDB). Hardware: 8085, 8031, 8051, TMS320c5x, ARM Evaluator – 7T. Integrated Development Environment & Debuggers: Visual Studio, Eclipse, Source Insight, Kernel Debugger, IntelliJ IDEA, Sublime Text.

Network Protocols: GSM, GPRS, UMTS, TCP/IP, LAN, WAN, HTTP. Work Experience

Citrix Systems, Santa Clara (Software Architect for five different teams) Principal Software Engineer (DevOps, Cloud Platform)

(11/2018 – 03/2020)

CAS (Citrix Analytics Service: AI/ML platform)

- Worked on architecture and development of Kubeflow: Machine Learning platform for Citrix.

- Worked on running hyperparameter sweep for complex deep learning models spanning multiple pods across machines - massive parallel processing. SDWAN (Software Defined Wide Area Network)

- Worked on the SDWAN architecture along with network architecture of the whole system

(EKS, RDS, public and private subnets, route tables, NAT Gateway, internet gateway, VPC peering, IP address ranges, etc).Worked on running hyperparameter sweep for complex deep learning models spanning multiple pods across machines - massive parallel processing.

- Driving the whole Software Development Process for SDWAN.

- Disaster Recovery strategy for SDWAN - end to end, RTO (Real Time Objective), RPO

(Recovery Point Objective) and aspects of fault domains.

- Driving the re-architecture of SDWAN for COGS optimization (cost model) and working on designing and implementing parts of the architecture related to storage and ingress controller

(Application Load Balancer).

NGS (Network Gateway Service)

- Worked on ICA scaling for NGS involving multiple components in Azure PaaS and NGS code modifications.

- Worked on design and implementation of a Kubernetes cluster for NGS called NKS

(Netscaler Kubernetes Service) that is currently being used by the NGS team as a dev/test cluster. Design principles were taken from Citrix Kubernetes Service.

- Giving architectural guidance for the NGS product architecture on Kubernetes. KRS (Key Registration Service)

- Worked on the architecture for KRS deployment in AWS.

- Designed KRS to be in its own fault domain.

- Design and develop RDS (replicated across zones, backup of 7 days with logs being kept every 5 minutes) using Terraform.

- Worked on ICA scaling for NGS involving multiple components in Azure PaaS and NGS code modifications.

UCE (Unified Cloud Engineering)

- Design and develop Kubernetes PaaS for Citrix: As part of the core team of UCE worked on the design and development of Kubernetes PaaS for Citrix known as Citrix Kubernetes Service (CKS). Worked on the initial design and implementation of CKS that used to spin a Kubernetes cluster across 2 different zones within a region in Azure. Saphos (a Citrix product) was deployed on the CKS cluster.

- Kubernetes architecture, future direction for different flavors of Kubernetes adoption for Citrix: Worked on understanding Kubernetes Architecture including aspects of advanced networking, scheduling and shared knowledge sessions with other engineers, product managers, program managers and senior leadership of UCE and Citrix worldwide.

- Making Kubernetes production ready: Worked on different aspects like threat model for Kubernetes, monitoring, cluster deployment, Service Principal (SPN), etc to make Citrix's Kubernetes platform ready for other teams for consumption.

- Setting up network architecture for Kubernetes PAAS and other services: Network peering was done to connect Kubernetes clusters.

Adobe, San Jose

Software Architect (Senior Computer Scientist) (Creative Cloud Engineering)

(7/2017 – 8/2018)

- Worked with the Chief Architect to develop Azure Active Directory Federation Systems for customers to use Cloud for Named User Deployment.

- Developed services for Project Europa for bridging the gap for assets between Creative Cloud and Adobe Experience Manager (AEM) – search and sort functionality, writing queries and working with AEM collections.

Software Architect (Consultant) (Various Series A-E startups and Fortune 500 companies)

(Mercedes, Moogsoft, Cisco, Mosaixsoft, Ericsson, Apcera, Fractal Sciences)

(8/2014 – 7/2017)

- Designed and developed REST based systems for comparing virtual machine vs container scaling.

- Designed and developed IoT gateway for integration with Samsung home automation system.

- Designed a computation partitioning system for running part of the application on the headunit of the car and the rest on the cloud.

- Collaborated on Amazon Elastic Container Service based container system for customer trials.

- Architected SAAS deployment of On-Prem product deployment – Database and EC2 instance monitoring, clock synchronization, sensu deployment, load balancers, discussion about microservices architecture.

- Designed queries and dashboards to be run in the ELK stack for getting operational intelligence of the Video Media Recorder system.

- Designed and developed automated deployment of visualizations and dashboards for SaaS customers using Cisco’s Zeus system.

- Designed and developed a storage controller that gets the storage information of the system: root filesystem and all other disk drives in the system, their type - SSD vs HDD.

- Developed code to get information related to volumes and filesystems.

- Developed features (including logging) for accessing ZFS file systems: zpool and zvol.

- Developed code for provisioning of Logical Volume Manager (LVM): single disk, mirroring and RAID5 group.

- Designed docker underlay to work with the cloud controller.

- Designed and developed docker resolver for various operations on containers.

- Worked on using provisioning and removal of Docker containers with networking, subnets, image management, tenant, container stats and other features.

- Designed SWARM underlay to work with Docker container northbound API.

- Re-designed components of Taint based scheduling algorithm for running workloads on containers using parameters related to hardware faults (catastrophic) and error metrics of various other components.

- Designed and developed time interval based calculation of taint related to the ratio of containers with faults by total number of containers launched. Incorporated history based taint calculation in the scheduling algorithm for determining where to launch the next container.

- Incorporated feature flag fault tolerance model for introducing the scheduling algorithm in production.

- Injected failures in the cluster to do an end to end testing of the behavior of the scheduling algorithm.

- Managing a team of 14 engineers, backend and frontend.

- Re-architected the monolithic architecture to distributed shared disk architecture - Java.

- Design of Pixel system for generating Key Performance Indicators (KPI) for digital advertisement platform using Redshift, Massively Parallel Processing Datawarehouse - Flume middle tier.

Nokia, Sunnyvale

Principal Software Engineer (CTO Group, Mobile & Cloud Computing)

(2013 – 2014)

- Designed and developed IoT (Internet of Things) server backend infrastructure using web sockets and deployed on Amazon Web Services.

- Set up a web server, secure login, developed data access layer supporting CRUD operations for the master database for building the state of the system and supporting operations for other devices like hubs, mobile phones for device diagnostics and remote device management via the Cloud.

- Setup distributed log gathering using rsyslog, running analytics on MySQL database for various KPI of the systems like calculating stability factor for network connection (BTLE) to the cloud and the network response time.

- Designed and developed Action Engine Server in the Cloud where rules are fed data points from various endpoints - mobile devices, hubs, sensors - and based on the outcome of the data driven processing, different actions are triggered. The data is distributed in nature with the action engine being loosely coupled.

- Designed and developed grains of execution for the Action Engine where different execution grains can be instantiated for different kinds of actions that need to be executed. EMC, Menlo Park

Senior Software Engineer (Live Mesh, Cloud Computing)

(2012 – 2013)

- Synchronization of large scale distributed systems in the cloud.

- Designed hierarchically tiered Complex Event Processing (CEP) engines for big data analytics.

Cisco Systems, San Jose

Senior Software Engineer (Software Engineer IV, Founding Member) (Cloud Computing)

(10/2010 – 2012)

- Designed and developed features for “Cloud Bursting”.

- Designed and developed features for the compute and network virtualization, in C++.

- Filed a patent, “A policy-driven automatic redundant fabric placement mechanism for virtual data centers”.

- Filed a patent, “Dynamic Computation Partitioning in Multicore Servers in Large Scale Distributed Systems (Cloud Computing)”.

- Designed and prototyped a scheduling algorithm for virtual machine placement in OpenStack

(NOVA scheduler).

- Designed and developed features of Resource Manager, Virtual Machine Manager and Service Registry in Virtual Network Management Center.

- Designed and developed placement algorithm for placing a Virtual Data Center into actual physical nodes represented as a graph.

- Cisco Internal Networkers Conference: Policy-based Redundant Fabric Placement for Virtual Data Centers, featured in the CEC – Cisco’s internal site. Microsoft Research/VIS, Redmond

Software Consultant (Cloud Computing Futures)

(9/2009 – 4/2010, 4/2009 – 7/2009)

- Designed and developed Complex Event Processing (StreamInsight) explicit server for processing Windows Management Instrumentation (WMI) data from nodes of datacenter, in C#.

- Designed and developed scheduling algorithms for scheduling computations in large scale distributed systems - Azure Scheduler.

- Designed and developed the heuristic and optimization framework algorithms for the tier splitting decision, in C#.

- Designed and developed Tier Splitting decision engine for processing data from complex event processing engine and Intelligent Memory Agent (IMA) client. Used HttpHandler and message pipes for communication from the IMA client to the tier splitting decision engine, in C#.

- Designed and developed scalable infrastructure (multi-threading) for translation bot using MSN protocol, in C#.

- Performance and stress testing in a distributed environment of Machine Translation servers, in C#.

Microsoft Corporation, Redmond

Software Design Engineer (Windows Core Operating System)

(8/2005 – 2/2009)

- Involved in the designing of software stack for Home Automation in Windows 7.

- Kernel debugging of memory related errors for XOPC – Dealt with complex operating system paging and memory management issues for resolving bugs related to SD card for XOPCs, in C/C++.

- Designed and developed the setup process for Classmate PC and XOPC as part of the incubation for targeting small PCs for emerging markets using C# and DOS scripts.

- Designed and developed Code Injector for tuning the setup process for SD booting for XOPC in C#.NET.

- Part of the virtual team for designing a business plan, “SMS and Emerging Markets” for incubation under Ray Ozzie (Chief Software Architect, Microsoft Corp.).

- Designed and developed trace replay engine (multi-threaded playback engine in C#) in BigTable framework for replaying traces of MSN storage as part of the highly available and scalable CloudDB (VLDB – Very Large DataBase) for Windows Live Services.

- Automated distributed setup and deployment of Distributed Job Framework (Windows Test Technologies) for CloudDB in Python and C#.NET.

- Creating jobs for running Fabric Tests to test ring formation between Cloud nodes.

- Involvement in the complete life cycle of a prop as part of the process of releasing security updates for protecting operating systems from vulnerabilities.

- Planning strategies for test plans and test cases as part of the release process of security updates for operating systems.

- Designed and developed a software application “Patch Uninstaller” for uninstalling patches from products of a machine, using C/C++, Windows installer API’s (backend) and Microsoft Foundation Classes (frontend), Win32.

- Developed code to automate the running of the inventory tool as part of the complete automation of detection testing of Office Update, Microsoft Update and Automatic Updates.

- Developed a suite of test cases to test the APIs of the framework of the OFFSET tool as part of testing the Office suite.

Research Experience

- Designed and developed an efficient data layout scheme using grouping of attributes in deep memory hierarchies like the main memory and cache for efficient query processing (Master’s thesis), using C++.

- Designed and implemented an algorithm for mitigating routing misbehavior for detection and isolation of misbehaving nodes in an ad hoc environment, using Glomosim, using C++.

- Developed a multiway chat server for a distributed system using socket programming and multithreading, using C/C++.

- Developed a sequentially consistent distributed file system used for sharing files in a distributed environment, using C/C++.

- Developed a user level thread library for Solaris, for running multithreaded applications, using C/C++.

- Developed a genetic algorithm user interface for the design and layout of VLSI circuits, using C/C++ (for the compaction of macro cells).

- Simulated large circuit testing using Path Oriented Decision Making (PODEM) algorithm for detecting faults in large scale integrated circuits, using C/C++.

- Simulated horizontal microprogramming for Reduced Instruction Set Computer (RISC) instruction set, using C/C++.

- Developed an algorithm for identification of Orthologous Groups for Arabidopsis and Rice genomes (OrthoMCL), using Perl.

- Designed and developed a genetic algorithm for finding sub-optimal solutions for the traveling salesman problem, using C/C++.

Publications

● Technical Paper Presentation (Topic - Genetic algorithms for the Design and Layout of VLSI Circuits) conducted by the Indian Society of Technical Education (ISTE) – published in ISTE journal August 2000 – Awarded best technical paper.

● Developed a genetic algorithm user interface that won 3rd Prize in an Intra College graphics competition with 240 participants.



Contact this candidate