Snowflake development

Javier Molano Mata
4 min readJan 8, 2021

When I started on the development business, I was quite eager to learn what looked to me like a super interesting career, software developer. As a junior I committed a myriad of mistakes, but one I regret the most is when I was so narrow minded that only my proposed solution seemed to me like the best one.

Reflecting on it, I concluded that what happened is something relatively natural, people tend to agree on solutions that they understand, better than the ones they don’t understand, make sense, don’t?

So, it’s normal when you find a junior and he insists on a solution that, probably, is not the best one, he’s trying to accomodate the solution of the problem to his knowledge instead to learn another way of thinking/working.

Fortunately, this is not applicable to all the developers, there’s many developers constantly exploring new techniques, frameworks, coding patterns… Unfortunately, many many of them, still show the same problem, they try to accomodate the solution of the problem to their knowledge, and this is basically what they understand or like the most, without taking into account anything about the business.

As former developer, on luch time, I spent a lot of time with my developer colleages, and sometimes the lunch time was… let’s say complicated for me. Many times I arrived there with my lunch tray, sit down and… mistake! they were already talking about coding, new trends on software development etc etc… this could be interesting conversations, but not really, it usually was a very nice example of what I’m trying to explain. They were discussing about what’s better, what among the new trends our company should use, etc., etc., etc. But they rarely were supporting their arguments with business value. To be clear, business value means time and money. Sometimes you can deduct that using this or that shitty new technology might save some time (might), but if you analyse it deeply… all still being about what they like and they want to use. A happy developer is a developer using the tools he wants to use, and work in the projects he wants to work on. But not many are aware that maybe that’s not possible, or at least, not possible for a long period of time, maybe about 1–2 years, until the technological stack chosen by the company gets outdated, or the product is more mature so the work is not that exciting anymore…

And here comes the big problem, it’s impossible to have a developer happy. Developers are smart people, extremely smart sometimes (maybe that’s why I gave up on it!), they know they solve tough and complex problems, but that sense of smartness leads them to make the huge mistake of underestimating systematically the most of the people in the company, from marketing (ok, I agree with them in this one), to the C level. Many many developers say the same “companies should be managed by engineers”, of course, people with high education on economics and management have no f***ing clue about companies, just because Elon Musk (what is kind of a god to worship for them) was an engineer. In this setup, they also doesn’t understand they are paid to solve the problems the company give them, not to propose new problems/features/products, they refuse to be the working ants but… a company pay developers to code and shut up, although a developer usually have a strong opinion on everything, from UX to sales. Obviously nobody takes their opinions into account (it can be an exception every century, yes), and this is the main frustrating point for them, they are not listened, they think they can drive the whole company to success, but they feel understimated, so eventually they leave.

Of course, all of the opinions they have about everything, still, no matter how experienced is the developer, is about what they like, not what the company needs, always refusing to understand the business. I remember a case when the company we were working for spent a big investment on buying another company, IT department was pissed, the product was old and needed renovation, so, why not spend the money on the product?, but they never realised that the customers of that company we bought, were paying our salaries at the end of the month. Of course technology is important, of course tech can save time and money (business value), but they never speak business language, everything is just about what I want, and how I want to do it, and whatever the rest does, it’s just stupid…

So what’s the solution when talking about business (or not a development related subject) with a developer? Ignore him, he’s going to leave anyway so… We all are constrained by the business requirements and C level decissions, but the professional way to tackle the issues is being open minded and try to understand the world that surrounds you and look for the solution that is going to work the best for the company, not just complain about everything because things are not done in the way you want it. You should leave a company when the company doesn’t allow you to grow more, or something is really disfunctional, not because they don’t do the things in the way you like it, and this also applies to all employees, not only developers.

--

--