I am Jeffrey Guenther

I'm a product-minded programmer and researcher.

I solve problems using code and design.

Here, you can learn more about me, read my reflections on tech and culture, and see the projects I've worked on in the past.

Currently, I lead development at The Beyond Group, an agency specialized in e-commerce. I've spent the last 5+ years as a Ruby on Rails developer and have recently focused on front-end development.

I'm a software developer.

I've spent the majority of my professional careering writing Ruby on Rails applications. The languages I've spent the most time in are Ruby, Javascript and Java. I've dabbled in Elixir, Swift, C++, and C# at various points in my career.

I believe technology exists to serve people.

Software and other technologies should be developed with the needs of people first and foremost. Too often technology is created and we end up serving it instead of it serving us. I work to create systems that consider people first.

I lead projects and teams.

I love seeing people thrive. I've had the privilege of leading groups of a variety of sizes. I'm familiar with test-driven development and the agile methodology. I've taught clients how to leverage agile principles to ensure we build them the right software.

I ship.

Good and shipped is better than perfect. Software can be easily be changed. I think it's essential to ship a basic and working product and to improve it over time. Sometimes a product takes a couple rounds of development to reach a quality where it is ready to be put on the market. In the meantime, a team can keep a shipping mindset by completing a version and sharing it with a limited group of people. With each round of development, a usable product is shipped with greater fidelity.

I love a hard, unsolved problem.

At the core of my being I'm a researcher, one who loves building products that break out of the lab and people actually use. I'm experienced in participant observation and can construct a formal usability study if the problem calls for it. Most recently, I've been exploring how Jobs-to-be-done Theory can be used to inform the product design process. I thoroughly enjoy the process of gathering and requirements and helping people figure out what to build.

I teach and mentor

I'm passionate to equip people with the skills and knowledge to build things for themselves. I tutored through high school and university (grad school included). I taught several semesters as a TA and even had the opportunity to help redesign the introductory programming course at SIAT . Thinking about how to make the learning experience better for people is a hobby of mine.

Education

In 2016, I earned a PhD in Interactive Arts and Technology from Simon Fraser University. In 2010, I earned a Bachelor's of Science in Computer Science with a minor in mathematics from Liberty University.

Problems

There are several problems I'd like to contribute solutions to in my lifetime. My experience and background as a researcher, entrepreneur, and programmer gives me a unique perspective into these problems and I find them fascinating.

Alternatives

Exploring alternative solutions is fundamental to human problem solving. Unfortunately our current digital tools are woefully inadequate in many cases to support this need. Workarounds abound. I'm fascinated by this topic and how we can develop tools support creativity and thought. So much so, I tackled an aspect of this problem in my thesis.

Knowledge Sharing

Much information is locked up in the dusty filing cabinets and the dark corners of databases of academic writing. If people had better access to this information, I think we'd be living in a different world. I'm interested in the tools we use and the ways we share knowledge with each other. This topic covers design, storytelling, technology, marketing and more.

Programming Education

The ability to write code is fundamental to this generation's ability to contribute to society. From HTML and CSS on the internet to app and server, software is everywhere. I believe everyone should be able to learn to code if they want. Unfortunately, learning to program is often on one end of a spectrum. It's either taught from a theoretical point of view, like it is in most universities, or it's taught from an applied point of view as it is in online training courses that focus primarily on teaching language syntax or the API of a library. Rather, I believe programming should be taught as a blend of theory and practice. People should build things and know why they work.