The Value of Design

In the projects I’ve worked on, about half of them skipped any sort of design phase. This typically lead to unmanageable code a few months into the project with no discernible way to backtrack or quickly change architecture. While each project could benefit from their own postmortem on their design phase (or lack thereof), I’m […]

Hiring Good Developers

Hiring Good Developers Hiring software engineers is easy, hiring good software engineers is hard. Due to the nature of software engineering, there is no clear or objective way to measure the skills of an engineer. Companies try to determine skill based on questions and online skills assessments. The problem with this approach is that it […]

Building a Product Vision

Building a Product Vision Developing software under deadlines is hard. When I start projects I often have a problem to solve in mind and that’s it. It takes some effort and genuine thinking to come up with a solution to that problem. Part of that solution is having a vision. Without that, how do you […]

Hiring a Software Consultant?

Hiring a Software Consultant? Hiring a consultant for your business can be a little uncomfortable. You have a contract that protects your business, but what if the consultant is just… bad? There are a few tips and tricks for identifying a less than stellar software consultant and this article will cover those. Low Balling Whether […]

Eisenhower Matrix

Eisenhower Matrix I’ve had my share of projects in the past. With each project comes a bit of unknown terrain, deadlines, known tasks, known risks, unknown tasks, unknown risks… the list goes on. It’s hard prioritizing everything as it comes in for a project and backlogging this prioritization becomes a huge burden. I’m sure your […]

Strong Opinions, Weakly Held

I believe in three core values to any successful team and/or project: communication, collaboration, and transparency. Communication is a key aspect to successful teams because it keeps everyone involved. Communication drives ideas. Ideas are the seeds of change and communication gets them planted. Collaboration brings the seeds of ideas to growth. Teams that are not […]

Version Control

Version Control I’ve been working as a software engineer for over a decade. In my time I’ve worked on projects that had version control in place and projects that had no version control. While I believe all projects should use version control, I have come across some projects that don’t see the benefits or value. […]

Server-Side vs Client-Side Trust

Server-Side vs Client-Side Trust I like to pretend I’m an avid gamer. I try to keep up with the latest gaming trends, well.. at least I try to. I have a few games I typically go to, and a few games I am excited to play once they release (and I wait until a sale, or […]

Efficiency

Efficiency I am a fan of efficient processes. When I see potential for process improvement, I find myself drawn to making it better. I’ve done this in a past company I worked for when they did not have a proper defined software development life-cycle. I developed a process within my own teams that I though […]

Copyright Expiration is BACK!

Copyright Expiration is BACK! Since 1998, when Disney (along with a group of other corporations) successfully convinced congress to pass an extension to the original copyright laws. The original laws state that any works created before January 1, 1978 were protected for 75 years. The change in 1998 extended that to 95 years. This is […]