Concepts

Introduction

By on 01/02/2017

Welcome fellow planters!

Planting? Growing? Is this guy crazy or does he just want attention? Hopefully none of those. Of course one thinks that developing software and growing plants have nothing to do with each other. Please lend me some minutes of your time and let me point out some similarities, and hopefully you will see things differently.

What do we need first, when we want to have a plant? Earth of course. But don’t forget the things we take for granted – air, water, minerals, the sun. And of course the right temperature. At least not freezing cold or boiling. These are the basic resources. And there’s the same for developing a software. First you need a computer, with keyboard, screen and for most of us a mouse. But let’s not forget the things we take for granted – electricity and internet for example. And that everything works together nicely. The operating system, the network connection, the right voltage of the power plug.

Now some of you programmers will say: yes of course, I’m aware of that. But I don’t have to care about the electricity, about the internet, about having a keyboard. Other people do that for me – either because I pay them, or because they work in the same company and are paid for their part of the whole thing. I have to think of my IDE, my compiler, the source code, the packages I’m using, and so on. And I can tell you, you’re absolutely right. So why do I bother with this post now, or with this whole blog?

Let me switch to the garden. When we started ours, I thought well… let’s create a bed, put earth, make sure we have water, put some little plants that we buy. Some seeds that we got. Water it. Watch them grow. Harvest. And eat it. And you know what… it worked. When you have a nice idea for an application, or you get the task of creating one (or a part of it), it’s pretty similar. You get your resources, you setup the environment, you start programming. You compile and test it, it works. And then you can release somewhen.

Like this we can go happily and no-one bothers. But what if something happens on the happy path? The plants don’t grow or even get yellow? When bugs infect them? You all know about bugs. Or the database is not reachable or has terrible delays. Then we run to our administrator, then we start debugging. Then we look for diagnostic tools (or even make the management pay a lot of money for them). Then we look up nugets or node packages that solve what we messed up.

What happens next, some of you might know as well. Deadlines pass, project managers get nervous. Users get upset. Clients get angry. We start working like hell. We spend nights with the debugger. Bad mood, the family suffers. Sport and hobbies are being forgotten. And still everything we come up with are workarounds and quick fixes. And often, we don’t even know in the end why it’s working now. We’re just happy it does.

In the garden of course, that doesn’t happen. Because it’s just ours, and if we mess it up, we can still buy the veggies at the store. But a farmer doesn’t have that luxury. He has to make sure from the moment of investing the first money and the first hour of work, that he has the risks under control.

This doesn’t mean that we can’t just code! That we can’t just take an example, compile it, and start working based on that. That we just play! On the contrary – that is very important. Just plant something! Just buy a plant, keep it next to your desk, and try to help it grow and flourish!

Just don’t forget, that when it’s about something important… something professional, that we need another approach! That we have to keep an eye on the whole picture, and from the beginning! Like the farmer, before he starts ploughing his first field. That’s why I started talking about basic resources. Don’t you ever forget about them. Make them an important requirement of your work. And consider them in planning.

This blog is not going to be a book that tells you everything about developing and farming professionally. This blog is an invitation to accompany me on my own project. I’ll try never to forget my own lessons. And I want to take nature as an example of how things are being developed in a good way. I mean – evolution is the biggest agile project I have ever seen. Just make it work, and if it doesn’t, sort it out and start over in the next iteration. Just better.

I promise I won’t be so philosophic in the following posts. I will share the problems I have, and only post something when I found a good solution, following nature’s example.

On this, I am working mainly with C#, Xamarin and Azure at the moment (oh wow, all Microsoft). But also with Angular, Typescript and Node. I also have like 8 years of experience with industrial technology. Real time motion systems, PLC’s, Safety Systems, Specialised IDE’s. We grow tomatoes, peppers, eggplants, pickles, salads, pumpkins. And we have some trees, flowers and all kinds of other plants.

So why does he come up with farming you ask? I worked half my life on my parent’s farm, so I also know some about that. And I like writing. So I hope you follow me on this blog…

Happy planting!

 

TAG