Space Cat, Prince Among Thieves

About the Author

Jesse G. Donat - a man of passionate integrity.

Jesse G. Donat is a PHP / Go / TypeScript developer out of Minneapolis.

He's worked on a very wide variety of projects over his career which started in 2006.

Bio

In the mid-1990's my family was gifted a monochrome 286. It was already ancient for the time, and had very few programs or games. It did however have a copy of QBasic. I was fascinated and spent countless hundreds of hours learning to program so I could make my own games. I was 10 years old at the time. I've been programming ever since.

In 2001 at the age of 14 I got my first domain. It started out hosted on Geocities; we used Blogger to update the site via FTP. I soon though became frustrated with the limitations of Blogger and Geocities. A friend gave me some web space on his webserver and I started using SSI's (server-side includes) to make the site easier to update. When I became frustrated with the limitations of server side includes, my friend suggested I learn PHP and MySQL. That's how I really got my start in web development.

In High School I did a half year independent study of C and C++ programming, I also took a class on Oracle SQL.

I went to a local 2 year college for Computer Science. There I learned Java and .NET. I learned a lot of fundamentals like data structures (linked lists, stacks, queues, trees, etc), algorithms, and architecture that I wouldn't end up using until years later but was grateful to have learned when I did. I honestly think these fundamentals have given me a little bit of a leg up on my peers who didn't go to college for CS.

When I graduated college in 2006 I began searching for .NET jobs, but at the time there were seemingly very few. I was also looking for Java jobs, but despite numerous interviews I was unable to land a job.

I ended up falling back on that early experience with PHP and MySQL and found a job as a PHP developer with a small company that developed B2B software for industrial companies. It was honestly amazingly fun and I learned a ton. The pace was insane looking back, but I was young and eager to learn. We would spend 2-3 weeks on a project and then move on to the next one.

We built an insane amount of cool software in that time though. Among my favorites were a realtime worksite noise monitoring system and a "configurator" for a steel manufacturer that allowed their customers to design their own steel scaffolding and factored in the seismic data for the location the scaffolding would be installed. I was at this company for 5 years, and I ended up becoming the lead developer. I was responsible for the architecture of the software, the database design, and overseeing a team of five other developers.

If I'm honest, I hated the management side of things. I spent probably close to a third of my time in meetings with clients, and the other third in meetings with coworkers. To keep up with the pace of development I was working 60-70 hour weeks. I was also on call 24/7. I was young and single at the time, so I didn't mind the hours, but I was getting burned out.

That's when I had a friend and former coworker contacted me about a job at a company he was working at for a local children's book publisher. The team itself was essentially a very recently acquired startup that was tasked with building a new platform for the publisher. The publisher liked their work, so they bought them out. The atmosphere was amazing. The team was small, and we were all very close. We worked out of a converted garage in an office building that used to be an apartment complex. The company was very laid back and the hours were very flexible.

The publisher fell on hard times, and to make ends meet they ended up selling the startup to a much larger company, and that's where I am now. I am a Senior Software Engineer for a large educational company, still on a small team that tries to keep the startup feel. It's frankly a very good job and I really enjoy it. We've got a lot of freedom to do things the way we want to do them, and the company at large mostly leaves us alone.

I work on essentially a reading platform for kids sold directly to schools. We have hundreds of thousands of active users, learning how to deal with that kind of scale has been the most interesting challenge of my career.

Technologies

As I mentioned, I got my real start with PHP and MySQL. I've been working with PHP for over 20 years now, and that really makes me feel old.

I've been working with Go for over 10 years now, I got interested and into it at my previous job. I honestly adore Go. It's a very simple language, but it's also very powerful. It's very easy to write very fast code in Go. It's also very easy to deploy.

Currently at work, we've got a PHP monolith and a AWS Aurora MySQL backend. This is flanked by a number of microservices written in Go for things that require a higher level of optimization. I personally think this is a pretty ideal setup. The PHP monolith is very easy to maintain and has a lot of constraints to keep things from getting out of hand. The microservices are very fast and very easy to deploy. We've been working with Go for almost ten years now, and I've been very happy with it.

Interests

I've always had an interest in digital art. These days, I don't spend as much time with it as I used to or as I'd like to and I wouldn't say I'm good at it, but I've always enjoyed it. I've been using Photoshop since I think version 3.0 on Mac OS 9. For someone whose title is "Senior Software Engineer" I honestly end up still creating a lot of the graphics for our software.

I'm also a music lover. I have no sense of time so I have no rhythm, so I've never been able to play an instrument. That said, I've always loved to listen to music. I've got a pretty wide range of tastes, I don't know if there's a genre I dislike. I've been listening to a fair bit of classical lately, but I also enjoy metal, punk, and hip hop. I'm a big fan of late 1990's/early 2000's trip hop and ska and really wish those genres would make a comeback.

Contact me:

Links

 

Last updated: