GEORGE. A

EMAIL: george@sourcelens.com.au

PROFESSIONAL SYNOPSIS

  • 16+ years of experience in Programming, C/C++ Compiler, .NET Framework, C#, Win32/Kernel, debugging Windows, Device Drivers, .NET framework debugging.
  • 10+ years of full time employment in Intel Security, Microsoft and Citrix prior to VMware.
  • Source code level understanding of .NET Framework, C# compiler, Windows Kernel, Win32 Subsystem, Citrix XenApp/ Presentation server, Citrix Xendesktop, VMware Horizon View, Intel Security Antivirus.
  • Extensive experience on .NET, Win32 and Windows System Programming, Design Patterns, Security, Networking, Cloud computing and Virtualization. 
  • Product Expertise on Visual Studio, Microsoft SDK, DDK, WDM, Vmware Horizon View, Citrix XenApp and Citrix XenDesktop.
  • Proven ability in Lead Engineering, software designing, coding, development, maintenance and testing of engineering applications.
  • Extensive programming skills in Windows environment both kernel mode and user mode with both managed and unmanaged code.
  • In-depth knowledge in C, C++, VC++, C#, Win32, COM/DCOM, Debugging tool for Windows, Kernel mode programming, .net Framework. 
  • Experienced in WCF, REST, WPF, ASP.NET, Python, Powershell, JQuery, HTML, CSS, JavaScript, MS SQL 2012, Windows Azure, Amazon Web Services (AWS).
  • Public Kernel training sample https://www.youtube.com/watch?v=nsWklEuhRmM
  • MSDN Blog https://blogs.msdn.microsoft.com/anandgeorge/

CERTIFICATIONS

  • MCTS – Window Internals
  • Citrix Certified Administrator for XenApp 5.0
  • Sun Certified Java Programmer for Java 2 Platform 1.4 (old SCJP).
  • Sun Certified Web Component Developer for Java 2 Platform 1.4. (old SCWCD).

SKILLS SUMMARY

OS/Products

Windows 10 and Server 2016 and below, Citrix XenApp, XenDesktop, Vmware Horizon View, Intel MOVE AntiVirus.

Languages

C, C++, VC++, C#, Java, Python, JavaScript, Powershell, HTML, CSS, Intel X86/x64 Assembly.

IDE/Tools/Profilers

Windbg, IDA pro Advanced, IDNA, Visual Studio 6 to 2017, Wireshark/Netmon, Sysinternals Tools, Rational Rose, Reflector, IL DASM, JetBrains dotTrace, Redgate ANTS, Son Of Strike .net debugger extension, Xperf.

Libraries

Win32, MFC, STL, ATL, COM, DCOM, WMI, .NET Framework, Winforms, WCF, WPF, ASP.NET, WDK, JQuery.

Networking

Excellent understanding of Networking fundamentals, like routing, switching, protocols like TCP, IP, UDP, DNS, DHCP, HTTP, ARP, ICMP, ARP. Working Knowledge with NDIS miniport driver development. Worked with Microsoft Remote procedure calls and related concepts like, End Point Mapper, Network data representation, Binding and Endpoints, EEInfo, Call, Connection, Association Objects. Underlying protocols like TCP, UDP, Named pipes over SMP etc. Working knowledge on Network Trace analysis with Wireshark on the protocols mentioned above.

Debugging

Strong understanding of Windows Internals and .net internals. Debugging User Mode/Kernel mode windows code with Windbg. Managed / Unmanaged debugging. Clear understanding of concepts like EBP call-chain 32 bit, X64 debugging, debugging with IDNA trace, debugging with SOS. Also good understanding of perf tools like xperf, Kernrate etc. Good understanding of kernel mode concepts like IRP, Interrupts, MDL, Kernel, Executive, IRQL, pools, bug check etc. Solid understanding of synchronization primitives and all kind of multithreading scenarios ( kernel mode and user mode ) Good understanding of .NET internals concepts like JIT compilation, GC, assemblies, modules, app-domains, method table, method descriptors, EEClass, syncblk, exception etc. Stack specific understanding of NDIS miniport.

Security

Good understanding of Digital Signatures, Symmetric and Asymmetric Cryptography. Understanding of windows security and related concept like User Tokens, SID, DACL, ACL, Privileges. Understanding of security protocols like NT Lan Manager, Kerberos, SSL. Block chains and related cryptocurrency concepts.

Databases

MS SQL 2012, SQL Lite, Versant, BerkelyDB.

Cloud Computing and Virtualization

Windows Azure, Amazon Web Services ( AWS ), Citrix Presentation Server, Citrix XenApp, Citrix XenDesktop, VMware Vsphere, VMware Horizon View.

SCM,Devops and Agile tools

Git, Jenkins, Jira, SVN, TFS, Bugzilla, Perforce, VSS, Msbuild, Teamciy, Octopus, Ansible, Docker.

EXPERIENCE  DETAILS

VMware Inc – Staff Engineer (Development) – May 2015 to Till Date.

Project

Vmware Horizon View - Display Redirection.

Description

A WDDM driver with it's User mode counterpart ( svgadevtap )which loads into PCoIP protocol server process.

Role

CPD Owner of WDDM kernel and user part of Display hook module.

Responsibility

Work in a Team of Size 8 as Lead Staff Engineer. Coding, Code Review, Working the last level of support engineers in the event of bug and provide workarounds to keep the production going. Work with, Nvidia, Intel and AMD to collaborate on their respective backend for corresponding Virtual graphics processor (Vgpu).

Environment

C, WDK, Windbg, Nvidia, Intel, AMD capture SDK.

Team size

8

Organization

Vmware Inc.

Project

Vmware Horizon View – Client Driver Redirection ( CDR ).

Description

This module redirects the VDI client side disk drives or directories to the Virtual Desktop.

Role

CPD Owner of CDR.

Responsibility

Work in a Team of Size 8 as Lead Staff Engineer. Coding, Code Review, Working the last level of support engineers in the event of bug and provide workarounds to keep the production going.

Environment

C, WDK, Windbg.

Team size

8

Organization

Vmware Inc.

Project

Vmware Horizon View – USB redirection.

Description

This module redirects the VDI client side disk drives or directories to the Virtual Desktop.

Role

CPD Owner of CDR.

Responsibility

Work in a Team of Size 8 as Lead Staff Engineer. Coding, Code Review, Working the last level of support engineers in the event of bug and provide workarounds to keep the production going.

Environment

C, WDK, Windbg.

Team size

8

Organization

Vmware Inc.

Non profit - Principal Volunteer and content contributor – SourceLens.org – Jan 2010 - till date.

Project

SourceLens Website – Non profit

Description

www.sourcelens.org is an initiative to provide free advanced education in Computer science and related subjects.

Role

Principal Volunteer and content contributor.

Responsibility

Lead Developer of the website and training content contributor.

Environment

C#, Asp.net, HTML, CSS, Javascript, JQuery.

Team size

3

Organization

Sourcelens.org.

 Primary IO (Start up) – Principal Software Engineer (Development Consultant windows kernel) – Nov 2014 to May 2015.

Project

CacheAdvance – Principal Software Development Consultant

Description

Disk Filter Driver which sits in the IO path of storage above disk and below windows volume manager. This driver is responsible for selective redirect the IO to SSD and make sure most of the IO goes to the SSD and not to the disk, thus enhancing the  IO performance.

Role

Feasibility Study, Proto Development, Design, Design review, Design approval.

Responsibility

Work in a Team of Size 10 as Principal Software Engineer and Architect. Implemented a transaction manager to make the state of the storage consistent even if there is an ungraceful shutdown while caching is happening. Convert inputs from program managers and stakeholders to productize-able architectural constructs. Development of proof of concept. Introduction of new features to the product.

Environment

C, WDK, Windbg, Debugging storage data corruption with Sysbench, FIO, Benchmark factory, MS SQL.

Team size

10

Organization

PrimaryIO – Start up based on SSD based disk caching.

Project

CacheAdvance – Principal Software Development Consultant - Application acceleration module – Patent pending.

Description

Application acceleration module for Microsoft SQL server. This is a python module which executes some unusual SQL query on the inbuilt system table in a MS SQL DB to understand what are the sectors in the disk where SQL server keeps the data of a particular table or database. It takes that information from SQL and feed to the disk filter driver which keeps frequently accessed tables into SSD storage. Thus making the pertinent data of SQL in SSD selectively.

Role

Feasibility Study, patent filing, Proto Development, Design and coding.

Responsibility

Work in a Team of Size 10 as Principal Software Engineer and Architect.

Environment

Python 2x and MS SQL 2008 and 2012

Team size

10

Organization

PrimaryIO – Start up based on SSD based disk caching.

Intel – Principal Engineer – Aug 2013 to Nov 2014.

Project

MOVE – Principal Engineer

Description

Core Design of the file system filter. Core design of the access protection filter.  Implementation Io-completion ports in the MOVE server. ( Patent pending )

Role

Feasibility Study, Proto Development, Design, Design review, Design approval.

Responsibility

Work in a Team of Size 7 as Principal Developer and Architect. Convert inputs from program managers to productize-able architectural constructs. Development of proof of concept. Introduction of new feature to the product.

Environment

C, C++ WDK, Win32, Windbg, Intel security internal scan engine Libs.

Team size

7

Organization

Intel.

Project

MOVE – Principal Engineer

Description

AWS based test framework development for Io-completion ports based MOVE server. Developed a highly elastic fully automated stress test module for MOVE AV stress testing of the newly developed IO completion port based Server.

Role

Feasibility Study, Proto Development, Design

Responsibility

Work in a Team of Size 7 as Principal Developer and Architect. Convert inputs from program managers to productize-able architectural constructs. Development of proof of concept. Introduction of new feature to the product.

Environment

C#, Powershell,ASP.net, AWS SDK for .NET

Team size

7

Organization

Intel.

Citrix Systems – Senior Software Engineer – July 2010 to Aug 2013

Project

Development Lead CDF Lens

Description

CDF Lens - is a tool to collect and analyze CDF trace from a XenApp ( Citrix Presentation server ) or XenDesktop. CDF lens is the upcoming version of CDF control and CDF analyzer which are the current tools towards the "Event Tracing for Windows" ( ETW ) based diagnostics framework for the majority of Citrix products which is running on windows.

Role

Feasibility Study, Proto Development, Design.

Responsibility

Worked in a Team of Size 5 as Lead Developer and Designer.

Environment

C#, .NET, Winforms ETW APIs ( user mode )

Team size

5

Organization

Citrix Systems.

Project

Xendesktop USB redirection client virtual function driver.

Description

Usb bus filter. Client side usb filter which intercept the usb requests to the windows usb bus driver. The filtered requests are sent via ICA network channel to the server side. Also the driver will change the usb vendor ID and device ID by changing the USB descriptors received from the devices with Citrix Vendor ID and device ID.

WDF, plug and play, bus drivers.

Role

Feasibility Study, Proto Development, Design.

Responsibility

Developer and Subject Matter expert.

Environment

KMDF, WDK, windbg, ETW

Team size

5

Organization

Citrix Systems.

Project

Virtual desktop agent USB bus driver

Description

Usb bus driver. On reception of the USB requests from the client side filter driver via network the bus driver will fake pdos and will take necessary pnp action to load the function drivers at the server side to create the virtual dev node. So all the device communication is redirected from the client to server and all the function driver communication is redirected from server to client via the bus driver.

WDF, plug and play, bus drivers.

Role

Dev Analysis Subject Matter expert.

Responsibility

Worked in a Team of Size 5 as Lead Developer and Designer.

Environment

KMDF, WDK, windbg, ETW

Team size

5

Organization

Citrix Systems.

Project

Continued or Sustained product engineering

Description

Responsible for the complete root cause analysis of a problem at developer level (3rd and final level ) recommend solution and fix for XenApp and XenDesktop. This includes but not limited to Code review, Dump analysis, live production debugging with windbg, system hang analysis, network trace analysis, CDF trace analysis, Perfmon, Procmon and other Sysinternal tools.

Role

Developer Analysis Engineer

Responsibility

Worked as Individual contributor in a ticket based CRM system. Conduct technical interviews and recruit employees toward technical verticals. Give in-depth and advanced technical training to Senior Developers and Senior Escalation Engineers. Mentor peers.

Environment

C, C++, C#, Windbg, core networking, wireshark, ICA, TCP/IP, Intel X86 and x64 assembly language, IDA pro, reverse engineering, .NET reflector, .net IL Disassembler, Windows kernel debugging, windows user mode debugging, WDK, SDK, KMDF and UMDF..

Team size

4

Organization

Citrix Systems.

Microsoft – Sofware Development SE – Jan 2008 – July 2010

Project

Common Language Runtime, .NET framework class Library, C# compiler, WCF, WWF, WPF and winforms.

Description

Developing sample code, helping on designs around .net, Resolving or fixing issues for Developers across the globe that are facing issues or looking for any help in programming with Microsoft .net platform. In the event if a customer is reporting a valid bug on the framework or one of it's class libs, analysis and recommend the fix and if possible workaround the problem for the customer. This also included responsibly of fixing Visual Studio issues like a Visual Studio Crash.

Role

.NET Common language Runtime support.

Responsibility

Worked in a Team of Size 4 as Sofware Development SE  -Coding, Development and issue fixing.

Environment

CLR, C#, WCF, WWF, WPF and Winforms, Windbg, Son of strike Extension for .NET, different profilers, reflector, ILDASM

Team size

4

Organization

Microsoft.

Project

Windows 7 File System Mini file and CreateProcess API Critical Fix

Description

All the antivirus software uses FsRtlRegisterFileSystemFilterCallbacks routine to register  PreAcquireForSectionSynchronization in the file system mini filter driver ( AV driver ) in Windows Vista and later. This callback function will get called when ever any binary is getting mapped to the address space by the memory manager. If the file is malicious the FS minifilter will return failure from the callback and that will ultimately fail the CreateProcess API from User mode. This was causing a handle leak in the calling process of CreateProcess API. I worked with 3 AV companies Symantec, Mcaffee, AVG - reproduced the issue, lived debugged CreateProcess API in kernel mode found out the root cause verified the fix with OS core kernel dev team and included the fix in SP1 of Window 7 RTM. This fix was highly visible inside and outside Microsoft and in the security community.

Role

Windows Kernel Driver development, File System mini filter Driver and support.

Responsibility

Worked in a Team of Size 3 as Senior Developer Support Engineer

Environment

Windows 7 CreateProcess API, FS Mini filter

Team size

Worked with Senior architects and windows core dev team as the issue had industry wide visibility and security implications.

Organization

Microsoft.

Project

Native Developer tools - C, C++ compiler, Windows SDK, WDK.

Description

Working as a Developer Support Engineer for Visual Studio, Windows SDK, DDK developer Support. Following is part of current role.

  1. Sample code development for customers for new APIs and programming constructs.
  2. Production debugging with debuggers like Windbg (User mode as well as Kernel mode).
  3. Reverse engineering of assembly code and .net IL code.
  4. Network trace analysis.
  5. Memory Dump analysis.
  6. Code Review.
  7. Design Review.
  8. Root cause analysis.
  9. Workaround / fix suggestion.

Support of Compilers of the following languages

  1. C,C++
  2. C#
  3. VB.net

Support of Common Language runtime

Support of DDK and WDK for India region.

Support of programming issues for the following languages

  1. C,C++,VC++.
  2. C#,
  3. VB.net

Support for the following Technology based on .net and native C++

  1. Win32.
  2. MFC,
  3. ATL
  4. COM

Following includes but not limited to the different classes of issues which I have handled in this role.

  • Live debugging and crash dump analysis.
  • Managed User mode issues such as
  1. .NET crash analysis.
  2. .NET memory leak.
  3. .NET process hang / slow / not working as expected.
  4. .NET cross appdomain security issues.
  5. CLR memory leak.
  6. .NET memory profiling.
  7. .NET CPU profiling.
  8. Jit Optimization issues.
  9. C# compiler optimization issues.
  10. Incorrect framework class library design.
  • Native user mode and kernel mode issues such as
  1. Analysis of issues like a hang or crash is in a live server,
  2. Handle leak,
  3. Memory leak,
  4. GDI leak,
  5. Other resource leaks,
  6. Heap corruption,
  7. High Cpu Hang,
  8. Deadlock hangs,
  9. NDIS pnp issues.
  10. NDIS miniport issues.
  11. Kernel mode bug check analysis.

Role

Developer Support Engineer.

Responsibility

Coding, Development and issue fixing.

Environment

Visual Studio, Windbg, .net framework, Wireshark, SysInternals tools.

Team size

5

Organization

Microsoft Corporation. ( MSFT )