Andrew Rockwell, Software Developer in Battle Creek, MI, United States
Andrew Rockwell

Software Developer in Battle Creek, MI, United States

Member since January 15, 2018
Andrew is a versatile, professional developer focused on solving important problems with the right people. He has primary experience in systems (OS, networking, security), desktop, and web applications. Throughout his career, he assumed different challenging roles, from development to research and consultancy.
Andrew is now available for hire

Portfolio

Experience

Location

Battle Creek, MI, United States

Availability

Part-time

Preferred Environment

Git, C, C++, Networking, Security, Operating Systems, Rust

The most amazing...

...code I've written is the HTTP/2 compression library for Windows.

Employment

  • Consulting Software Engineer

    2018 - PRESENT
    TASLAR Group
    • Acted as the development lead on a one million+ LOC core payroll engine serving multiple million-dollar providers.
    • Integrated development across multiple applications and runtimes.
    • Modernized development environment—VC6, Visual SourceSafe, XP to VC14, Git, Win10, unit tests.
    Technologies: C++, COM, C#, Entity Framework Core, T-SQL, Visual Studio, Git
  • Software Development Engineer II

    2012 - 2017
    Microsoft
    • Developed an HPACK HTTP/2 compression library consumed by native Windows HTTP stacks.
    • Built the client-side of a high-performance (1.3 million RPS) TCP splitter on top of WinSock Kernel.
    • Created an HTTP/2 framing library consumed by WCAT and Windows HTTP test frameworks.
    • Designed Windows Server containers in AFD.sys as part of my role.
    • Developed wildcard hostname binding and asynchronous SSPI features in HTTP.sys.
    • Served as a core developer on Windows Server containers and HTTP/2 features in HTTP.sys.
    • Performed analysis and optimization of HTTP/2 in HTTP.sys, yielding 15% RPS improvement.
    • Resolved feature work and bug fixes in Windows client HTTP stacks (WinINet, WinHTTP, WebIO.jl).
    Technologies: WinDbg, WDM, HTTP, C++, C, KD
  • Research Assistant

    2012 - 2012
    Michigan State University
    • Served as initial author of crowdfunding web application.
    • Contributed to full-stack development on Rails MySQL, JavaScript, and CSS/Sass.
    • Built a Kickstarter-like funding model with Amazon Flexible Payments.
    • Performed unit and functional testing with RSpec and Cucumber.
    Technologies: Capistrano, Cucumber, RSpec, Amazon Pay, HTML, MySQL, JavaScript, Ruby on Rails (RoR)
  • Web Application Engineer

    2010 - 2012
    TechSmith
    • Built product support/customer management application in .NET MVC, consulting with staff on UI and functionality.
    • Extensively refactored antiquated Classic ASP (VBScript) web pages.
    • Served as test lead on greenfield Single Sign-On project.
    • Ran automated functional and unit tests for Jing, SnagIt, and web applications.
    • Performed web application security testing.
    Technologies: VBScript, Classic ASP, MSTest, HTML, JavaScript, Microsoft SQL Server, ASP.NET MVC, C#

Experience

  • HTTP/2 Compression Library (HPACK)

    Consumed by all native Windows HTTP stacks - HTTP.sys, WinINet, WinHTTP. C library that cross-compiles in user-mode and kernel-mode. Implementation of RFC 7541.

  • HTTP/2 Framing Library

    C library consumed by WCAT, a public-facing performance analysis tool, and Windows HTTP test code. Implements RFC 7540. Allows application to handle HTTP/2 as desired, without having to worry about the details of the wire format.

  • WinSock Kernel Client

    Client-side of WinSock Kernel-based TCP splitter. Forwarding benchmarked at 1.3 million RPS. Greenfield development of next-gen routing application.

  • Windows Server Containers in AFD.sys

    Updated AFD.sys to support shared kernel architecture necessary for Windows Server Containers.

  • Asynchronous SSPI

    Converted HTTP.sys SSL handshake from blocking and synchronous to an asynchronous state machine. Improved handshake performance by an order of magnitude.

  • Crowdfunding Application

    Greenfield, a full-stack development project. Built a Kickstarter-like application with Ruby on Rails, MySQL, and Amazon Payments. Unit and functional testing with RSpec and Cucumber. Built as a team of two developers and a designer.

  • Tablet-Based Virtual Point of Sale System

    Senior Capstone Project for Meijer

    ASP.Net MVC web application project with jQuery and a MSSQL backend. UI optimized for Windows 7 tablet interfaces. Application communicates with Meijer's existing VPOS system which provided product information upon entry via USB barcode scanner.

  • Support/Customer Management Application

    ASP.Net MVC application replacing existing support/customer management solution. Consulted with support staff to create a solution optimized for their most common workflows.

  • Bayeux Server

    Project for graduate-level computer networking course. .Net web server project compliant with the Comet Bayeux specification of the Comet real-time web programming model, a precursor to WebSockets. Accompanied by client test project.

  • Buffer Overflow

    Term project for graduate level computer security course. Investigate and reproduce buffer overflow vulnerabilities in Windows and Linux. Present on the topic to the class, explaining operating system details, how to write shellcode, and demonstrations of attacks.

Skills

  • Languages

    C++, C#, C, HTML, SQL, JavaScript, VBScript, T-SQL, Rust, Ruby, CSS, Python, Java
  • Frameworks

    .NET, ASP.NET MVC, Ruby on Rails (RoR), Classic ASP, Entity Framework Core
  • Tools

    WinDbg, MSTest, Git, Microsoft Visual Studio, Windows Performance Toolkit, Visual Studio, KDevelop, RSpec, Cucumber, Capistrano, Amazon Pay
  • Paradigms

    Testing, Agile
  • Platforms

    Win32, Windows, Android
  • Storage

    Microsoft SQL Server, MySQL
  • Industry Expertise

    Security
  • Other

    Windows Kernel Drivers, Performance, HTTP, WDM, Networks, COM, Networking, Operating Systems, KD
  • Libraries/APIs

    jQuery

Education

  • Bachelor of Science Degree in Computer Science and Engineering
    2008 - 2012
    Michigan State University - East Lansing, MI

To view more profiles

Join Toptal
Share it with others