Post Job Free
Sign in

Sr .NET Developer /Software Engineer

Location:
Hillsboro, OR, 97123
Salary:
120,000
Posted:
August 13, 2010

Contact this candidate

Resume:

Résumé

W. Lee Duncan Home: 503-***-****

***** ** ******** ***. ****: 503-***-****

Hillsboro, OR 97123 ******.******@*****.***

SUMMARY

An enthusiastic performer with over 25 years experience in the Unix field who wants to find a great place to

work and grow, and who wants to make your company a success.

General experience includes:

o Expertise in low-level coding, but familiar with the entire software stack

o Experienced in architectures as well as a master coder

o Experience in SCSI, Fibre Channel, iSCSI, and OSD (with some InfiniBand)

o Expert in C, Python, and scripting, experience in C++, Java, XML

o Solaris, HP/UX, and Linux internals as well as extensive system- and user-level library and application

experience

o Experience with assembler/firmware/embedded systems and real-time considerations

o Device driver experience on CD-ROMs, Floppies, Disks, and Host Bus Adapters, as well as general I/O

subsystem design and maintenance

o Real Time OS experience, including QNX and POSIX Real Time extensions to Unix

o Extensive scripting experience, including several shells, Perl, Python, and PHP

o Embedded Linux storage experience

EXPERIENCE

Feb. 2009 – Present: VirtenSys, Inc. Being a small company, VirtenSys has given me the opportunity to work

in many areas, from low-level PCIe and RAID device driver code to using Python to talk to our Web Services

stack. Work here has included:

o Build Czar: wrote the scripts, own the process.

o RAID Development and support (resident RAID expert)

o Own low-level PCI code

o Own modifications to kernel drivers, when needed

o Added support for boot-from-virtual-RAID

o Script Guru – consult on or write many of our scripts (using Python if possible)

o Even wrote a Windows Python script for configuring servers

o GUI/Web Services layer support – I’m the backup person for this area

o Integration Engineer – There are two of us that integrate all the code, sanity check it, and triage any

problems found

Apr. 2008 – Dec. 2008: Wasabi Systems, Inc. Instrumental in the development of next-generation Object-based

Storage Device (OSD) Architecture, Design, and Implementation. Designed a Block-Storage layer, and then

designed and started implementing an object redundancy layer. The company was transitioning from being a

BSD-based consulting company to a Storage Appliance vendor.

Supported C version of a low-level program designed to talk to SCSI OSD Devices, working directly from SCSI

OSD Specification. Re-wrote the program in Python to make it easier to modify and support.

Nov. 2006 – Apr. 2008: HP/PolyServe (PolyServe was acquired by Hewlett Packard on 5/1/2007). Designed

and implemented low-level online cluster maintenance functionality based on high-level design from architect.

Worked closely with architect to implement, verify, and support this new functionality.

Redesigned a large Python configuration CGI script to be object-oriented then added several new pieces.

Dec. 2005 – Nov. 2006: Intel. Worked on next-generation Blade storage for Intel in Hillsboro, OR. Worked with

several vendors to implement various subsystems as well as planning for integration and testing. Helped

implement an application services layer in PHP using SOAP, CIM, and SNMP.

Mar. 2004 – Dec. 2005: Lefthand Networks, Sr. Software Engineer. Implemented an OEM project, putting

Lefthand’s software on a 3rd-party platform. Moved to the Data Path group, to support their generic SCSI layer

as well as work on the iSCSI code on top of the SCSI layer.

Supported and modified this generic SCSI layer. Work included designing and implementing SCSI-3 Persistent

Group Reservations, in addition to creating test programs that will verify correct behavior. Also implemented

support for iSNS in our iSCSI code.

Aug. 2002 – Mar. 2004: Pillar Data Systems

Oct. 2002 – Nov. 2004: Team Lead, Snapshot Team. Lead the Snapshot team in the Block Services group at

Pillar. Work here included:

o Helped design certain aspects of system supporting many rapid-use Snapshots (patent in progress)

o Leading team of 3 other engineers

o Created a tracing debug and logging system from scratch, and then created and implemented a

transition plan when a new tracing system was supplied

o Helped create a standard for coding and style, then implemented a nightly check of those standards

o Gatekeeper for our group, including creating/supporting our “Mojo” build script

Aug. 2002 – Oct. 2002: Senior Engineer, Block Services. Helped design and implement several sections of

Pillar’s Block Services subsystem, including Array Management (RAID 0 and 1), configuration, and Device

Management. I spent about a week as team lead in Device Management before reorganization moved that

responsibility to California.

Oct. 1993 – Aug. 2002: Sun Microsystems, Inc.

Apr. 1999 – Aug. 2002: Staff Engineer, SCSI & Target Drivers. Senior engineer and architect in Sun’s

Network Storage Division, working on the architecture of parallel SCSI target and Host Bus Adapter drivers

for Solaris. Work included:

o Rearchitecture and engineering support of the ISP/QLogic parallel SCSI device driver

o Hand-holding high-profile customers (including a major online auction house)

o Organizing the training of a new group of UNIX/SCSI/Solaris engineers

o Helping to define direction for major new projects, including driver merge and tape configuration

management

o Creating and managing an industry-leading project to protect user data end-to-end (2 patents filed)

o Internship on one of Sun’s major internal standards groups (PSARC)

Also worked during this time on SCSI Quality of Service, Device Driver Hardening and RAS, and followed

InfiniBand and iSCSI developing standards.

Dec. 1996 – Apr. 1999: Member of the Technical Staff, SCSI Fibre Channel Disk Group. Spent 3 years in

the Fibre Channel disk group creating a cutting-edge project using the emerging Fibre Channel standard and

created architecture that third party driver writers could use to supply hardware and software to Solaris for

Fibre Channel. Work here included:

o Project management and overall architecture design (within a team)

o Shepherding the project through Sun’s Architecture Review process

o Coding the “fcp” (Fibre Channel to SCSI) Upper Layer Protocol module

o Modification of interfaces for a user-level program to allow monitoring Fibre Channel disk boxes

o Membership on Sun’s internal change review team

Oct. 1993 – Dec. 1996: Member of the Technical Staff, OS Group. Worked in the area of user-removable

media management. Accomplishments here included:

o Reduced count of high-priority bugs from 125 to 40 in 6 months

o Created/modified several new user-level commands

o Received 3 patents on new features implemented or proposed

o Managed the group for 3 months (during a time of management transition)

o Presented papers at internal conferences

Aug. 1991 – Sep. 1993: Design Engineer, BNR, Inc. Member of a team at Bell Northern Research that tried to

bring Unix (HP/UX on 68000 “peripherals”) to BNR’s proprietary environment.

Work on this project included creating and implementing a TCP/IP server daemon to handle requests from user

processes, defining the interface between HP-UX and the proprietary OS, and creating a HP/UX device driver

that used this interface to satisfy I/O requests.

Nov. 1989 – Aug. 1991: Senior UNIX Consultant, Datronics, Inc. Contracted on two different projects while

consulting at Datronics. The first project was for GTE Government Systems, using low-level instrument bus

communications. The second project was for BNR (now Nortel) using expert systems.

Jul. 1988 – Oct. 1989: Senior Software Analyst, Data General, Inc. Worked in the Data Management group

and then in the DG/UX kernel group. In the database group, I worked on examining new hashing algorithms. My

kernel work centered on merging our stand-alone and multi-user disk format programs by making a memoryonly

bootable version of our kernel.

Jul. 1986 – Jul. 1988: Unix Consultant. Worked in various areas, including database design, UUCP

communications, and system administration.

Jul, 1985 – Jul. 1986: UNIX Analyst, AM Varityper, Inc. Worked as a system administrator, supporting about

50 engineers and another 50 production persons. Worked closely with the BSD UNIX sources for the DEC PDP-

11 (BSD 2.9).

Jul. 1983 – Aug. 1984: Software Engineer, Sonatech, Inc. Worked on a multi-process navigation application,

actually spending time at sea debugging the system. Promoted to lead designer after 3 months. Left to go to

graduate school.

Jan. 1981 – Jul. 1983: Development Engineer, Hewlett Packard, Inc. Worked as a test engineer, creating test

programs for HP’s custom calculator Integrated Circuits. Created a test program template and C test library used

by all other test engineers. Left to pursue a pure software career.

EDUCATION

Sep. 1984 – Jun. 1985 – MSCS work, Oregon State University. Concentration on Operating System internals

and Artificial Intelligence. Served as a teaching assistant and system administrator.

Sep. 1977 – Jun. 1981 – BSEE, Oregon State University. Graduated Cum Laude, with honors, concentrating

study on the application of microprocessors.

PATENTS

Sun Microsystems: Six patents awarded.

Wasabi Systems: One patent pending.

MILITARY EXPERIENCE

U. S. Navy, 3/73 - 3/77 -- Instruction on and repair of flight simulators. Honorably discharged.



Contact this candidate