Principal Software Engineer For Hire

Hello!

Duane Morin, Software Engineer. Principal Software Engineer.

Many of you probably know me as Shakespeare Geek, not as a principal software engineer. I’ve been here, talking about Shakespeare, for twenty years. I hope I’ve been able to provide some value along the way. I know that I’ve certainly learned a lot.

Unfortunately, it’s not my full-time job to talk about Shakespeare (though that would be nice). For thirty years, I’ve been a professional software developer, known as “principal software engineer”, “full stack engineer,” and various other titles. In short, I work on the web. Not primarily on the design side; I’m more on the side of the servers, the parts that make the website *do* something. If it’s got a database (did you register? Do you have an account?) or allows transactions in some way (did you buy something?), that’s where I work. Hence, “full stack”. A whole stack of technology makes up how the web works.

I’m also looking for a new job. If you know of any open roles for a guy like me, I’d love to hear more about them. Here’s a quick mini-resume, in rough order of what I think is most important/interesting. I apologize to those well-meaning souls for whom this is about to be a world of gibberish. Those who recognize many of the words might see some they need!

  • I’ve been working primarily in Ruby on Rails for roughly the last fifteen years, though many of my personal projects, particularly those related to machine learning or artificial intelligence, are written in Python.
    • If you’ve ever visited the Shakespeare Plays or Shakespeare Characters browsers, those were all created through software I wrote using artificial intelligence. The content and code were also created using AI. I told the AI what I needed and, with some back-and-forth, we created everything.
    • I’m working on a new version of those pages powered by React and Tailwind CSS. The existing version was more of a project — could I even do it? And, if I built it, would people come? The answer to both was yes, so version two is in the works!
  • What does “full stack” mean? Everybody uses it, which makes it meaningless by itself. Here’s my version:
    • I can do the “design” part—the HTML, the CSS, the “what does this page look like?” But it’s not my strength. I don’t have the visual design sense to look at a page and say, “This needs to be different.” I admit that. Others are better at it than me.
    • I’m good at the “what does this page do” part. Most of my experience is in jQuery and Bootstrap, which makes me a dinosaur right now, but there was never a meteor that came and took us all out.
      • I’m taking classes in React and TailwindCSS to work on this.
    • I’ve done plenty of work at the API level, both creating APIs and consuming others. At my most recent employer, the API we created for partners represented nearly half our incoming traffic. I can speak to all aspects of API integration, from the design and documentation of the API itself through the security model and performance optimization to the data model.
    • I was in charge of moving our monolithic Rails applications into containers using Docker. During this project, we also started using CI/CD pipelines (in this case on Gitlab).
  • I recently finished a course in Golang and am working on a small project to reinforce my knowledge of that language. I’ll update this page when the public repository is available (it will be open-source).
  • Before Ruby on Rails, I spent ten years or so in Java. I did Java at TripAdvisor and, before that, during my time in financial services. In fact, I worked in Java from its inception, when it was originally used for purely client-side “applets.” I made many trips to San Francisco for the JavaOne conference and watched the evolution of the language.
  • Over the years, I’ve published apps for both the Apple and Android stores, but unfortunately, neither is available anymore (which is also why this item isn’t higher on the list). If you do not continue to maintain and upgrade your apps as the OS changes, they are eventually removed. That’s what happened to me. I put them out as a learning exercise, and when I no longer had time to keep them up to date, I had to give them up.
  • Right now, I am the chief engineer at a fintech startup called FinstreamTV, where, among other duties, I’ve created OTT apps for Roku and Amazon FireTV. While Roku uses its proprietary technology, FireTV is Android under the covers. So, I’m actively working on upgrading my Android development skills to modern standards.

Thanks for reading this far!

I realize this page was a brain dump, that was the whole point. It’s not something that you share. If you need shareable links:

Need a Principal Software Engineer? Maybe It’s Me!