Skip to content
View EngJay's full-sized avatar
πŸ˜€
πŸ˜€
Block or Report

Block or report EngJay

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
EngJay/README.md

Hi there πŸ‘‹

I'm Jason, a passionate software engineer with over 8 years of experience. 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 am 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 am 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.
  • πŸ’¬ Β Ask me anything related to embedded C/C++, 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

engjay

Technologies & Tools

Current strengths include

  • Embedded C/C++.
  • 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).

c cplusplus python csharp docker jenkins

Varying amounts of experience with

angular arduino bash bootstrap circleci codeigniter css3 dotnet electron flask gcp git grafana heroku html5 jasmine java javascript jekyll jest karma linux matlab mocha mongodb mssql mysql nodejs opencv pandas php postgresql rails ruby rust sass scikit_learn seaborn selenium sqlite tensorflow travisci typescript

Notable Achievements

  • 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

πŸ“¦ 201.0 kB Used in GitHub's Storage

πŸ† 751 Contributions in the Year 2024

πŸ’Ό Opted to Hire

πŸ“œ 21 Public Repositories

πŸ”‘ 36 Private Repositories

I'm an Early 🐀

🌞 Morning                549 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   31.21 % 
πŸŒ† Daytime                763 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   43.38 % 
πŸŒƒ Evening                443 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   25.18 % 
πŸŒ™ Night                  4 commits           β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   00.23 % 

πŸ“… I'm Most Productive on Monday

Monday                   382 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   21.72 % 
Tuesday                  197 commits         β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   11.20 % 
Wednesday                259 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   14.72 % 
Thursday                 259 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   14.72 % 
Friday                   142 commits         β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   08.07 % 
Saturday                 294 commits         β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   16.71 % 
Sunday                   226 commits         β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   12.85 % 

πŸ“Š This Week I Spent My Time On

πŸ•‘οΈŽ Time Zone: America/New_York

πŸ’¬ Programming Languages: 
C++                      3 hrs 25 mins       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   19.52 % 
Rust                     3 hrs 20 mins       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   18.97 % 
Meson                    3 hrs 10 mins       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   18.08 % 
Markdown                 2 hrs 3 mins        β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   11.70 % 
Other                    1 hr 39 mins        β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   09.41 % 

I Mostly Code in C

C                        7 repos             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   24.14 % 
Python                   4 repos             β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   13.79 % 
TypeScript               2 repos             β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   06.90 % 
C++                      1 repo              β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.45 % 
Makefile                 1 repo              β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.45 % 

Last Updated on 02/07/2024 04:04:50 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. ↩

Popular repositories Loading

  1. Wikimedia-Toxicity-Text-Classification Wikimedia-Toxicity-Text-Classification Public

    An academic project exploring the use of convolutional neural networks with variants of word embeddings to detect abusive language in online text.

    Jupyter Notebook 2

  2. vault2git vault2git Public

    Forked from slamotte/vault2git

    SourceGear Vault project to Git repository converter.

    Ruby 2

  3. EngJay EngJay Public

    1

  4. investment-profile-action investment-profile-action Public

    A GitHub Action that generates an investment profile from hours entered on issues.

    TypeScript 1

  5. wt-embedded-rust-book wt-embedded-rust-book Public

    My work-through of The Embedded Rust Book.

    1

  6. qPID qPID Public

    Forked from akharsa/qPID

    Open PID Controller for embedded systems

    C