Unsung Developer Thoughts

Welcome to my unsung developer thoughts! These are all the thoughts that cross my mind during the non-development phases of software engineering. It covers reviewing a feature request, reviewing a pull request, implementing tests and deploying software.

One of the challenges facing new programmers is taking the programming skill and figuring out how to produce value from it. The goal here is to provide programmers the questions to ask so that they can produce reliable and consistent applications, evolving them into software engineers.

Table of Contents

Code Review

Check yourself

Recheck the basics

Review the tests

The tougher bits

Deployment

Assess the risk

Organization and preparation

Consider the details

Feature Request

Understanding user impact

Assess the risk

Estimate the cost

Consider the data

Testing

Where to begin?

It's more than asserts!


How should this content be consumed?

For now, the best way is probably to review titles of the prompts first to get an understanding of how things are mapped out. Spend a few moments with each title and gauge how comfortable do you feel about the topic. After you've gone through each of them, come back to those that made zero sense or were extremely uncomfortable. Those are your areas of growth for the future. You should also come back to those that cover areas that are common to your role(s). These are areas of immediate impact. The remainder can be put off and consumed at a later time.

How was this written?

These prompts are intentionally vague and generalized. They are intended for you to explore in the context of your own life and work. That said, they are coming from my own perspective of life and work. They are a product of my value system as a person and as an engineer. You probably differ, so keep that in mind. My intention was that these prompts are things that an engineer should consider instinctively for every change. The more experienced you are the quicker you are to know which to consider based on the particular task at hand. Until you get to that point, you may need to force yourself review these prompts for changes until it becomes instinctual. For me, this skill was developed through pain. I want to see others succeed where I failed. I want to see you produce value! Not everything has to be learned by grinding and suffering.