Post Job Free
Sign in

Software Engineer Development

Location:
Santa Clara, CA
Posted:
October 15, 2017

Contact this candidate

Resume:

Robert Michael (Bob) Lacey

*** *********** *****

Campbell, California, 95008

+1-408-***-****

******.*******.*****@*****.***

Professional Skills:

Excellent skills in software architecture and development. Full stack capable with particular expertise at the kernel level. Sees the “big picture” clearly and can assure that all issues are identified and addressed for complete solution. Solid grasp of how to decompose difficult problems for maintainable, efficient and secure code.

Strong software skills in C, C++, C#, Objective C, Java and various assemblers. Firm grasp of system architecture (Intel, MIPS and ARM), from core OS internals through back-end services and application interfaces. Adept at software development under Windows, Windows Server, Linux, OS X and other operating systems. Solid knowledge of security and cryptography. Knowledge of telephony and other system architectures. Excellent at finding flaws in architecture, designs and code, making revisions to make it work properly. Excellent knowledge of GNU tools, MS Visual Studio 2013 - 2017, IntelliJ, Xcode, source code control (Git, Subversion, SCS and CVS), porting, internationalization, software licensing, NSIS, MSI, InstallShield, Cassandra, Azure, Docker, Citrix, OpenSource, Web Services, Citrix and AWS. Hardware tools / bring-up. Experience in Kanban, Agile and Scrum methodologies.

Excellent communications skills, both written and oral. Good at working independently as contributor, team leader, architect or manager. Aggressive solver of problems and very thorough. Experienced in all phases of the software development lifecycle, from initial requirements through product maintenance. Managed projects and teams.

Professional History:

2016 to Automation Anywhere

Present Senior Architect

Primary customers are BFSI. Most work has been focused on all aspects of migrating from being a desktop product to an Enterprise suite. Leading architecture work on implementing full support in the product for Citrix. Design of web services. Rearchitecting client/server product for improved performance and scalability. Subject matter expert for Performance, Security and Windows internals. Resolved licensing issues with Open Source and established usage policies, started and running secure software initiative (including static analysis with Veracode as well as hiring a team) modelled on BSIMM. Research on containerizing clients with Windows Server 2016 and Docker in preparation for migrating to platform-agnostic architecture. Work defining a basic Credential Vault and CyberArk integration. Auto-login support on client with custom GINA DLL. Logging improvements to client architecture to permit expedited fault isolation and metrics. Research and POC for bit-torrent support to improve client startup time and minimize server IO. Concept work for updated client architecture to support plug-in revisions to allow development and testing of client plug-ins in isolation to improve stability and accelerate QA verification and reduce test cycle times. Visual Studio 2015 and 2017, IntelliJ. Work in C#, C++.

Mentored architects, leads and developers. Contributions to security and architectural roadmap for the company. Comprehensive review of policies/practices in software development and CI to reduce risk, improve security as well as product quality and robustness. Initiated and leading Windows Logo Certification effort for current products. Leading contributor in ISO 27001 certification efforts. Managed 15 C# developer team - core platform team in India. Regular cross-functional interaction with multiple off-shore teams.

2014 to Ericsson

2016 Software Engineer

Started in software development in Test for Mediaroom product, responsible for creating a new automated test framework for new Linux-based Set Top Box (STB). Work on platform code as well as support for test suites and ingest of results. Work in C#, C++ and some scripting. The client code on the STB made extensive use of Boost libraries. Work in cryptographic hardware diagnostics, in C++ to support bring-up and perform analysis and verification of cryptographic hardware as well as benchmarking cryptographic functions.

Moved to Security development team for MediaFirst product including controllers and web services. Work on service deployment, security policy implementations, encryption, authentication, token issuance and revocation, X.509 authentication and Unicode support. Supplied complete unit and functional tests with new functionality for verification. Work with monitoring and analytics services improving characterization, diagnostics, exception handling and fault reporting to improve maintainability and fault isolation. Extensive work in defining rights and roles for supporting Claims and implementing least-privilege. Supported deployments and worked with cross-functional teams. Experience with Cassandra and Windows Azure. C#

2013 OnLive

Windows Guru

Device driver and systems development for a distributed service architecture providing remote applications services for gaming. Responsibilities include providing expertise on Windows for current and future development as well as analysis and improvements to system architecture and performance. Work in I/O subsystem with software drivers emulating hardware for keyboard and mouse. Work in C and C++ on Microsoft Visual Studio 2005, 2008 and 2010.

2010 to Razer

2013 Senior Software Engineer

Architected and implemented a multi-platform software architecture for Windows, Android and iOS, with full responsibility for the low-level work. Led team of 5 developers. Work in architecting and implementing drivers, tools and applications for a cloud-based deployment and configuration management for user information using SwitchBlade UI devices. Work on SkypeKit middleware implementation and other products for Razer. The Skype library provides full Skype support for a platform-independent layered applications architecture. Lead developer on SwitchBlade SDK. Responsible for driver architecture and development for all products under Windows (up to and including Win8), including dynamic key mapping and Boot Loader driver for firmware updates. Many Razer products use an ARM NXP core. Work on special-purpose firmware updater device driver for USB devices. Devices worked on included Hydra (a game controller with motion processing capabilities), Switchblade and the recently released Blade. Architect for Dynamic Key Map support. Worked on protocols, optimizing updates and revising firmware support for new devices. Work in C, C++ and C# mostly on MS Visual Studio 2010 and 2012, with some in firmware environments (Kiel). Projects I’ve worked on have won awards at CES 2011, 2012 and 2013.

2006 to Apple Inc.

2010 Software Engineer

Founding member of Boot Camp Development Team, tasked with device driver and application development for running Windows XP/Vista/Windows7 on Mac hardware. Developed device drivers and filter drivers for keyboard, trackpad, mass storage (DVD) and extensive Control Panel work to support settings and control of devices and their configuration. Developed fan speed control service, application and SMC driver. Work in C, Visual Studio, Objective C and Xcode. Work in OS X, mostly using Cocoa and Objective-C. Led team on Boot Camp patching projects, including cross-functional liaison work. Reviewed code for submissions by co-workers.

2004 to Lohika Systems

2006 Senior Solution Architect

Responsible for specification, scheduling, supervision and execution of software development projects. Work in Linux and Windows. Worked closely with customers to produce clear, complete documents for consumption by off-shore development team under time constraints. Worked as key development resource for time-critical deliverables in cases where my expertise complemented the development team capabilities. Work in C. Supported customers, developed successful demonstration of new technology at CES 2005.

1999 to Wave Systems Corporation

2004 Principal Software Engineer

Technical lead for Applet Developer’s Kit (ADK) and platform software development. The EMBASSY product is an ARM processor connected to a Windows PC via USB that performs security and cryptographic functions. Mentored entry level engineers and got them up-to-speed as successful and productive software developers. Designed, developed and tested a special-use serial port driver. Key contributor for development of host-side components, significant contributions in the development on the OS and privileged applets for ARM processor. Architecture, design, specification and implementation to revise the host PC software stack to use a messaging abstraction layer to allow the majority of the host-side code to be platform agnostic. Also maintained special-use USB driver for EMBASSY. Designed and developed tools (including MFC-based applications), wrote sample source code for PC applications and ARM applets and wrote original documentation for ADK. Defined and developed the packaging for ADK and Core package using InstallShield.

Served as interim system administrator to a group of 40 engineers for 5 months in addition to my normal job function. Performed software builds and releases for ADK and Core package until a build/release engineer was hired in addition to my regular duties, as well as automating the build process. Key player in the development of an automatic build/verification process to help detect software defects in code checked into CVS. Defined process for CM to handoff releases from development to QA.

Established methods and a toolkit for measuring system performance and throughput. Ran multi-platform tests, collected data and published a comprehensive quantitative analysis on system performance. When results were complete, formulated a plan for improving system performance and implemented. Improved overall performance by 20% at API level.

Work on TCPA/TCG. Duties included development, testing, handing off to QA and getting OEM installation packages accepted by key OEMs. Developed MSI and InstallScript implementations of installer. Tech lead for software licensing used by the company. Work in applications (Wave’s TCG Enabled Cryptographic Service Provider (CSP), Key Transfer Manager and EMBASSY Security Center). Developed library of toolkit samples for CSP and guided CSP toolkit development. C++ and C#.

1997 to 3Dfx Interactive, Inc.

1999 Senior Software Engineer

Designed, developed and tested Windows NT and Windows 2000 drivers for 3Dfx Banshee, Voodoo2, and Voodoo3 graphics devices. For the first year of my tenure, I was the local Windows NT expert. Wrote miniport and display driver code for the company’s first new 2D/3D device (Banshee) without a simulator, and brought up the drivers the day the hardware was available. Instrumental in adoption of a new driver architecture that simplified development and maintenance, while maintaining performance. Brought up early version of new architected drivers on simulators and later on hardware emulation devices, as well as hardware bring-up. Key expert for testing and verification of drivers for Windows.

1996 to NeTpower

1997 System Software Engineer

Designed/developed driver support for multiple 3DLabs displays under Windows NT 4.0. Integrated source updates from 3Dlabs into driver and OpenGL sources. Performance analysis and optimization work. Performance analysis of Windows NT drivers, kernel, and OpenGL and adaptation where needed to support Intel’s Proton compiler to improve system performance. Net gain 11%.

1994 to HaL Computer Systems

1996 Senior Software Engineer

Designed and developed Solaris kernel mode graphics device drivers for new and existing platforms. Work included original driver development as well as porting of Sun graphics device drivers, as well as some work on device handlers. Porting issues included mixed 32 and 64-bit management of information. We used the same sources for the 32 and 64-bit operating systems. Participated in hardware and software bring-up of new platforms, as well as debug of existing hardware. Engaged in continuing work supporting X Windows server development. Did final performance and tuning work to optimize driver performance. Wrote test tools and scripts to verify hardware and driver behavior and performance under stress tests, and picked up work on XIL and XGL in addition to my usual load. Received the 1st President’s Award in January 1996 for my contributions to the company.

Additional Job history available upon request

Educational History:

University of California, Berkeley (Chemical/Nuclear Engineering)

University of California, Berkeley (Applied Mathematics/Computer Science)

San Jose State University (Computer Science)

Other Items of interest: Eagle Scout, Black Belt (Shotokan Karate)



Contact this candidate