Thursday, October 19, 2017

Market spoiled us!

It’s been too long since my last article. During this time I’ve changed my job, were on couple conferences, conducted some trainings. I was pretty active. I just didn’t have too much time for writing. However, each conference and training is a possibility to talk with many various people and that results in plenty of ideas for future articles.
Ok, let’s move forward.

Today I want to share with you some observations regarding the state of the IT industry. Recently I’ve been thinking about it quite a lot. And the more I thought, the more convinced I was about my suspicions - the market spoiled us!
We are getting too confident, harsh and demanding. We are getting lazy in a bad way. And we're getting less and less attached to the things we do.


Don't get me wrong, I love the possibilities that the market offers us, but …  


how to keep them with you?
Private medical care, dental care, insurance, playing rooms in the office, free breakfasts and probably much, much more.
Managers and leaders are taking trainings about communication, leadership and motivation to learn how to turn problems into challenges and opportunities. Even if some of us still smile when hear such phrases, we have to remember the motives behind them  are good. They want to keep us motivated.
But it's not enough. It's hard to motivate a developer when they get bored. And they get bored extremely fast. They hear about yet another fancy language/tool/architecture/etc. and they immediately want to try it. Apply it into the application they're working on.  
Or they could hear their friend earns more in company XYZ and sometimes this is it.
They want to have it now. If they can't get it, well… it’s very easy to say good bye.

what about long term plans?
If you are working on a project that has got more than a couple of year on production, you cannot avoid some natural things. Some places become hard to understand and work with. Some places require improvements. And you don’t always have time and a quick fix for it.
To make world better, you need a plan and it happens the plan is not about two - three months ahead. If you cannot put on hold development (and usually this is the case) then you have to take many variables into consideration and it stretches the plan in time.
Developers don’t make it easier. They want to have it now. They are impatient. They are willing to work on improvements and those business demands are perceived as obstacles to real work.
Making such plans is hard when one of the variable is the possibility of losing people who know what and how.

this is my playground and my toys
I have a feeling some developers do nothing but happily write code. (albo but code happily) The big picture or consequences of their decisions is something beyond their eyesight.
They're focused on the code they wiring right now. They can write it clean and easy to understand, but at the same time they don't care about fitting this piece of code into current application.

Each commit is a puzzle and even if that is the newest and the nicest you were ever look at if it is from different jigsaw it doesn't bring nothing but beauty.

Let's hire every(any)one
Sometimes this decision is made. Employer sees more developers hired, but in most cases it comes with lower quality and less experience.

The first problem with such approach is that people who are with you right now may start to consider a job change. Why? Because there will be fewer and fewer people … that could teach them something new.

The second problem is the situation where developers stop to care about anything because “there's always a job waiting for me”. And sadly the truth is on their side.

other side of the coin
Developers see problems. They come up with solutions. This is how we do, this is what we get paid for. Yet, sometimes I could notice we don’t always listen to the arguments of the other side (business/managers).
We want to work in scrum, be agile, be flexible and so on. But deadlines do arrive. Forcing the cleanest design without having that in mind is non-professional.
People we talk with are not our enemies. When we look from a wider perspective we all want the same - to create a well working product that fulfills all user needs. This can be achieved in various ways.
We shouldn't be so defensive. We shouldn't state the business doesn't understand or know what they know. They do. They just don't understand they way how we make it work. But to be honest this is not their part of the job.

It's hard to be a good developer
You have to remember I'm not writing about each and every developer. Many developers care. What is more important - they don't even consider any other possibility.
Developers are constantly focused on improvements. Not only in the code or in their closest area. They think about wider scope, about things that can improve not only in their work.

But…


But there are still some developers that use the current situation on the market. And what scares me most is that this group will grow because of the possibilities the market offers to them.

It seems that being a good developer these days is hard and requires a lot of strength.