Software developing and Data science

I recently had the chance to think about software developing and data science: it’s not about the fact that I hate everything that contains the word data inside, but I was somehow interdicted by sentences like this.

[..] we found that - specially with Amazon retail - we can really accelerate the use of machine learning if not everyone needs to be a data scientist. Although data scientists play an important role, there are many cases in which you just have a smart coder to pick an algorithm instead of developing it all by its self.

Werner Vogels - Amazon CTO. AWS Summit. I’m sorry - for the superstitious - Dr. Werner Vogels. I will come in a few minutes to the reason for this quote.

What about coding

Coding is not about making things work. Making things work is about playing with a machine, or learning how to interact with them. Coding is more about make the right things. Better, it’s about knowing that there’s something wrong. No, just kidding: coding is when you smell of something wrong in the code. You are not sure but something triggers you. Like when in Matrix the black cat appears twice and they already know there’s something weird in the code. It’s about investigating: it’s about solving mysteries. Coding is about being angry enough to believe in your original idea, but weak too to change your mind. Coding it’s about listening to other coders and learning from them. I think it’s coding when you are into the code and think about it even when are you waiting in the queue to pay the lunch. You are coding when you already know how things have to be done, or the other way around: it’s coding when you know that you still don’t know how to do a particular thing in the proper way. For these reasons and so many other, coding is most probably the more difficult, precise and defined exercise of practice and things you have to learn, to do, to understand… to apply with the goal of creating something. It cannot be different, because all of us know that machines - unfortunately - don’t speak our language. This is - believe me, or not - the only reason you cannot speak a little bit of machine’s language. This is the only reason you cannot have a little bit of coding experience. This is the reason you definitely cannot be half a developer - sorry, let me apply the KISS - a coder. As one of my professor of Philosophy uses to say about Philosophy - Philosophy is like a dog. A mangy dog: if it bites you, it won’t let you go - easily or hardly. This is exactly what is in place about coding. It’s not a good deal being a coder: looking at something, trying to reverse it. Try to justify everything. Believe me, it’s a nightmare. It’s about solving problems everywhere every time: coding it’s about creating problems just to be safe in solving them in the future maybe. It’s constant training. It’s the sacrifice of a lifetime: time, energy, money, life. Coding it’s a nightmare and at the same time the most beautiful dream you could ever have in your lifetime.

Where to find coders

It’s difficult: try online. They operate during the night. The code during the day. Normally, coders formalize everything, because they already know it’s a matter of time - at a certain point they will have to dialogue with a machine, somehow, and they want to be as ready and fast as possible, up to the point where they already start speaking the same language. They facilitate themselves and machines. They are interpreters. You can find them refactoring things. You can find them insecure, changing their mind often. You can find them unhappy with their work. You can find them trying something new, something different. You can definitely find them looking for others like them. Coders are proud enough to accept the challenge, tired enough to change your mind, and for sure they are not teachers. You cannot ask a coder how to code. You cannot force a coder to teach coding. Nobody in Matrix (once again) said to Neo “Go out from here”. It came from him. It’s something you can become, but it comes from you. No coders will force someone else to enter this world. You don’t plan to become a coder by hanging out with coders. It suddenly happens. Thus if you are looking for coders, you should suddenly accept to find them, or not. You cannot look for them: they are attracted by random things. You should act randomly.

What about data

I don’t have any data experience. Data are only input of coders: they really don’t care about them. So I will not make assumptions about data-whatever. Still, I truly believe in what I said until now. I truly believe coders have nothing to do with data, statistics, mathematics, or any kind of business-related applied scientific method. Coding is not about titles, it’s not about data, it’s not about machine learning: no machine will learn anything from coders or data scientist.

Conclusion

Coding it’s a thing between a coder and a machine: nothing and nobody else. There’s no management. There’s no discussion. Coding it’s private, intimate. No explanation. So, I thought about the sentence for a while: in the end, I think I agree with Werner Vogels. I got AWS point. If I would have the chance to speak with him, I would say I think we miss coders in a moment in history in which we need more coders than doctors.