Post Job Free
Sign in

Software Engineer Manager

Location:
Prineville, OR
Posted:
February 10, 2013

Contact this candidate

Resume:

Leonard J. Bottleman

Leonard Bottleman

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

Prineville, OR 97754

abqjic@r.postjobfree.com

February 13, 2012

OBJECTIVE A responsible position emphasizing

software design and implementation.

SKILLSVery strong software design and implementation abilities emphasizing

function, performance, maintenance and portability.Excellent C programming skills.Excellent multi-threading programming skills.Excellent knowledge of Linux and the ability to

port applications to other platforms, including Windows.Exceptional ability for debugging and solving problems.Working use of Java, Perl and Python.EXPERIENCE

January 2006 to present

Oracle Corporation, Portland, OR

Consulting Member of Technical Staff, Oracle Applications Server

Member of the Exalogic Middle Ware Development team.

Redesigned and re-implemented the Exalogic Control (ECU) domU network

scripts to configure Infiniband interfaces (IPoIB and EoIB) and

bonds.Extended the Oracle Notification Service (ONS) C and Java clients to

support a set of ONS server pools to which they established connections, which

included connection status monitoring, and pool fail over when an existing pool

was detected as down or unreachable.Lead the project to integrate the Oracle Process Manager and Notification

(OPMN) and ONS into a single common code base.Designed and implemented the ONS RPC mechanism used for managing many

components managed by OPMN and used to deliver process specific DMS metrics

from all components to the Enterprise Manager.Lead the project to integrate the (OPMN) into the the 11g web tier product

stack.Ported and debugged the Micro State Accounting Linux kernel patch for

ix86 platforms.Re-factored and extended the C version of the Oracle Dynamic Metric

Service (DMS) to provide better performance and new functionality.Instrumented Oracle's version of Apache (OHS) to provide run time metrics

for throughput on a per request per module (and per virtual host when

applicable) basis.Designed and implemented the C context management code, which maintains

and transports a per request context, which is through and used by every step

of request processing from Apache down to the database, and provides a

mechanism by which performance of each phase of request processing can

be monitored.Created Apache modules to create and associate a context with each new

request as well as instantiate WLM monitoring based upon dynamic

user defined criteria for request performance.Create Apache module for integration with the ONS and OPMN.

September 2005 through December 2005

Sophos, Inc., Vancouver, BC

Senior Network Engineer, Sophos Appliance Project

Designed and implemented the automatic software upgrade subsystem

for the Sophos appliance, a turn-key email hardware/software solution for

automatically blocking virus and spam. The upgrade mechanism automatically

detects new software available at Sophos, downloads it, and schedules its

automatic installation based upon user configured windows (time of day,

day of the week, maximum delay) and the priority of the new software

update. The upgrade system manages the installation of the new software,

validating the new software against expected checksums and behavior, and

rolls back to the previous version in the event of errors. Provided consulting and support for all C coded projects.

April 1998 to September 2005

Oracle Corporation, Portland, OR

Principal Member of Technical Staff, Oracle Applications Server

Member of the Distributed Resource Management (DRM) team of the

Oracle Application Server (OAS).

Design and project lead for the OPMN component -- the key component of

the OAS architecture, providing always available high performance functionality

utilizing a highly multi-threaded design with a very small memory and disk

footprint.

Provides a publish/subscribe notification (the ONS portion of OPMN)

system used by the entire OAS product as well as the Oracle database.Manages all OAS processes, including start, stop, restart, crash

recovery, and process health monitoring.Repository for OAS system and process metrics.Provides single point management for any and all processes

running in multi-node installation.

Designed and implemented all of the core functionality for OPMN.

Completely portable C language implementation utilizing efficient

and modular designs throughout.Automatic detection of other OPMN servers within a multi-node

install, and auto-configuration of connection topology.Establish network topology membership for multi-node OPMNs

which rapidly detects system outages or network disconnects, and

provides notifications and actions for such events as well

events related to group joins, or even mergers of existing groups.Automatic recovery of process state after system crash.Detection and resolution of duplicate notifications.Dynamically loadable modules to perform specific management tasks

for different process types.

OS independent API used by the process modules to perform all

required tasks including multi-threading and synchronization,

memory management, socket IO, SSL encryption and process creation

and death detection.User configurable dependencies (including to remote nodes) to

ensure resource availability and component start order.Service fail-over functionality for specified process types to ensure a

single instance is always running across a multi-node install.

Resource management directives, which allow users to configure

OPMN actions based upon conditions (time of day, application response

time, CPU usage, memory usage, etc.).Flexible network security layer that allows use of either the Oracle

SSL package or the Open SSL package (used by OPMN, IASPT, and

various Oracle Apache modules).OS independent configuration, with automatic conversions of

paths where required.Built in debug code paths that display process status and health upon

request.Spearheaded the application server's move to Linux development,

including research for development and debug tools, system configuration,

and Linux kernel, library and environment issues. Served as a consultant

for resolving Linux issues for other groups, such as build and QA.Designed and implemented the Oracle Internet Port Tunnel Server (IASPT),

which allows HTTP servers outside a firewall to route requests to (and

receive responses from) multiple application servers behind the firewall

utilizing a single port.

Provided support for OPMN process module writers (both internal to our

group as well as third party authors).Provided technical leadership and consulting for all groups within

our division.Initiated, installed and maintained a development source control system

based on CVS that provides automatic backups, change reports, and

simulated product install homes from within the source tree itself, thus

dramatically simplifying product test and verification procedures.

Redesigned the Resource Manager module to significantly improve

application scheduling on a process, cartridge instance, and object

reference basis.Redesigned the Configuration Provider module's initialization

algorithm and achieved a 6000% increase in performance.Found and fixed many bugs and memory leaks in various modules.

August 1994 to April 1998

Informix Software, Portland, OR

Senior Software Engineer, Continuous Data Replication Group

Part of a team responsible for designing and developing the

continuous data replication (CDR) functionality for the Informix

On-line Server. Provide guidance and support to the group for efficient

and maintainable designs on parallel systems.

Redesigned the entire CDR queuing mechanisms to improve

reliability and performance, and added support for hierarchical

routing to allow indirect passing of messages between systems

without direct connections to one another. The new queue design

also allowed for tracking of any specific transaction or data

packet of a transaction from its source system to any destination

system and on any intermediate systems in between.Designed and implemented sparse CDR catalogs. Previously all servers

participating in replication had to maintain the complete set of

server, replicate, group, participant, and other configuration

information for every other server. Now any server not acting as a

network hub need only obtain and maintain information pertaining to

itself.Designed the floating thread mechanism whereby a small set of

CDR communication threads can service a large number of server

connections (the existing design required a dedicated set of threads per

connection).Led the design effort for adding mobile computing support to CDR.Led the project to fully support a master/slave replication

model on CDR, which was originally designed exclusively for update

anywhere.Led the project to automatically synchronize CDR internal

catalogs and state information on servers starting CDR for the

first time with an established CDR server.Designed and implemented the Grouper component of CDR.

The Grouper is a fully parallel module that evaluates rows from

replicated tables within transactions, and assembles the replicated

portions of the transactions into machine independent buffers

for transmission to other servers. While assembling the replicated

transactions, the Grouper intelligently removes redundant row

records, and handles reordering of columns within a row on

a per user-defined replication basis.Designed, coded, and ran full stand-alone and integrated test suites for

the Grouper module, which also served as a test bed for other CDR

components.Provided support modifications within the core server

modules for required CDR functionality.Provided technical advice on architectural, design and coding

issues in the CDR group.Modified of the parallel server to support

replication, building the interface between the server and the

parallel loader, and between the parallel loader and archive

system (for the discrete data replication system).

April 1993 to August 1994

Chorus Systems, Beaverton, OR

Senior Software Engineer, Operating Systems Department

Responsible for development and maintenance of a distributed

real-time operating system, CHORUS/Fusion, and designed.

Implemented the source control and build mechanisms used

throughout the Fusion project.

Ported a multi-threaded, distributed version of GNU GDB to

Fusion, which required debugging and modification of the

operating system.Made various bug fixes and functionality enhancements to the

operating system.

December 1991 to March 1993

Intel Corporation, Beaverton, OR

Senior Software Engineer, Supercomputer Division

Responsible for design, implementation, and maintenance of

Intel's proprietary operating system (NX) for the Touchstone

Delta Project, and for Intel's proprietary message passing

mechanism in Mach for Intel's new generation of massively

parallel supercomputers.

Designed and implemented portions of a message passing mechanism

in Mach.Designed and implemented a new node partition managing server

and library routines for NX.

May 1990 to November 1991

Sequent Computer Systems, Beaverton, OR

Software Engineer, I/O Software Group

Responsible for design, implementation and maintenance of a wide

variety of I/O device drivers (including STREAMS) for a parallel

System V UNIX (Dynix PTX) running on symmetric parallel systems.

Helped design and implement a driver for a new high speed Quad

Channel SCSI Controller, including on-line replacement of disk drives.Designed and implemented the stand-alone driver for a new high

speed Quad Channel SCSI Controller.Designed and implemented a trace mechanism used for kernel

debugging and error message logging. Also created the

associated user daemon and utility programs.Redesigned various terminal multiplexer drivers for POSIX

compliance.Improved and maintained the on-line and stand-alone SMD disk

formatters for Dynix (BSD UNIX) and Dynix PTX.

December 1988 to May 1990

Tektronix, Wilsonville, OR

Software Engineer III, Interactive Technologies Division

Planned, scheduled and implemented custom software projects on a

System V UNIX kernel (UTek V) for various organizations within

the division.

Innovated changes to UTek V for VME device drivers.Designed and implemented a STREAMS multiplexer/demultiplexer.Designed and implemented a STREAMS graphic display, mouse, and

keyboard module and interface.Participated in on-going debugging of the kernel.Resolved POSIX, SVID and M88000 BCS compliance issues.Created a System V shared memory interface for a BSD UNIX

kernel (UTek).Ported System V message queues and semaphores to UTek.

March 1988 to December 1988

Control-C Software, Beaverton, OR

Software Engineer

Produced significant portions of a Postscript interpreter for

laser printers and provided the development system (Sun workstations)

support.

Designed and implemented memory management and packed array

schemes.Created grey-scale pattern generation routines.

June 1986 to March 1988

Tektronix, Wilsonville, OR

Software Engineer III, Workstation Division

Responsible for designing, implementing and maintaining portions

of a BSD UNIX kernel (UTek) and porting the kernel to

various workstations.

Designed, implemented and debugged portions of the kernel

virtual memory handling code on an M68020 system.Designed and wrote a DMA Centronics printer device driver.Created the stand-alone monitor and utilities for a M68020

system.

February 1982 to June 1986

RCA Cylix Communications Network, Memphis, TN

Programmer/Analyst

Wrote programs that monitor, report and react to real-time

events on a satellite data communications network. Provided

kernel support for the BSD UNIX host and development

systems.

Created a device driver for an asynchronous I/O multiplexer.Overhauled the Network Control System software to achieve

improved reliability, increased functionality, and a six-fold

increase in transaction throughput.

May 1980 to February 1982

Memphis State University, Memphis, TN

Programmer/Analyst, University Computer Center

Provided support for Computer Center users, created the system

interface to graphic plotters and terminals, and maintained

graphics libraries. Produced test analysis programs used by

university professors.

EDUCATION

B.S. (Geology), Memphis State University - now

Earned the Outstanding Senior of the Year award for Geology in 1980.

Black-belt (2nd Dan) in Taekwon-Do at the

.



Contact this candidate