The Bible tells us that we will reap what we sow. I believe that this happens mostly small incremental, day to day, moment to moment parts of life. It’s amazing how many examples this wisdom can be applied to in life and in software development.
“Do not be deceived: God is not mocked, for whatever one sows, that will he also reap.” … “And let us not grow weary of doing good, for in due season we will reap, if we do not give up.” Galatians 6:7, 6:9 ESV
"The point is this: whoever sows sparingly will also reap sparingly, and whoever sows bountifully will also reap bountifully."
We can sow for good and make things better or for evil and make a mess of things. Most times it takes repeatative work, hope and prayer.
I enjoy planting in the spring. There is great hope that these seeds will sprout, grow and have much produce. For months aftwards, we weed, water and wait. What a joy it is to have fresh vegtables from the garden! What sadness it brings when the bugs or rabbits eat a plant you’ve been hoping for.
In software development, to keep entropy and chaos at bay, you need to continually be cleaning and improving. There was a mind expanding series of articles about “Software Gardening” on DotNetCurry in 2014.
Gene Kim in the Phoenix Project book says it this way, “Improving daily work is more important then daily work”.
There are many ways I’ve seen that this applies and have decided to share my thoughts.
I’ve just finish reading Clean Architecture by Uncle Bob Martin with many at Omnitech (go read this book!). Architecture is not something you can plan completely up front with software. The only way to keep make code and architecture clean is to constantly be cleaning and keeping this goal in mind. When we don’t, we look back in a year, or even less, and now have a mess that’s hard to add to and we have a lot of regression issues.
I’m sure we all have stories of how hard it is to work in a system that is a big ball of spaghetti and takes heroic efforts for every addition or bug fix (and there are many bugs to fix).
If we aren't sowing the seeds of good practices and separation of concerns and weeding out the bad we've built up, it will take over. We must continually fight for simplicity and against entropy.
I’m a proponent of Unit Tests. I know that they add value and many have stated that over the years. I’ve even given a presentation and workshop on the subject.
If you aren’t writing tests at the beginning, it’s very hard to get tests in later. Test Driven Development (TDD) says to write the test before the code (“never trust a test that didn’t break first”). Without tests, we are sowing the weeds along with your crop. With any complexity to your system, you will probably reap long, tedious manual testing cycles, regression bugs, stress and unhappy managers/testers/developers/activations and customers.
If we sow automated tests, we reap higher quality, less stress, faster deployments and higher satisfaction. (The researchers wrote in the Accelerate book (read this book!) that they found strong correlations of DevOps practices and these ideas, I’m not just making it up).
You can’t change things in a day. Sometimes, you won’t notice it for a few months until you reflect and notice how things are now “off-center” and tilting towards where you need to go. I don’t think you ever get to the end of that journey and you might only notice little things.
Let’s sow seeds of humility, relationship, honesty and avoiding judgement. Let’s work towards learning more through experimenting, evaluating, failing and continually improving. Over time we will reap a better organization, process, place to work and outcomes.
The Accelerate book by Gene Kim and others have insights based on research on what to sow. The Art of Unit Testing by Roy Osherove also has a chapter on being an agent of change. I’m just starting to read How To Win Friends and influence others and am looking forward to learning from that book.
I wrote about incrementally moving to Trunk Based Development . This displays some my thoughts on trying to make a big change like this in small steps.
Ulrich Boser wrote Learn Better. I learned a lot about learning from reading and discussing this book. Check out his 10 commandments . He shares research and stories about how to learn with incremental steps, tieing ideas together and coming back to already learned items to reinforce our memory.
“Reading 1 hour per day in your chosen field will make you an international expert in 7 years.” quote from Robert Brewer .
I share with interns and younger programmers, "consistent learning, even if it's just a little each day, over a period of time adds up to a lot of learning".
I quoted this on my A lot of Software Development is about Learning article/presentation.
I look back to 2005 when I started at the University of Minnesota, Morris. I knew next to nothing about programming. After countless hours of classes, books, podcasts, studying for certifications, learning from co-workers, reading articles, lunch and learns, working, blogging and presenting I have a large breadth of knowledge with depth of knowedge as well.
Sowing a little learning consistently results in the ability to handle bigger challenges, to teach others and more satisfaction (and success) as a software engineer.
Think about you’re really good friendships. Now think about before when you first met them. It’s hard for me to remember. We become friends through the moments we spend together and shared experiences. This happens over time, not all of a sudden.
How about your spouse? I’ve been married 13 years now. It’s hard to imagine not knowing Anna, but it took time and effort to get to know them and I’m still learning. Every day, we still sow unity with forgiveness or discord. See Ephesians 5 for instructions on how to sow correctly in marriage and family relationships.
You can’t possibly take on the world’s (or even your city’s or neighborhood’s) problems on your own, but you can help 1 person or a few.
Example: We have had several babies and young children in our home with foster care. The need is so tremendous, but we were able to help those kids and it will make a huge difference in their lives (even if they don’t remember us) and our lives.
Helping others is like sowing tiny seeds one at a time. One day you may reap a great harvest.
It took me 10+ years of riding my bike to work and back as many days as I could to get to 10,000 miles. It’s now a habit and something I miss if I have to drive due to weather (I stop riding when there is ice and snow) or sickness or other obligations.
Sowing 6 to 10 miles, 30 to 45 minutes adds up to miles saved, exercise, more time outside to decompress money saved, helping the environment and overall benefits!
I’ve heard that you have a calorie budget. You have to decide what type of calories (sugar/carbs/processed vs fruits/vegetables/healthier) you put in each day. I’ve found that starting by replacing one meal a day, lunch is easiest for me, with a large salad, veggies and hummus sowed the seeds for me eating better overall. Overtime, this should equate to better health and immune system, especially with less sugar intake. A friend started and has already lost a lot of weight.
I haven’t had a cell phone plan for the 12+ years I’ve been a full-time developer. My wife has one. I’m on a computer or WiFi (with my now Pixel 2 that I bought used), so I don’t really need it. If I saved a conservative estimate of $50 a month or $1100 a year, that adds up to $13,200
I don’t go out to eat for lunch much. I figure you can spend as much as $50 a week, where bringing a lunch would cost you about $10 a week. That adds up over the months and years. $40 * 4 (weeks) * 12 (months) * 12 (years) = $23,040 in 12 years!
Not buying a drink when eating out amounts to a lot as well.
We all have priorities. How we spend money is one way we show our priorities. “For where your treasure is, there your heart will be also.” Matthew 6:21
We try to sow a lot of little things to reduce our environmental impact and to improve things. I thought it’d be fun to share a little of what we try to do.
I’ve already mentioned biking. We also compost, avoid plastic when we can (Costco doesn’t help there, but it’s large amounts in plastci) installed LED lighting, don’t run the A/C and buy more effecient appliances when we need new ones. There’s probably a lot more we can do.
I’ve found that our reel lawn mower has been a great way to avoid gasoline and fumes, make it easier to store, avoid maintenance costs, make it more enjoyable to mow (I can mow bare foot) and even let me spend more time with the kids (I can mow when they are just a few feet away). I bought one for $75 12 years ago, got my sister’s when she moved to an apartment and have only had to replace a few bolts that I lost after they got loose and fell.
I’ve install a rain water barrel in the back yard. I found some barrels on Craigslist and bought a kit at Menards. I’ve saved 300+ gallons of water watering the garden most years (depends on how dry or rainy and how often it rains).
How do you make or break a habit? You need to sow the action or thought you want to do continually.
Mini Habits Book Summary - Stephen Guise has a great idea of making these really small then building on them.
In case you interpret the sowing and reaping principles in the Bible as “if I’m good enough and do enough good works I can earn salvation”, watch Pastor Jayson preach on Love the Gospel or the Story . “Therefore there is now no condemnation for those who are in Christ Jesus” ~ Romans 8:1 In Christ alone through faith alone, we only can be saved
Thanks for letting me share about my thoughts and some things that I do personally. How have you seen these principles at work? I’d leave to hear from you on Twitter!
Please consider using Brave and adding me to your BAT payment ledger. Then you won't have to see ads! (when I get to $100 in Google Ads for a payout, I pledge to turn off ads)
Also check out my Resources Page for referrals that would help me.