There’s a common sentiment I’ve heard from developers in the U.S. that they hate working with offshore developers. This is completely insensitive and an unfair stereotype, but a valid pain experienced by many technologists. It’s completely ridiculous to think that an entire geographic region is the cause of the problem. It’s really the underlying characteristics of the individual developers that get under your skin.
It’s having to answer stupid questions. Having to start from point 0 and build someone up to a 4 or 5 and having the feeling they will never get to a 10 because they can’t figure out the basics on their own.
You taught yourself these basic things by reading the entire Internet and going through hours of trial and error. They just do exactly what you tell them and then come straight to you if it doesn’t work. It’s the lack of initiative. It’s the dependence on you to figure out their problems for them.
You can’t just give them a suggestion and off they go to research whether it works. You have to spend time validating the idea and doing the research for them. And when they do go off and do something on their own they go down the completely wrong path. They don’t utilize existing frameworks or libraries and build there own version from scratch. Terribly. They do it the hard way and have to start over from scratch. They wasted all of their own time because they didn’t validate their approach. A simple question of should I do it this way or that way would eliminate the problem.
We all get frustrated at some point. It’s how you deal with those frustrations that can have a huge impact on your life.
You can bitch and moan about how terrible it is helping incompetent developers or you can challenge them to get better. One approach is ignoring the problem. The other is tackling it head on assuming everyone is capable of change.
If you imagine less, less will be what you undoubtedly deserve – Debbie Millman
If you want to get better as a programmer, architect, person and you want to get promoted, those are the qualities you need to embrace. Changing code is easy. Changing people is hard.
The best thing you can do is ask questions. A question is a form of challenge. It asks the person are you going to standup for yourself and do the work or are you going to shrink and deflect the question. The tougher the question, the harder the challenge. The other person has to think about your question and figure out what answer to give you.
For example, “What have you already tried?” This forces the other person to review what they’ve done and double check they haven’t made any stupid mistakes. It starts the monologue in their head going down the checklist of what they’ve tried.
Questions control what you focus on. – Tony Robbins
Or “How have you narrowed down the cause of the error?” They have to ask themselves whether they’ve even tried to debug the error and then they have to prove it to you. Are you going to try and learn how to debug for yourself or are you going to ask me to do it for you?
You’re first instinct is to jump right in and try to solve their problem. The best thing you can do is just ask questions so they can teach themselves how to find the answer. Teach a person to fish and you’ll feed them for life.
In the comments let me know what bugs you about your fellow developers. Help others understand it’s not a geographic issue. It’s an ID10T issue.