Kevin Eaton, PhD

Technology Leader, Non-Profit Founder, PhD, Chaplain, Geek

Blog

Random thoughts on technology, leadership, and entrepreneurship.

Architecture Principles - Knowing What is Happening When and Where is Better than Simple Solutions

The primary concern here is that Software Engineers are Professionals. Professionals are, with varying degrees of definitions: Trained Experts Knowledgeable Communicative Collaborative Disciplined In other words, the things that separates a Software Engineer and a Software Developer are the soft skills away from the computer. While I always prefer simple over complex, experiences Software Engineers know that there’s a critical skill that “simple solutions” sometimes obfuscate: knowing exactly what is happening where, when, and why.

Architecture Principles

Now that things have started to settle, I wanted to start to write down my views on software architecture. Most of this has been bottled-up knowledge or hidden behind corporate firewalls of documentation. So, as best I can, I am going to put fingers to keys to put out my overarching software architecture principles and thoughts. As a software architect, I’ve had the blessing to work in really good software systems, really challenging software systems, and everything in-between.

Learning New Tech - A Project Overview

Background Learning a new technology can be a challenge. Everyone learns differently and has different preferences. I prefer to learn by doing, but there’s a catch. At some point, the guides and tutorials you find give a gap. A lot focus on introductions to the technology, and maybe get up to something as complex as a To-Do clone; then you have the really advanced examples or cookbooks that show how to do one thing and assumes a lot of prior knowledge.

Tech I'm Using - 2022 Edition

The benefit of teaching is I get to answer a lot of questions and share a lot of gathered experience. Looking into 2023, I figured it is long overdue to just write down a quick summary of what tech I would use to start a new project and what I am excited about potentially diving into. So, without further ado, let’s do it. Backend I’m still a Go diehard. I’ve used the language extensively and I absolutely love it.

Software Engineers and Motivation, Part 2

In my last post, I provided some background on to why I was interested in exploring motivation with regard to software engineers. In this post, I will explain my findings and some implications of the research. After I posted to research instrument online and briefly advertised it, 1559 respondents began the survey and 1054 completed the survey (n = 1054). That is a completion rate of 67.6%, which is pretty good considering the number of questions; people are busy!

Software Engineers and Motivation, Part 1

In 2016, I wrapped up my took-forever-but-worth-it dissertation for my PhD in Business Administration and Applied Computer Science. Given my background, I took a psychological approach to my research and decided to explore something that has always interested me, but could also make for some valuable insights. I explored what motivates software engineers in a general sense. You see, motivation is a tough egg to crack. There are many different theories and insights.

Wrong Tool for the Wrong Job

I am happily employed. This has not always been the case. Here, I share a few stories and anecdotes, both from me and from several of my peers. In order to move quickly and flexibly, developers need to be happy and have the right tools. The right tools can enable developers to do amazing things, while the wrong tools can hinder motivation, efficiency, and agility. What the “right” tools are depends on the job.

Offices are Overrated (Especially Open Offices)

Developers are expensive. Hardware is cheap. We’ve heard that maxim time and time again. We use it to justify automating every possible task in the developer work flow. We use it when selecting languages that are more productive but less efficient. Its true, especially when servers are pennies or dollars an hour, whereas a junior software engineer is making $25+ hour ($65,000 / 2040, give or take). So the goal of any business, especially a lean business, should be maximizing the work we get from our developers per hour.