Zak Kohler, Software Developer in Akron, OH, United States
Zak Kohler

Software Developer in Akron, OH, United States

Member since May 27, 2021
Zak is a chemical engineer by training but a hacker at heart. With extensive programming experience (starting in third grade), he excels at delivering the right solution that meets goals for functionality, performance, reliability, and maintainability. While serving as a chemical and software engineer at Cooper Tire & Rubber Company since 2015, he has applied his knowledge of C, Compilers, operating systems, and CPUs, and presented talks on CPUs, Renode, and RISC-V.
Zak is now available for hire

Portfolio

Experience

Location

Akron, OH, United States

Availability

Part-time

Preferred Environment

Linux, Vim Text Editor, VS Code, GCC, Clang, Make, Clean Code, Python, Test-driven Development (TDD), Bash, GDB

The most amazing...

...success I've achieved was building an ML-based expert system that outperforms humans in the chemical engineer role for which I was originally hired.

Employment

  • Full-stack Developer

    2022 - PRESENT
    Radical Semiconductor Inc
    • Developed a CI/CD pipeline for a custom fork of OpenSSL, a Flask back-end, and a .NET front-end.
    • Created automated unit and integration testing for all back-end functionality.
    • Suggested and implemented improvements to the overall project architecture, which led to increased maintainability and improved the deployment experience.
    Technologies: Python, Python 3, Flask, Blazor, .NET, .NET 6, Architecture, Continuous Integration (CI), CI/CD Pipelines, Open Source, OpenSSL, Make, GCC, Protobuf, APIs, Full-stack, Back-end, SSL
  • Chemical and Software Engineer

    2015 - PRESENT
    Cooper Tire and Rubber Company
    • Identified an opportunity to use machine learning to automate a core skill set required in my chemical engineering role. Successful execution involved building the data infrastructure, ML deployment, and a UI that naturally augments engineers.
    • Developed an image analysis algorithm that is unprecedented in the industry. This was a curiosity, outside my duties, from the manufacturing side. It reduced a task that took three hours to the time required to scan the samples.
    • Created a self-serve DevOps system for "engineers who code." This involved creating the automation and documentation, code review, and pair programming to enable non-developers to use Git and Python to develop and deploy engineering apps.
    Technologies: Python, SQL, Web, Azure, DevOps, C#, Open Neural Network Exchange (ONNX), Machine Learning, Clean Code, Make, Linux, Test-driven Development (TDD), Bash, Polymer Science, Iterative Design, Project Management, Vim Text Editor, Public Speaking, Jupyter Notebook, Graphical User Interface (GUI), Blazor, Pytest, Matplotlib, JavaScript, CSS, VS Code, Flask, Data Structures, Object-oriented Programming (OOP), Back-end, HTML5, SQLAlchemy, Full-stack, HTML, Software Architecture, .NET, Architecture, JSON, REST, OAuth, OAuth 2, Microsoft SQL Server, Visual Basic 6 (VB6)
  • Front-end Python Developer

    2021 - 2021
    Stanford University - Main
    • Developed a new interactive Jupyter Notebook within a multi-notebook analysis workflow. This included a full GUI experience built using ipywidgets.
    • Unit tested all back-end functionality according to existing testing standards.
    • Suggested and implemented improvements to the user interface specification, which made the end user experience much smoother than initially conceived.
    Technologies: Python, Jupyter, Pytest, ipywidgets, Matplotlib, Graphical User Interface (GUI), VS Code, Data Structures, Object-oriented Programming (OOP), HTML5, Software Architecture, Architecture
  • Molecular Dynamics Intern | Tread Compounding Intern

    2012 - 2013
    Cooper Tire and Rubber Company
    • Created analytics tools used globally by 50+ materials engineers.
    • Experimented with accelerating molecular dynamics simulations using GPUs by recompiling LAMMPS, which resulted in a two-time speed up.
    • Evaluated 10+ experimental raw materials in rubber compounds, such as resin and liquid polymer.
    Technologies: GNU Make, Make, Python, Linux, C, Bash, GCC, Excel VBA, Jupyter Notebook, Graphical User Interface (GUI), Data Structures, Object-oriented Programming (OOP)
  • Web Developer

    2006 - 2012
    Freelance
    • Customized an open-source forum and integrated it with an existing website.
    • Maintained legacy websites for multiple clients, always responding promptly to requests for adjustments.
    • Created a book launch promotion that enabled fans to send a themed email to their friends.
    Technologies: CSS, JavaScript, SQL, Linux, PHP, Graphical User Interface (GUI), Web, Back-end, Full-stack, HTML

Experience

  • Baremetal RISC-V Renode
    https://github.com/y2kbugger/baremetal-riscv-renode

    An educational introduction to developing Embedded C products using simulated hardware aimed at beginners. I explore the line between hardware and software by creating a series of demos within a minimal, free, open-source environment. These demos span from blinking an LED to implementing pieces of a toy operating system. The goal is to shed light on the parts of the system that we take for granted and gain a better understanding of computers and operating systems.

    I was the sole developer of the code examples and compilation instructions, along with a blog post and LinuxFest 2020 conference talk on the subject. This lowers the barrier of entry for new Embedded C and ASM developers while adding to the ecosystem for open hardware standards such as RISC-V.

  • Conference Talk on How CPUs Work
    https://mybinder.org/v2/gh/y2kbugger/sapy.git/mybinder-release

    A conference presentation covering my own micro-programmable CPU simulator. The goal was to teach how CPUs work internally and how they interface to the rest of a computer. I was the sole developer of the interactive framework that allows single-stepping through microcode, assembling from a custom assembly language, and performing simple IO. I was also the sole contributor to this project, which I presented at the PyOhio 2019 conference.

    My talk, "Learn How Computers Work Between Silicon and Assembly: Build a CPU with Python," helps high-level programmers understand what is happening in a computer at a lower level. During the talk, we build up a CPU focused on transparency, interactivity, and modularity. Our CPU has a configurable architecture and machine language, and it is extensible with new instructions to add functionality. The talk covers registers, data and address buses, memory (ROM and RAM), IO, and assemblers.

  • A Simple RISC-V Multitasking OS for Learning
    https://blog.y2kbugger.com/2021-12-03-ohiolinuxfest.html

    Explore the line between hardware and software by writing code with absolute control over the CPU and peripherals. We'll explore how to do this using a completely free and open source simulator (Renode), toolchain (GCC), and instruction set (RISC-V). Using assembly, we'll initialize system parts such as CPU interrupts and privilege levels. Finally, we'll review the assembly code for doing a context switch, the key software which enables multitasking via timesharing.

Skills

  • Languages

    Python, Visual Basic 6 (VB6), Visual Basic, SQL, C#, Bash, Excel VBA, C, Embedded C, Assembly, HTML, PHP, CSS, JavaScript, HTML5, Python 3
  • Frameworks

    Flask, .NET, Blazor, OAuth 2
  • Paradigms

    Clean Code, Object-oriented Programming (OOP), DevOps, Iterative Design, Test-driven Development (TDD), RISC-V, REST, Continuous Integration (CI)
  • Storage

    JSON, Microsoft SQL Server
  • Libraries/APIs

    SQLAlchemy, Matplotlib, OpenSSL, Protobuf
  • Tools

    VS Code, GCC, Make, Valgrind, Vim Text Editor, Jupyter, Pytest, GDB
  • Platforms

    Linux, Jupyter Notebook, Web, Azure
  • Other

    Open Neural Network Exchange (ONNX), Machine Learning, Polymer Science, Renode, Public Speaking, Graphical User Interface (GUI), Data Structures, Back-end, Full-stack, Software Architecture, Architecture, Molecular Dynamics, Biotechnology, Monte Carlo Simulations, Differential Equations, PID Controllers, Cell Biology, Chemistry, Biochemistry, Process Economics, CPU Design, Compilers, Molecular Biology, ipywidgets, Linux Kernel, Operating Systems, OAuth, .NET 6, CI/CD Pipelines, Open Source, APIs, SSL

Education

  • Bachelor's Degree in Chemical Engineering
    2010 - 2015
    University of Akron - Akron, Ohio, USA

To view more profiles

Join Toptal
Share it with others