Work Samples
My first ever Rust project was a port of a game engine from C++. The original game engine was by YouTuber javidx9. Having gone back to his site, I see that there’s a new version of his game engine, so maybe it’s time to try again and use what I’ve learned from Rust?
Writing Samples
I am proud of my writeup on my progress with the Artsey Glove. I think it gets enough of the point across without diving too deep into the weeds. I plan on continuing to add to the post as I progress further with the project.
Analysis Samples
In my experience, things rarely go EXACTLY as intended on the first try. As much as I appreciate the help the Rust compiler gives, there are still many times when I’ve needed to find out what was causing the weird edge cases in my programs.
In my spinoff version of the above game engine, I wanted to add support for the Steam Audio library. Problem is, that library is a precompiled DLL written in C++. This was a great time to test my ability to interop C and Rust. You can see my final result here.
The key part of the library was it’s ability to encode regular stereo audio into an Ambisonic sound that could be positioned anywhere in 3D space.
I had a general understanding of how digital audio worked before this project due to some light video/audio editing in high school, but this library really forced me to know what I was doing.
The code would take a regular buffer of sound samples, a position, and a rotation in 3D space and run it into the library for encoding into a soundscaped audio playback. The final result was actually very nice.
I'm trying to track down the `olc_pge_macros` library that I wrote, which was used to help with the interop for some of the Steam Audio structs. It basically derived all the necessary functions for pre-processing and post-processing the audio data.
Short Demo
Here’s a short demo I recently recorded and edited for a client I contract for. We’ve been building a platform for simplifying the EDI onboarding process. EDI is what has been paying my bills for the last 5 years, but I would really love to do is be a developer. This project was a nice mix of the two, as I could help my colleague with his Java project and also build out the Ruby interface that interoperated with it.
This is a prerecorded Demo, but I hope it still gives a nice example of my style.
Questionnaire
What work have you found most technically challenging in your career and why?
I have worn many, many hats. I have worked everything from cabinet maker, delivery truck driver, hotel maintenance, and software developer.
Each job has had its unique challenges and required me to face each day with an open mind about problem solving.
And also in each, the technical problems became harder to manage the larger the scope of the project grew. I have always tried to hold entire projects in my head at a time so I can turn over all the details at once and find new approaches to solutions. Unfortunately this becomes impossible at large scale, so I have been developing my ability to take and recall notes on key information.
What work have you done that you were particularly proud of and why?
I am particularly proud of my work in hardware space. As a member of a group called Inkeys, we are looking for ways to develop better peripherals and interfaces for people who either can’t use or don’t like traditional input methods.
For example, my keyboard is only 18 keys. Using layers and combos, I can type at 60 wpm using only one hand. While for me this is a novelty and a matter of choice, others NEED these kinds of options. Recently a new member to our Discord server had a friend lose an arm a few months ago, and they would like to use a one handed keyboard.
It has been so fulfilling to be able to put my knowledge to good use for others.
When have you been happiest in your professional career and why?
I have been happiest when I had a clear direction and faced unique challenges every day. I fell in love with Software development when I was young because it let me do anything at all. The only limit was what I could imagine and learn.
Being challenged to learn new things keeps me going.
When have you been unhappiest in your professional career and why?
While wearing my Corporate EDI Coordinator hat, I found myself too eager to prove myself. I was constantly taking on more responsibilities for projects I was in no way related to. While I enjoy challenging my knowledge, which is why I took on those responsibilities in the first place, I found myself quickly burning out.
I have since been more careful with the responsibilities I agree to, and I try to be very clear when agreeing to new projects that I will do what I can.
For one of Oxide’s values, describe an example of how it was reflected in a particular body of your work.
My most recent project for the EDI company I contract for has required me to demonstrate my versatility. I was given ownership of a project that required interoperability with an existing Java package previously developed.
Within this scope, I used my existing knowledge of EDI standards, REST APIs, SQL connections, and Java and tie that in with my completely nonexistent knowledge of Ruby.
The project was a success, and we already have a few clients lined up.
For one of Oxide’s values, describe an example of how it was violated in your organization or work.
My last corporate job seemed to not value Teamwork as much as I was led to believe. It felt as if we were isolated islands, even though my team consisted of 3 other EDI developers. I’ll admit that I didn’t do much to remedy this. Being absorbed in my own work, I wouldn’t reach out when I needed help and assumed I could handle everything on my own. This is a part of my character that I acknowledge and am actively working toward improving.
For a pair of Oxide’s values, describe a time in which the two values came into tension for you or your work, and how you resolved it.
I consider myself a pretty Optimistic person. However, my sense of Urgency can fight my Optimism from time to time. When I desperately want a project to progress, but I can’t seem to find the right angle, my otherwise sunny disposition and take a bit more cynical tack. I maintain my professionalism, but repeatedly hitting roadblocks can test anyone’s commitments to Optimism.
Why do you want to work for Oxide?
It has taken me weeks to work up the courage to send in this application. I first wanted to apply for the Embedded Software developer position, but that has since been filled.
Every time I reread Oxide’s values and job requirements I get excited! Whenever I’ve been doubting myself recently, I reread this statement:
If you don’t meet 100% of these qualifications you should still seriously consider applying – at least one of us was missing each of these at the outset!
As a self taught, well, everything, I love the idea of a culture that nurtures that desire to grow into a role.
I believe that I will fit in nicely with the culture at Oxide and that I can do the work required of me.