Conrad Beach

Hi. I'm Conrad Beach.

I'm a (mostly) Back-end Web Developer located in Logan, Utah, United States. I'm a family man and a Ruby fanboy. I love building stuff for the web.

Things That Are Important to Me

Being Good

I care a lot about being a genuinely good person and treating people right. I strive to be kind, generous and ethical in everything I do. Being humble and selfless is important to me. I want to be the kind of person who's easy and enriching to work with, the kind of guy that you're really grateful to have on your team.

Doing Good

I'm passionate about doing work that makes a positive difference in the world. It doesn't need to be as glamorous as curing cancer or something like that, but it does need to be genuinely valuable. It needs to solve real problems and make people's lives better. Too many businesses, teams, etc. really only exist to make money; I think that's a shame, and I think we can do better.

Constant Improvement

I'm committed to the constant pursuit of mastering my field of work. I've chosen software development as my career, and I intend to become the best I possibly can at it. I'm always working to learn more about what I do and looking for ways to improve. I'm definitely not one of the best developers out there and likely never will be, but I'm on the path to mastery and I intend to be on it for a very long time.

Craftsmanship

I focus on writing code that works correctly, is reliable and is easy to maintain. I aim to build products that meet needs and are easy and enjoyable to use. I take the time to truly understand problems so that I can create well-designed, quality solutions. Well-made software can do amazing things. Poorly made software can be a real pain. I work hard to consistently produce the well-made kind. I put a lot of effort into keeping my schedule, health and other factors in balance so that I can stay fresh and do my best work.

Joy

Ultimately, I choose to be a developer because I love doing it! I love writing code; I love creating beautiful, useful software. Building things with nothing more than a laptop and some know-how is a blast. I find joy in it, and I want the work I do to create joy in the lives of others as well.

Things I Have Strong Experience With

Ruby logo

Ruby

I fell in love with the Ruby language pretty quickly. I'm a huge fan of the elegance of the syntax and it's focus on programmer happiness. Writing Ruby feels natural and easy while still providing powerful tools and constructs. Most of the code I've written so far in my career has been Ruby.

Ruby on Rails logo

Rails

I think Rails is a fantastic framework for web development. I really appreciate the focus on convention over configuration and sensible defaults. It also pursues Ruby's goals of emphasizing programmer happiness and exalting beautiful code. I'm impressed by how productive I can be when I work with Rails. Even having been around as long as it has, I'm still excited by the progress and additions being made to the framework.

restfulapi.net logo

REST APIs

I really enjoy building REST APIs. I prefer to be on the back-end, and I really like when I get to focus on just the data and don't have to worry too much about client-side UI. A quality API goes beyond just returning the right data. It includes things like semantically correct status codes, helpful error messages, predictable URL structures and secure, user-friendly authentication. Whether the API is intended to be consumed by an external application or by a companion front-end application or both, I really enjoy working with REST APIs. (As long as I can use JSON and not XML. )

RSpec logo

Automated Testing

I'm a big believer in automated testing. Well tested code is easier to work with, easier to depend on and just makes for better software. I don't typically practice true TDD, but I write tests frequently as I write implementation code. I don't think of writing tests as only an investment in the future (though it certainly is that); I think writing tests improves the quality of your code and your software immediately, and there aren't very many cases where you wouldn't want to write tests.

Git logo

Version Control with Git

I really enjoy managing source code with Git. I think there's a lot of value in not only putting your code under source control, but in taking the time to do it well. I think a well-crafted Git history in a project can be a really valuable resource. It can be helpful to your team (or you) in the future and also improve the quality of your code as you're committing it. It's common for me to write lengthy commit messages and take the time to revise my Git history as I'm working on a project.

Examples of Things I've Worked On

Atomic Journals

2020, Atomic Jolt

Atomic Journals is an LTI application that integrates with learning management systems such as Canvas. It encourages learning by reflection, inviting students to ponder and reflect on the educational material they're working through.

I was the technical lead on the project and worked with 2 other developers to implement the application using React, Rails and GraphQL.

The application uses LTI Advantage APIs to interface with the LMS to do things like launch within the LMS in a context aware way, create and update LMS assignments and generate grades and submissions for those assignments.

Primary Technologies: Rails 5, React, GraphQL, RSpec, React Testing Library

Product Page

Case Notifications

2018, Journal Technologies

Case Notifications is an application that consumes event data from courts (a hearing was scheduled, a document was filed, etc.) and then summarizes and distributes that event data to subscribers through SMS and email notifications.

Some of the courts we expected to integrate with would have tens of thousands of events a day. The application needed to import and process those events in an efficient way.

I built a RESTful back-end using Rails which integrated with a React front-end. I also built a companion AWS Lambda function which notified the Case Notifications application when a new data file had been uploaded to AWS S3. I also built an admin interface using thoughtbot Administrate. The user facing application was secured with Auth0, and the admin interface was secured with Okta single sign-on.

Primary Technologies: Rails 5, AWS Lambda, REST API, RSpec

Student Information System Canvas Integration

2017, Atomic Jolt

This application was built to sync student and course data from an existing student information system (SIS) to our client's Canvas LMS instance. Syncing primarily happens via scheduled jobs but can also be done through one-off jobs.

The application makes extensive use of asynchronous background jobs for both the one-off and scheduled sync tasks.

I did full-stack development on the project. Myself and another team member built a Rails back-end and a React, Redux front-end.

The front-end is a dashboard that allows administrators to see which jobs are running, manage scheduled jobs and allows them to execute one-off jobs.

Primary Technologies: Rails 5, React, Redux, HTML, CSS, RSpec, Jest

Konbata

2017, Atomic Jolt

Konbata is an open source Ruby gem which converts SCORM packages and zipped PDFs into Canvas LMS courses. It can generate an .imscc file (a standard learning management system file type) and also upload that .imscc to create a course in a Canvas instance. Konbata was designed to process interactive and non-interactive SCORM packages along with zip archives containing PDF files.

I wrote the large majority of the code for the gem along with creating the documentation.

Primary Technologies: Ruby, RSpec

Repo | Code Sample | Spec Sample

Things I'm Not Very Good At

JavaScript SPAs

I’ve done quite a bit of JavaScript development in the past, and I'm comfortable doing it when I need to, but it's not my preference and it's definitely not where I'm strongest. I prefer spending most of my time on back-end development; I enjoy it more and I feel like I have more natural aptitude and value to contribute in that area. If I can work in a stack with simple client-side tooling like Hotwire, even better.

Performance Optimization

I’m conscious of basic performance requirements and pay attention to the performance of the code I write, but there haven’t been too many projects I’ve worked on thus far where performance was a high priority. I’m not the kind of guy who can eek out every drop of performance from an application. (If I was I probably wouldn’t be using Rails, right? I kid, I kid. Rails is great.)

Computer Science

I don’t have a traditional computer science background and heavy computer science topics have never been terribly interesting to me. If something requires lots of math, sophisticated algorithms or other such things, I don't have a lot of supporting skills to offer.

A Little More About Me

Family photo

I've been married to my wonderful wife since 2013. We have 4 delightful (and sometimes taxing) children. Our son Aiden is 7 years old, our daughter Teshia is 5, our daughter Jadie is 2, and our baby boy Ezra was born in August 2021.

I'm a devout Christian and actively involved in my church.

Some things I really enjoy learning about are history, government, nutrition and human relationships.

Some of my hobbies include biking, reading and ant keeping.

Feel free to get in touch.

I'd be happy to hear from you.