Engineering Practice

33 articles

2026

AIEngineering PracticeJun 23, 2026 · 4 min read
Your Loop is your Leverage
The debate about AI and software engineering is focused on the wrong thing. One side says AI will make engineers far more productive. The other says it will fill codebases with AI slop. Both sides are right. AI is not good or bad by…
Engineering PracticeMar 17, 2026 · 7 min read
Stop Writing Solutions Disguised as Tickets
I keep having the same argument. Someone writes a ticket. "Add a dropdown for country selection on the signup form." Fine. An engineer builds it. Ships it. The stakeholder looks at it and goes "No, that’s not what I meant." Now everyone’s…

2025

AIEngineering PracticeOct 28, 2025 · 10 min read
A Journey into the Machine: The Evolution of Simulating Human Behavior
The Age-Old Quest for a "What-If Machine" Whether you are a business leader, a policymaker, or a team manager, you face a fundamental challenge: making decisions with incomplete information about how people will react. We launch new…
AIEngineering PracticeJun 10, 2025 · 9 min read
LLMs are the weather models for humanity
We stand at a peculiar moment in history. The rapid advancement of artificial intelligence has left us simultaneously exhilarated and anxious, caught between dreams of utopia and nightmares of obsolescence. But while much of the discourse…
Engineering PracticeJan 17, 2025 · 4 min read
Why Apple Didn’t Include Copy and Paste on the Original iPhone—and What It Teaches Us About Product Design
When Apple launched the iPhone in 2007, it was a groundbreaking device that redefined what a smartphone could be. Yet, one glaring omission caught the attention of early users: there was no copy-and-paste functionality. For many, this…

2024

Developer ToolsEngineering PracticeOct 11, 2024 · 7 min read
The Command Line: Your Secret Weapon
Listen up, code monkeys! Today we’re going to talk about something that might make you squirm a little: the command line. You know, that scary black screen with the blinking cursor that makes you feel like you’ve time-traveled back to…

2023

AIQuantum ComputingNov 28, 2023 · 8 min read
How to Measure the Unmeasurable: Explorations into Quantum Computing Readouts
I haven’t written much lately about Quantum Computing, not because it’s less interesting, just because I’ve been so preoccupied with all of the breakthroughs in the Artificial Intelligence research, that frankly its consumed all of my time…

2018

Quantum ComputingEngineering PracticeApr 13, 2018 · 8 min read
Quantum Computing and AI Tie the Knot
In 2018, quantum technicians and daring developers are using quantum algorithms to transform the field of artificial neural network optimization: the bees knees of machine learning and AI. So we can say with some confidence that thanks to…

2017

Scala vs Kotlin: Practical Considerations for the Pragmatic Programmer
Java isn’t just a language; it’s an ecosystem. You can write code for the JVM without writing any Java. This gives you the option of using a more modern language. Some of the shortcomings of Java are obvious. It makes you write a lot of…
AIEngineering PracticeJun 19, 2017 · 9 min read
How do Computers See?
(This is part 3 in a series of posts on artificial intelligence and deep learning/neural networks. You can check out part 1 and part 2 if you haven’t yet read them and are new to AI) There was a time when artificial intelligence was only…

2016

RxJava: A Paradigm Shift
Grokking RxJava Disclaimer: RxJava is a beast. A beautiful beast, but a beast none the less. There is a lot to it and I can’t cover it all in this post. I tried to use the Pareto Principle to cover the 20% that will give you 80% of what…
A Simple Introduction To Data Structures: Part One – Linked Lists
The world of programming is always changing. And changing FAST at that. We are constantly finding better ways to do what it is that we do. That is a great thing. Iteration is a very powerful concept. However, there are a few ideas and…
Engineering PracticeApr 19, 2016 · 6 min read
MOCKS: What are they? When should you use them?
A couple weeks ago I wrote a post about unit testing and its importance in developing quality software. You can find that here. A topic that is seen a lot when discussing unit testing is the idea of “mocking” objects (I’ll explain this in…
Engineering PracticeWeb & SecurityMar 10, 2016 · 4 min read
Unit Testing. Is it Worth It?
SPOILER ALERT: Yes. Code without tests is such an old idea that in his book “Working Effectively with Legacy Code” (written in 2004!) Michael Feather defines “Legacy Code” as code that is not accompanied by unit tests. This should be…
Engineering PracticeJan 15, 2016 · 7 min read
“The Cloud”: A Beginners Introduction To Cloud Providers
Not a day goes by anymore where you don’t hear someone mention “The Cloud” in some context. Cloud services and solutions are all the rage these days. Why though? What do these solutions offer to businesses that they don’t already have?What…

2015

Career & LeadershipEngineering PracticeNov 17, 2015 · 4 min read
How to Develop the Right Solution to Any Problem
Whenever I interview candidates for a position (whether a developer position or not), I want to know one very important thing about them. Something that, for me, has been the number one key attribute that successful employees all have.…
Engineering PracticeCareer & LeadershipNov 10, 2015 · 7 min read
The Decorator Pattern
Design patterns in software development have been around for a little while now. They were made famous in 1994 from the book Design Patters: Elements of Reusable Software and consequently made the authors so famous that they are often now…
Career & LeadershipEngineering PracticeOct 13, 2015 · 4 min read
What Makes a Good Tech Lead?
Every team needs a great leader. That is especially true for software teams. Between fighting back bugs, developing awesome new features, and rushing to meet deadlines, team members need someone to turn to that they can count on. But who?…
Engineering PracticeSep 16, 2015 · 8 min read
Make Me Think
Good software is typically developed with the idea that it should be easy and intuitive for the user to use. Don’t Make Me Think is a book written by Steve Krug about human-computer interaction and usability that stresses that this…
Career & LeadershipEngineering PracticeAug 26, 2015 · 5 min read
What I Learned From My Buddy’s Interview with Amazon
Amazon has been in the news a lot recently. If you have not heard, the New York Times released an article last week that shed some light on what it is like to work at the giant tech enterprise, and (spoiler alert) it didn’t make Amazon…
5 Essential Skills Every Developer Needs to Have
A month or two ago I wrote a post titled “Every Programmer Should Understand This”. I received a bunch of comments on the post, some of which were from people agreeing with the article and some which thought I should be hung for suggesting…
Every Programmer Should Understand This
I have worked with a large variety of programmers. Some were what the industry call “junior” developers (beginners) and some were “senior” developers (experts). While working with these people I started to notice that the better…
Engineering PracticeJun 26, 2015 · 4 min read
Start Programming…Competitively!
I love programming. If you are reading this article then there is a good chance that you do too, or are at least interested in the idea. The problem with programming for a company these days though is that the problems we are solving just…
Engineering PracticeJun 1, 2015 · 7 min read
Know Your Big-O!
As a software developer (or someone involved in higher level mathematics) you’ve probably heard the term “Big-O” used a lot. I remember skimming through my Introduction to Algorithms book in college and wondering what the heck “Big-O” was…
Engineering PracticeApr 16, 2015 · 3 min read
GIF or JIF???
Along with whether or not Al Gore invented the Internet, figuring out the correct pronunciation of GIF is one of the earliest questions of the Internet. I grew up believing it was hard-G GIF. Most people I know pronounce it like that too.…
Engineering PracticeCareer & LeadershipMar 25, 2015 · 5 min read
A Pragmatic View on Patterns
WARNING: Below contains strong opinions that you may not agree with! Read at your own risk…(and if you disagree, tell me why I’m wrong in the comments! I have an open mind 🙂 ) In my last post I wrote about 12 Influential Books Every…
Career & LeadershipEngineering PracticeMar 16, 2015 · 11 min read
12 Most Influential Books Every Software Engineer Needs to Read
This is a question that I get a lot, especially from co-workers or friends that are just beginning their journey as a software craftsman. What book should I read to become a better developer? Do I need to read books? I think it’s a great…
Career & LeadershipEngineering PracticeMar 10, 2015 · 9 min read
What to Expect in a Programmer Interview
The more and more I talk to developers and other software engineers, I noticed that reoccurring theme. They all wanted to know the key to doing well in technical interviews. This is a good topic to understand because if you don’t take…
Engineering PracticeMar 5, 2015 · 5 min read
BMPs, JPEGs, GIFs, and PNGs…Oh My!
I recently was developing a web application and needed to incorporate a company logo image on the site. When asking the marketing department to send me an image of the company’s logo so that I may put the image on the site, they responded…
Engineering PracticeJan 20, 2015 · 2 min read
Computer Science Geeks Rejoice!
As a computer science enthusiast, it has sometimes been hard for me to find other social, out going geeks that just want to kick back and debate data structures, algorithm designs in terms of time and space complexity, sorting techniques,…
Engineering PracticeJan 4, 2015 · 6 min read
Defensive Coding Techniques
We’ve all heard of defensive driving (and if you haven’t, you’re probably the one we are all defending against). However, as developers, we should also be familiar with defensive coding. Just as defensive driving can save you lots of money…

2014

Engineering PracticeDec 9, 2014 · 6 min read
Interfaces vs Abstract Classes – Which Should You Use?
C# is a wonderful language that has matured and evolved over the last 14 years. This is great for us developers because a mature language provides us with a plethora of language features that are at our disposal. However, with great power…
Engineering PracticeDec 7, 2014 · 1 min read
My First Post!
Hello! My name is Jason Roell. I am a software engineering consultant living in the great city of Cincinnati, Ohio. I am starting this blog as a site to write down some of my thoughts and experiences in software and technology. My hope is…