Giter Site home page Giter Site logo

Hi there 👋

I'm Jason, a passionate software engineer with over a decade of experience across a broad range of software development areas. I specialize in embedded software engineering using C/C++, embedded DevOps, and Agile methodologies, with a background in full-stack web development. As a voracious life-long learner, I have a demonstrated ability to innovate, drive continuous improvement, and ensure successful outcomes through systems thinking and creative problem-solving.

Currently, I'm seeking a new role to further my growth as an engineer and team member. For several years, I have collaborated with control systems experts to develop software for systems that control traction, propulsion, charging, and other safety-critical applications. I have also focused on continuously improving the processes used in these projects. I thrive on the challenges posed by such projects and enjoy collaborating with engineers from a wide range of disciplines.

Outside of my work as a software engineer, I'm passionate about jiu-jitsu. I have been practicing jiu-jitsu for as long as I have been working with software, finding it a perfect physically-active complement to my career. Jiu-jitsu requires similar elements like intellectual curiosity, teamwork, and humility, while also countering the unhealthy aspects of spending long hours in front of a computer. When I’m not tinkering with software or embedded systems, I am likely engaged in my jiu-jitsu practice.

I also greatly enjoy learning and sharing my knowledge with others. I'm involved in sponsoring university students for their senior projects, mentoring interns, and participating in industry advisory board meetings at my local university.

  • 🚀  I'm currently working on personal R & D project for crafting embedded software that better accomodates change and making open source contributions.
  • 💬  Ask me anything related to embedded C/C++, Rust, or embedded DevOps.
  • 🌱  I'm currently learning embedded Rust, monorepo patterns, and Hardware in the Loop (HIL) testing methods.
  • 📚 Next, I want to improve with embedded Linux using Yocto.

🔗  Connect with me

Jason P. Scott's website engjay

Recent Work

My recent public work:

  • Published an initial v0.1.0 release of a Rust embedded-hal driver for the PCB Artists SPL module.
  • Published a v2.0.0 version of a simple landing page driven by the need for landing page placeholders for a few web ventures I have going on at the moment.
  • Recently resurrected my personal site located at jasonpscott.com. Just a landing page placeholder at the moment but I'm putting together a simple portfolio and blog that will deployed soon.

Technologies & Tools

Current strengths include

  • Embedded C/C++ and Rust.
  • Python, especially in the context of embedded dev and DevOps.
  • Reusable embedded software (read: loosely-coupled to vendor, hardware, etc.).
  • Off-target testing of embedded software.
  • Embedded DevOps (GitHub Actions, Jenkins, Docker).

embedded-c c cplusplus rust python csharp docker jenkins

Incomplete list of things with which I have varying amounts of experience:

Additional Languages

java javascript julia php ruby typescript

Backend

codeigniter dotnet flask rails

Cloud Services

aws circleci gcp heroku

Database

mongodb mssql mysql postgresql sqlite

Embedded

arduino

Frameworks

anaconda angular bootstrap electron jasmine jest karma jekyll mocha opencv opengl pandas scikit_learn seaborn selenium tensorflow

Frontend

css3 foundation html5 sass

Tools

bash git grafana matlab travisci

Platforms

apple linux nodejs windows 8 windows 11

Notable Achievements

  • Released open source projects including a simple landing page and a Rust embedded-hal driver for a SPL sensor.
  • Crafted embedded software for safety-critical applications like battery-charging, traction, and vehicle control.
  • Patched production embedded software to fix devices in the field.
  • Introduced containerization to the embedded software development processes at two organizations, which solved the "it works on my machine" problems.
  • Pioneered off-target unit testing for embedded software projects in two organizations, which dramatically improved the safety, security, and quality, of the software while reducing patches in production.
  • Led development and implementation of CI workflows for embedded DevOps in two organizations, which dramatically reduced the number of defects escaping detection, reduced the code complexity, and improved documentation, code coverage, and collaboration.

Thing I've Been Told Weren't Possible but I Did Them Anyway

  • Natively build embedded software on the build machine for simulation.
  • Use Python to run simulations with embedded C/C++ modules.
  • Test embedded software off-target.
  • Build embeddded software in Docker containers.
  • Build CI pipelines for embedded software.
  • Support multiple microprocessors from different vendors with a single codebase without it being a nightmare.

Continuous Learning

In-Progress

  • Work-Through1: The Embedded Rust Book (repo).

    • Since the release of the pricing for the functional safety-certified version of Rust, Ferrocene, I anticipate the adoption of Rust for embedded and safety-critical applictions will accelerate. It seems far less costly for licensing, tooling, and process development than for safe C/C++, especially for small to midsize organizations.
  • Embedded Software Examples (private repo - ask for more info):

    • I've pioneered cross-platform embedded software development and off-target unit testing at two organizations but have been inspired by innovative engineers like Phillip Johnston of Embedded Artistry, Jacob Beningo, and John T. and Wayne T. Taylor of Patterns in the Machine to go much farther. This repo is an ongoing personal R & D project to develop and refine methods for cross-platform, -vendor, -compiler, -architecture, and even -language, development for crafting embedded software that better accomodates change than the current typical methods.

Publications

  • Dr. Anna Koufakou and Jason Scott. 2020. Lexicon-Enhancement of Embedding-based Approaches Towards the Detection of Abusive Language. In Proceedings of the Second Workshop on Trolling, Aggression and Cyberbullying, pages 150–157, Marseille, France. European Language Resources Association (ELRA). [repo]

    • TensorFlow and Scikit-Learn-based experiments written in Python comparing the efficacy of several novel methods for improving natural language processing (NLP) with convolutional neural networks.

Dev Board Collection

Anyone working with embedded software inevitably winds up with a collection of development boards. I thought it would be fun to share my collection.

Adafruit

Arduino

  • Uno (an original pre-Rev2 with only 28 pins)
  • Uno R3

LoFive R1.1

Microhip

Nordic

Qorvo

Raspberry Pi

ST

Texas Instruments

My GitHub Stats

🐱 My GitHub Data

📦 206.0 kB Used in GitHub's Storage

🏆 1,078 Contributions in the Year 2024

💼 Opted to Hire

📜 24 Public Repositories

🔑 41 Private Repositories

I'm an Early 🐤

🌞 Morning                665 commits         ███████░░░░░░░░░░░░░░░░░░   28.75 % 
🌆 Daytime                1025 commits        ███████████░░░░░░░░░░░░░░   44.31 % 
🌃 Evening                619 commits         ███████░░░░░░░░░░░░░░░░░░   26.76 % 
🌙 Night                  4 commits           ░░░░░░░░░░░░░░░░░░░░░░░░░   00.17 % 

📅 I'm Most Productive on Monday

Monday                   471 commits         █████░░░░░░░░░░░░░░░░░░░░   20.36 % 
Tuesday                  261 commits         ███░░░░░░░░░░░░░░░░░░░░░░   11.28 % 
Wednesday                354 commits         ████░░░░░░░░░░░░░░░░░░░░░   15.30 % 
Thursday                 350 commits         ████░░░░░░░░░░░░░░░░░░░░░   15.13 % 
Friday                   194 commits         ██░░░░░░░░░░░░░░░░░░░░░░░   08.39 % 
Saturday                 389 commits         ████░░░░░░░░░░░░░░░░░░░░░   16.82 % 
Sunday                   294 commits         ███░░░░░░░░░░░░░░░░░░░░░░   12.71 % 

📊 This Week I Spent My Time On

🕑︎ Time Zone: America/New_York

💬 Programming Languages: 
Markdown                 10 hrs 6 mins       ███████████░░░░░░░░░░░░░░   45.20 % 
TOML                     4 hrs 4 mins        █████░░░░░░░░░░░░░░░░░░░░   18.22 % 
YAML                     2 hrs 3 mins        ██░░░░░░░░░░░░░░░░░░░░░░░   09.20 % 
HTML                     1 hr 37 mins        ██░░░░░░░░░░░░░░░░░░░░░░░   07.26 % 
JavaScript               1 hr 31 mins        ██░░░░░░░░░░░░░░░░░░░░░░░   06.82 % 

I Mostly Code in C

C                        7 repos             █████░░░░░░░░░░░░░░░░░░░░   21.21 % 
JavaScript               4 repos             ███░░░░░░░░░░░░░░░░░░░░░░   12.12 % 
Python                   4 repos             ███░░░░░░░░░░░░░░░░░░░░░░   12.12 % 
Rust                     2 repos             ██░░░░░░░░░░░░░░░░░░░░░░░   06.06 % 
C++                      1 repo              █░░░░░░░░░░░░░░░░░░░░░░░░   03.03 % 

Last Updated on 09/08/2024 04:05:20 UTC

Footnotes

  1. The term "work-through" is what I've come up with for instances of my practice of working through examples, books, tutorials, etc., to keep up with the software industry and continuously improve my skills and knowledge.

Jason Scott's Projects

dq0 icon dq0

Visualisation of dq0 transform

hue-thief icon hue-thief

Factory reset Philips Hue bulbs using an EZSP-based Zigbee USB stick. After a reset, bulbs can easily join any type of compatible bridge.

pa-spl icon pa-spl

A no_std embedded-hal Rust driver for the PCB Artists I2C SPL Meter module.

pr-size-labeler icon pr-size-labeler

🏷 Visualize and optionally limit the size of your Pull Requests.

qpid icon qpid

Open PID Controller for embedded systems

selfbalancing-robot icon selfbalancing-robot

Selfbalancing robot in Arduino. Implemented with PID controllers, FIR filters, complementary filter.

stm32cubef4 icon stm32cubef4

STM32Cube MCU Full Package for the STM32F4 series - (HAL + LL Drivers, CMSIS Core, CMSIS Device, MW libraries plus a set of Projects running on all boards provided by ST (Nucleo, Evaluation and Discovery Kits))

stm32cubef7 icon stm32cubef7

STM32Cube MCU Full Package for the STM32F7 series - (HAL + LL Drivers, CMSIS Core, CMSIS Device, MW libraries plus a set of Projects running on all boards provided by ST (Nucleo, Evaluation and Discovery Kits))

unifiedfirmware icon unifiedfirmware

Unified Firmware 2.0 is the latest easy to use firmware for select 3D printers and boards from TH3D Studio. Both 8 bit and 32 bit based machines/boards are supported thanks to being built on Marlin 2.0.

vale-styles icon vale-styles

A Vale-compatible implementation of the Microsoft Writing Style Guide.

vault2git icon vault2git

SourceGear Vault project to Git repository converter.

wt-learn-opengl icon wt-learn-opengl

My work-through of the Learn OpenGL - Graphics Programming book by Joey de Vries.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.