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.
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, leading a team of Shopify theme developers.
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 place people before tech.
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. Great leadership is defined by clarity and empathy.
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. Most recently, I've become advocate for Shape Up, the methodology introduced by Ryan Singer.
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 my core, 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 to support creativity and thought. So much so, I tackled an aspect of this problem in my dissertation.
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
Being able to program is invaluable. From HTML and CSS on the internet to apps and servers, software is everywhere. I believe everyone should be able to learn to code if they want. Unfortunately, instruction tends to be 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 many 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 understand how to build things and why they work.