Changes between Version 16 and Version 17 of Resume


Ignore:
Timestamp:
Jun 2, 2015 5:24:02 PM (9 years ago)
Author:
retracile
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Resume

    v16 v17  
    11= Resume =
    2 Software Engineer and Entrepreneur with 16+ years of experience, Linux development, tools development, security design
     2Software Engineer and Entrepreneur with 16+ years of experience spanning tools development, Linux kernel and distribution development, security design, automation, virtualization, source control, and open source contributions.
    33
    44Computer Engineering, B.S. and Mathematics, B.A. from Southern Methodist University, 1999, GPA: 3.8, Magna Cum Laude, with honors in the liberal arts.
     
    66== Preferred Languages ==
    77Python, sh/bash, C/C++, and ARM/XScale assembly
     8 
     9== Skills ==
     10Python, sh/bash, C/C++, ARM/Xscale assembly, Java
    811
    9  
    10 == Technical Experience ==
    11 Launched a business using Django and Python.[[BR]]
    12 Deployed a Jenkins-based virtualized continuous integration system in a complex environment.[[BR]]
    13 Implemented tools and libraries for managing storage arrays, provided platform-level support for development team.[[BR]]
    14 Developed Mercurial-­based promotion engine for software development.[[BR]]
    15 Reverse-engineered legacy security code to recreate missing source code, identified fatal security flaws, created a new security design, and evolved the implementation toward that design.[[BR]]
    16 Added workflow capabilities to Trac, and gained trunk commit privileges in 2007.[[BR]]
    17 Brought source control (Subversion), bug tracking (Trac), build processes (!BuildBot) and automated tools to a chaotic development environment.[[BR]]
    18 Ported the iop321 XScale sub-architecture support from Linux 2.4 to Linux 2.5, merged into Russell King's tree (2.5.65-rmk1, 2.5.70-rmk1), and Linus's tree (2.5.62, 2.5.64, 2.5.68, 2.5.69).[[BR]]
    19 Worked on four x86-based boards and seven ARM/XScale-based boards, from initial bring-up through deployment, including an upgrade to a new generation platform.[[BR]]
    20 Linux kernel experience includes initial bring-up on new ARM/XScale boards; implementing a network driver, file-systems, flash block device driver, numerous character device drivers; and modifying existing drivers.[[BR]]
    21 Designed and implemented the build systems for the Linux distribution running on those boards, documented build and release procedures for the Software Configuration Management (SCM) group.[[BR]]
    22 Analyzed NTP performance in a distributed Linux architecture and designed a system to augment NTP.
     12Django, Satchmo
    2313
    24  
     14Git, Mercurial, Subversion, CVS, patchutils
     15
     16Source control conversions, svndumptool
     17
     18!DevOps, Jenkins, !BuildBot, Trac, !MergeBot, iTest, Ansible
     19
     20virtualization, VMware ESXi, vCenter, ovftool, qemu/kvm, !VirtualBox, linode
     21
     22Linux Kernel development; file-systems, network, block, and character device drivers; x86/ARM/Xscale
     23
     24Linux distribution development and RPM packaging, autoconf tools
     25
     26Software security analysis and design
     27
     28Reverse-engineering Java bytecode to source code
     29
     30Dot Hill RAID array storage management
     31
     32data recovery, forensics
     33
     34Contributor to open source projects
     35
     36Mentoring coworkers
     37
     38Code generation
     39
     40Fedora, CentOS, Debian, !MontaVista, Solaris
     41
     42Javascript, CSS, html
     43
     44NXT robotics
     45
     46JTAG, embedded systems, Android
     47
     48System administration, NFS, NIS, NTP, Apache
     49
     50Make, Ant, Maven
     51
     52*NIX utilities
     53
    2554== Philosophy (Or "How I Work") ==
    2655 * Write code that is concise and clear.
     
    3261 * The path to performance is: fastest to implement first, then algorithmic improvements, then profiling guided improvements, then progressively lower languages with greater optimization. Tread no further down this path than you must.
    3362
     63== Technical Experience ==
     64
     65Developed and deployed a virtualized (VMware ESXi and vCenter) continuous integration (Jenkins) and testing (iTest) system, applying !DevOps principles to a complex environment while source control transitioned from Subversion to Git.
     66
     67Developed Mercurial-based promotion engine for software development; providing pull requests and automated merges.
     68
     69Added configurable workflow capabilities to Trac, and gained trunk commit privileges in 2007 (over 700 commits to date).
     70
     71Created “Advanced !TicketWorkflow Plugin” to further enhance Trac's configurable workflow.
     72
     73Brought source control (Subversion), bug tracking (Trac), continuous integration (!BuildBot), and pull requests (!MergeBot) to a chaotic development environment.
     74
     75Scripted conversion of a CVS repository to Subversion with nightly updates; those scripts were the basis for the organization's later transition to Git.
     76
     77Converted Subversion, CVS, and VSS repositories with full, interleaved history into a multi-project Subversion repository.
     78
     79Recovered lost source code from Subversion metadata directories, recovered lost bugzilla bug tracking data from Outlook mailbox files and imported into Trac.
     80
     81Contributed new source control history transformations to svndumptool.
     82
     83Contributed bugfixes to Mercurial related to large files.
     84
     85
     86Linux kernel experience includes rewriting a vendor network driver for a 6x performance gain, implementing file-systems, flash block device driver, numerous character device drivers; and modifying existing drivers.
     87
     88Ported the iop321 XScale sub-architecture support from Linux 2.4 to Linux 2.5, and got it merged into Russell King's tree (2.5.65-rmk1, 2.5.70-rmk1), and from there into Linus's tree (2.5.62, 2.5.64, 2.5.68, 2.5.69).
     89
     90Worked on four x86-based boards and seven ARM/XScale-based boards, from initial bring-up on Linux through deployment, including an upgrade to a new generation platform.
     91
     92Designed and implemented the build and packaging system for the RPM-based Linux distribution running on those boards, an ARM/XScale cross-compile of !RedHat 6.X; documented build and release procedures for the SCM group.
     93
     94Automated the product installation process to create reproducible installs in 1/5th the time, and in the process, identified undocumented bugfixes missing from source control (CVS).
     95
     96
     97Implemented tools and libraries for managing storage arrays.
     98
     99Provided platform-level support for development team.
     100
     101Implemented a virtualized (!VirtualBox) environment for storage development.
     102
     103Created a data-structure based cable auditing tool for complex hardware deployments, providing specific, plain English explanations of the cabling errors.
     104
     105Scripted IOzone benchmarks and identified parameter-induced file-system performance problems on (up to) 32-way striped SCSI disks on a supercomputer.
     106
     107
     108Identified catastrophic security flaw in the company's flagship security product, created a new security design that passed third-party review, and evolved the implementation toward that design.
     109
     110From ad hoc backups, reverse-engineered legacy security binaries (Java bytecode) to recreate lost source code.
     111
     112Created tools for creating and analyzing attack trees and implemented code generation to enforce security properties.
     113
     114Mentored coworkers on security principles.
     115
     116
     117Mentored others through design and architectural discussions and voluntarily requested design and code reviews across team boundaries.
     118
     119Won first place in company programming competition.
     120
     121Contributed to or supported open source projects including: Trac, Linux, Vim, svndumptool, and Mercurial
     122
     123Launched a business using Django and Python as a solo founder.
     124
     125Maintained “breakindent” patches for Vim until Bram accepted a variant into upstream.
     126
     127Built and programmed a robotic floppy disk conversion system, including photographing disk labels via Android, data recovery in the presence of bad sectors and forensic analysis for deleted files.
     128
     129Wrote decoder for a digital multimeter's serial output.
    34130 
    35131== Employment History ==