Technical Achievements and  Experience

James R. Bergsten

5025 Sleepy Hollow Road

Cameron Park, CA 95682-1915

(530) 672-1415

 
jim@thebergstens.com
 http://www.thebergstens.com/resume

 

With 35-plus years plus experience in computing, I have developed many successful, high-quality, low-maintenance, easy-to-use hardware and software products.  Have architected, designed, developed, debugged, tested, and documented six award-winning software products, and two hardware/firmware products.  Many of these are presently in productive use worldwide -- some have been running “bug-free” for over 20 years.

Have personally developed three proprietary operating systems, two real-time storage array and virtualization systems, disaster recovery and business continuation applications, financial applications, database applications, application and systems development and debugging tools, and graphical display systems.

Have specified, purchased, managed, configured, installed, and maintained servers and array/SAN/NFS/CIFS storage from multiple vendors.

Have written well over half a million lines of debugged production code, and several thousand pages of technical documentation.  Have 12 sole-inventor “crown jewel” issued U.S. Patents.


Product Development Experience

Operating System Development

Architected and developed a platform-independent real-time operating system, supporting n-way multiprocessing and multitasking, scheduling and dispatching, memory allocation and management, device virtualization, rudimentary file system, system initialization and shutdown, device discovery, security, encryption, resource locking, semaphores, system debugging and console command processing.

Developed an entire multi-homed TCP/IP stack from scratch.  Developed servers for Telnet, FTP, HTTP, SNMP, and multiple vendor-specific protocols.

Architected and developed a complete fault-tolerant, multipathing I/O subsystem. 

Developed device drivers for initiator and target mode NVMe, UFS, SCSI and Fibre Channel, iSCSI, FCoE, ATA, SATA and SAS, serial and parallel ports, disk, tape, CD/DVD, USB, flash memory, EEPROM, NVSRAM, UPS, timer, real-time clock, keyboard, USB, Ethernet/Gigabit, and simple graphics.  Developed extensive software for device exercising and testing, bring-up, compliance, data-integrity-verification, fault-isolation, diagnostics, and performance analysis and reporting.

 

Ported open source filesystems and scripting languages to this proprietary RTOS.

Storage and Storage Array Subsystem Development and Administration

Architected and developed an interface-agnostic, SCSI-compatible storage product with support for disks, tapes and CD/DVD, device simulation, caching, device virtualization, zoning, transparent local and remote device access, n-way local, remote, and cascaded mirroring and snapshot, no single point of failure, n+1 failover/fallback, multiple active coherent cache, data error detection and recovery, customizable performance and tuning, configuration, extensive reporting, and support for user, operator, administrator, and maintenance console commands.

Ported drivers and kernel functions to Linux, FreeBSD, and OpenBSD.

Developed SATA and iSCSI drivers for LSI Logic storage arrays.  Took over development, debugging, and documentation for defunct storage array supplier.

 

Developed SCSI/NVM/SOE layer firmware for PMC-Sierra FLASH chips.

Developed NVMe drivers and test/performance/bring-up tools.  Developed UFS drivers and test/performance/bring-up tools.

Application Development

Designed, managed, and/or developed six successful products for the IBM mainframe environment including: XMENU, a multiple-award winning windowing tool for mainframe terminals (pioneered what-you-see-is-what-you-get screen layout editing, and symbolic-field-naming), KPROBE, a post-mortem operating system debugging tool, XDEBUG, an interactive application and system debugging tool, SQLEXEC and SQLMENU – interactive SQL development tools, and KDES, a file encryption tool.  Also developed program product distribution and maintenance tools.

Co-developed a pharmaceutical tracking system using radio frequency identification (RFID) technology, web programming, and SQL databases.  Developed a financial application for testing, simulating, and validating equities trading and portfolio management.  Developed tools for product development, test, and installation.

Website/Social Media Development

Created and maintain websites for several not-for-profit organizations.  Created and maintain several blogs.  Instrumented websites to monitor usage statistics.

Developed several online databases.

Platform and Administration Experience

Personal Computers and Servers

Microsoft Windows-- all variants -- product design and development, modifications, device drivers, installation, performance and tuning, maintenance, testing, operation, experience with virtually all popular software products.  Subscribe to MSDN.  Maintain multiple personal XP and Server systems, including SQL, web servers, email servers, communications servers, and application servers.

Linux -- all variants -- product design and development, installation, testing, performance and tuning, operation, device drivers.  Maintain multiple personal Redhat and SuSE Linux systems.

UNIX/BSD -- product design and development, installation, performance and tuning, operation, administration.  Maintain multiple personal FreeBSD, NetBSD, OpenBSD, and Solaris systems.

Storage Administration

NetApp – all filers and shelves, LSI/Engenio -- all arrays, EMC – all arrays.  Installation, configuration, migration, management, backup, snapshot, DR/BC, dedup, security performance, utilities.  JBOD. FC, SAS, iSCSI, FCoE, SATA, ATA drives.

Mainframes and Enterprise

VM -- all variants -- product design and development, modifications, installation, performance and tuning, testing, operation, experience with virtually all program products

MVS -- all variants -- product design and development, installation, testing, performance and tuning, operation, experience with most popular program products

SQL databases -- product design and development, installation, performance tuning, operation, administration

Storage management -- product design and development, performance tuning, operation, administration

MIS management -- hardware and software procurement, installation, operation management, maintenance, physical planning, and disaster recovery – managed multiple enterprise computer centers.


Minicomputers, Workstations

Intel x86 -- product design and development, hardware and software acquisition and installation, performance and tuning, BIOS development, own Pentium development and test systems, with personal copies of over fifty software development, application, and tool products, Windows SDK and DDK,  Windows XP/Vista SDK, DDK, and HAL..

Power PC -- NT, AIX -- firmware/diagnostics/system bring up.  Windows NT SDK, DDK, and HAL Novell NetWare, Windows, Linux, BSD, Solaris -- network setup and administration

Experience with UNIX systems dating back to first UNIX version shipped outside Bell Labs to AUX/Solaris/UTS/Linux

Embedded Systems

MIPS, ARM, XScale, PowerPC, Cavium, licensed embedded processor programming

Languages

C, C++, Microsoft Visual C++, Intel, Gnu -- product design and development

REXX -- product design and development

FORTRAN                                                

Turbo Pascal and Pascal/VS

Minor experience with many other languages

Many assembler languages

Many microcoding languages – developed proprietary microcode compiler

Several prototyping/object oriented languages (Actor, Smalltalk V)

Most scripting languages (Python, Perl, various shells, etc.).

Documentation, Web Design, Multimedia, Image, and Graphics

Microsoft Word and PowerPoint, Word Perfect, Adobe Acrobat, FrameMaker, and PageMaker, XMLmind / DOCX

Adobe Photoshop, Illustrator, and Premiere, Corel Graphics Suite, Microsoft Visio

IBM DCF, GML, BookMaster including macro development

Hardware, Device Drivers, Vendors, and Standards

Parallel SCSI (LSI, Adaptec, Advansys), Fibre Channel/ FCoE (QLogic, Emulex, LSI), iSCSI (QLogic, Intel, others), SAS/SOE/NVM (LSI, PMC), PCI, PCI-x, PCI Express, Infiniband, IDE/ATA/SATA, AHCI (Intel, Marvell, Promise, Broadcom), Ethernet/GigE/10/40/56/100GigE (Intel, Broadcom, Mellanox), ISA/EISA, USB (UHCI, EHCI, xHCI), I2C, BIOS, ACPI.

NVMe, UFS, ATA/SATA, SCSI, FC, SAS drives (Seagate, Maxtor, Western Digital, Hitachi, others), various CD/DVD and tape drives

Extensive IBM mainframe experience -- diagnostic development, test cases, advanced function design and specification, ESCON, channel programming including virtually all peripherals

x86, Power PC, XScale, MIPS, ARM -- systems architecture (embedded Linux, RedBoot, OpenBoot, grub) – various chipsets (Intel, Broadcom, Marvell, Cavium, TI)

Miscellaneous

Spreadsheet -- Excel

General Accounting – Peachtree, Quicken

Project and Development Management -- Microsoft Project, Track, Delta, SourceSafe, Subversion, CVS, Perforce, TestLink, JIRA

Proprietary bug / problem tracking systems, test driver and tracking systems

Contact tracking software, communications software

Large complement of development and debugging tools