Naguel

I'm Nahuel, and these are my work experiences, ideas and thoughts as a web developer working on the eCommerce industry.

#Work experiences
← Go back to the front page

The long standing cliche war between the sales team and the developers team

The long standing cliche war between the sales team and the developers team

If you think this happens only on the company you work for, surprise surprise, this "war" appears in many software developer companies as I happen to discovered in a dev exchange session during a Magento Meetup.

So, what's the problem? It seems to be that the developers claim that the sales guys are selling too much, and sales shrug their shoulders and keep on selling because that's what they do.

For a start let's say for a fact that sometimes developers are way up to the eyes and can't handle either the amount of work they have or the delivery dates people up in the chain of command are expecting them to accomplish. I'm not whining about it, I'm saying it happens to me in several occasions and it's something companies acknowledge by time to time (therefore, a fact).

If you are a developer going through this, then of course you are going to complain when a new project arrives as "you simply don't have more time to do it and nobody seems to understand that".

Time passes and you, developer, contain your discomfort deep inside, only having as a escape pipe your rolling-eyes attitude when a new client is presented. That means that when you encourage yourself to talk about this problem, with the sales team, is already late: you're angry, the sales team is angry too because they know by talk around the water cooler that the developers are complaining, so the discussion is getting to nowhere.

Sorry to disappoint you, my fellow developer, but to keep the company open for business the sales guys must attract new clients. Sales gotta sales, and, on top of that, the company must remain competitive, which means that the estimates provided in the commercial proposals must be competitives.

Stand in the shoes of a client picking a company for his next project: you will look at the estimates written in the proposal from the different companies you're consulting before choosing one, in addition to take into consideration the quality their provide.

Finally, the sales team times are different than the ones experienced by the developers team. Pre sales can take months, so it's hard to predict right now how busy the developers are going to be in, let's say, 10 months from now.

If you put your dev problems aside for a second, the explanations coming from the sales team are understandable, so give the sales guys a break.

I can see that both sides are right but unwilling to listen to the other. Nobody talks to nobody, developers raise complaint among developers only, sales within sales, and the real problem is never faced.

Up to this point we must agree that developers happens to have too much on their plate, and sales must keep on selling because everything I just said, but nobody is going to quit doing what they're doing to solve "the problems from the other side", at least nobody is going to do just that literally.

Understand that it's not about your problems and their problems, but a problem we have as a whole team.

The first step toward a solution is to start seeing this as an integrated team between devs and sales, no separate teams. Otherwise, if you can't accomplish this, then become a freelance and sell your time by the hour, because whether you are a developer or sales you're only thinking about yourself and not seeing the big picture, missing an opportunity to be a better company and benefiting you, plus everybody in the process.

Start talking, and planning together, but don't wait until you're mad. And find common ground about the problems you are facing, because sometimes it's not about changing the reality you're living but more about facing it and accepting it. Everybody, devs and sales, acknowledging the same reality (the same reality being the key words in this sentence).

Not changing the reality but just accepting it? Here's an idea...

Wouldn't be better to work in a place where a salesperson sells "the impossible", but closes the door behind the client, turns to the developers and says "Look, this project's delivery dates are challenging, but it's a key client we had to win"? Wouldn't be better to work in a place where, after that, the developers team says "Okay, we both agree on the times for this new client to be very difficult, but since we both agree on that let's work this out internally"?

Resolve it indoors! Keep on selling, good job, then sit on the same table and plan altogether with the developers team how are you going to accomplish the deadlines. It's impossible to get it done in one month? What if two devs work on this instead of one as it was originally planned? Wait, does this augmented reality requirement must be on the go live or can it be postponed for the support phase? Work it out as a team!

When I say that it's not about changing the reality but accepting it I'm saying that as long as we agreed on the problem, as long as we stand on the same boat knowing what's going on inside the company, both devs and sales, there's an opportunity to fix what's going on.

And, if not, if you don't think this means fixing anything... at least you'll be working on a place where the "enemy" is not inside the same building, causing the working environment to be much better, less stressful for sure.

Leave your stable job and stop being a coward

Leave your stable job and stop being a coward

I worked on the same place for almost 6 years until one day I quit.

That statement, while true, is extremely simplistic and it's not like I woke up one morning and said "Today is the day I move forward", but instead took me a lot of thinking and time (more than a year) until I reached that decision.

What took me so long? Mainly lack of bravery. Chances are that if you are reading this post you're a coward too, but that's okay, it can be our secret, and you shouldn't be ashamed of that. My cowardice is known as "being too much time in the comfort zone" by other posts you might find on the Internet, but I don't want to be that polite and instead call stuff by its names.

My lack of bravery grew over the time fed by the fact that my job was secured in this place after 6 years. I'm not saying that I was irreplaceable, but after 6 years it's not like somebody were going to fire me overnight.

Also, routine mixed with flexibility. I knew I had a job from Monday to Friday, a secured job, something to do within a company with many clients, and on the other side if I wanted to slept 2 more hours I could do that and there was no problem because they knew how I was and that I was going to work towards objectives (meaning me sleeping two more hours in the morning won't jeopardize any project). You know, comfort zone.

Something started to bother me, and it was the fact that inside me I knew that my performance could be better. My work done could be delivered with a higher quality and especially in less time, and I could be learning something different, new, or a different way to accomplish my job description's objectives.

I was somehow stuck, and I wanted to know how the work can be done from a different perspective, under a different pair of eyes. Like the "I want a second opinion" phrase in the medicine world.

It's a sentiment hard to put on words, that you're probably feeling too, that I compare to the need of leaving your parents' house to live by yourself.

If one day you make the step, you're in for a smoothie of feelings starting from "What the hell am I doing?" to somehow relief, peace, panic, adrenaline for sure, happiness. If things goes well (it can fail, I mean, sorry, but this is not quite an inspirational post... things can go terribly wrong so think twice, haha) you'll find yourself smiling on the back of your Uber ride while looking over the window (with a stupid face in my case).

As I don't want this to be a motivational post, and as I don't want to sound like I'm saying "leave your work, leave everything behind and pursue your dreams because life", let me pitch in some disclaimer points here.

We need to know that jobs are not like yogurt and they don't have an expiration date based entirely on time. If you happen to be on a job for 3 years, 5 years, or whatever, don't quit just because you believe that you're being too much time in the same place.

I don't believe in the feeling that a cycle is completed based only on the time you spent on that cycle. There are more than years spent on the same chair, so if you're happy where you are just keep going and that's just okay.

Consider also that being mad is not a reason to quit. If you're mad, and you quit just because of that, chances are that you are, at least, to blind to think this through, to contemplate all the possibilities and choose wisely.

I once saw somebody saying "I quit" right in the spot of a performance review, not even letting the performance review finish, not even giving an hour to think about the big decision of leaving a job. Of course, that was just words and total regrets the following day, but still works as an example.

Mad? Make peace with yourself and with the company you're working on before taking a decision. Stop thinking of companies as "big evil corporations", and you'll probably find (as I did) that the company you work for is given everything they can, so allow them some mistakes.

If you are getting fearless and thinking about leaving your stable job, do it for the right reasons.

I'm hoping this personal post, my personal experiences that most likely is totally different to what you're going through, helps you think more deeply about the current situation you're living with your current job.

Developer's work success being too much about personality rather than hard skills

Developer's work success being too much about personality rather than hard skills

When giving a performance's reviews, one idea I used to pitch to somebody with the potential to be an even better developer in the future is that we all have the same tools in the company to improve ourselves.

Everybody has access to the same documentation, to the same in-house training programs, to the same software, to everybody's code, to basically the same people to ask questions and to learn from... and what's set the difference between someone progressing in his or her line of work and someone stuck is the personality each developer has.

This is something that bothers me in the sense that it makes me feel I'm losing control of any recruiting process I might been part of, or any "technical coaching" I'm giving.

Because while it might sounds as a "motivational speech" during the performance's review, let's do not lose sight of the timeline here. If we get to that point saying is more about personality than hard skills, then it was also more about personality a few months ago during the interview process.

What if interviews are all about luck and not about us evaluating correctly the hard skills of a candidate?

Sometimes it feels like it doesn't matter if I really really prepare for an interview, or if I improve my tricks to get to really really know the candidate's hard skills, because it feels like it all goes down to about how lucky we are as a company when we take our chances with a candidate by saying "Yes, come work with us". Does it happens to you?

I remember joking about this issue by proposing something like open the company's door, let 20 candidates join us, and we'll see how they perform during a month... and by the end lets "fire all the personalities" that didn't succeed.

Let's not waste more time with interviews and technical exercises! Everybody is welcome for a month, and we'll decide later who can stay.

Yep, that would be a fun disaster to watch. But again, this is sometimes what I'm experiencing with the whole recruiting process, and also I stand corrected by saying it's not really a feeling but an actual fact because we truly accepted people with serious doubts about their hard skills that in a short time became great developers, and we also let in promising ninja developers that resulted in a total fiasco.

So, what's the next step?

I don't know.

I'm struggling with this problem and this is more of a sharing my concerns post than a post with an outstanding solution at the end. But let's do some brainstorming in order to get some action items to work on later.

Probably the first idea is that we suck at interviewing because we don't have the skills or the tools to really get to know the candidate's hard skills pass the personality and what that person is selling during the interview.

We should improve the exercises we're giving, enhance the questions we're asking, and have a clear understanding of which hard skills we are looking for and to what degree of knowledge we're aiming for those identified skills.

Before that face to face technical interview, it seems like it's necessary to improve the first informal interview to rule out the personalities we do not want. Because, don't get me wrong, we do want people objective-oriented and willing to learn everything... but that's not the only things we want to depend from.

So, it seems like this last thing is more mandatory not to solve our main problem here but to avoid a different one.

When the process fails again (meaning when we bet for a candidate and things goes wrong again) we should be doing an analysis of what happened and we should be having metrics about failing and succeeding process in order to identify what's working and what's not.

The goal here is not to all say "Oh, we fail again, let's try again one more time" but more about getting the reasons behind the process that didn't go as expected, and getting hints about how to make it better.

I still do not know for sure how to solve this, but I get myself some ideas to sleep on it and I hope you too.