Skip to content

John Bernard

Software Engineer @ Nashville, TN

Hi, I'm John. I'm a software engineer with a keen interest in improving user experiences with a proactive, defensive style of programming that aims to categorically prevent bugs and produce code that makes sense to humans.

My specialties are web technologies including React, TypeScript/JavaScript, CSS, and various libraries comprising the modern front-end ecosystem. I also dabble in other technologies as a hobby including Neovim, Lua, Arch Linux, Bash, Rust, and Nix. On top of that, I am quite well-versed in Python and have worked with SQL, C/C++, and Assembly in the past.

I am looking for roles that allow me to utilize my strengths of writing robust, maintainable code in a way that can meaningfully impact people's relationship with the software I work on. I prioritize companies that offer remote work with reasonable flexibility and team cultures that value empathy and pragmatism.

If any of that piques your interest, shoot me an email and I'll be more than willing to hear you out.

  • React
  • TypeScript
  • JavaScript
  • CSS
  • Python
  • Bash
  • Lua
  • Git
  • Neovim
  • Arch Linux

Experience

Salient SystemsFull Stack Web Engineer

3 months, Austin, TX

I successfully advocated for and implemented a repository for types shared between the front-end and the back-end in order to eliminate an entire category of bugs that had been continually plaguing the development team prior to my arrival. However, I did not stay long enough to verify the project's success: friction between myself and the lead developer arose due to miscommunication on both sides, ultimately resulting in my decision to leave the company.

VinformatixFront-end Web Engineer

26 months, Baton Rouge, LA

I spearheaded the effort to modernize the company's primary front-end technology stack using React and TypeScript (after months of preparation I had spent prior to the role), starting with building a brand new web app from the ground up and rewriting an existing app. The endeavor to provide a solid foundation for other developers to take inspiration from and build upon became a valuable educational experience for me as I spent time researching and learning the intricacies of React/TypeScript and its surrounding ecosystem.

While at Vinformatix, I created an OpenAPI client code generator targeting TypeScript/JavaScript (with optional React plugins). I was motivated by the observation that I was repeatedly writing the same API client boilerplate across projects and the desire for a single source of truth that would conspicuously propagate any API changes throughout the codebases of both the front-end and back-end. This was my first experience building an NPM library, and it gave me the opportunity to explore the complexities of modern front-end tooling, including transpilation, module resolution (CJS/ESM), and the vast amount of configuration options. While I personally found great success using it, I regret not having the time to gather feedback from other developers to further improve it before leaving the company.

Immense NetworksSoftware Engineering Intern

4 months, Baton Rouge, LA

Going into my first industry role, I had very little experience with web technologies. Despite this, I was quickly able to learn JavaScript thanks to “You Don't Know JS” and MDN Web Docs, using my acquired knowledge to optimize a web page's loading time from 40+ seconds to under 1 second within the first week. I also rewrote an entire CoffeeScript codebase to JavaScript using decaffeinate and my own custom automated workflow, fixing bugs along the way. I went on to do a presentation on the costs and benefits of this rewrite in university, earning an A+.

  • Optimized a web page's loading time from 40+ seconds to under 1 second
  • Rewrote an entire CoffeeScript codebase in JavaScript
  • Wrote Bash scripts to optimize the onboarding process

Projects

Want to learn about the open source projects I've worked on? See my pinned repositories on GitHub.