About 2 years ago, our management decided to "try outsourcing". I was in charge for coordinating dev tasks and ensuring code quality. So management came up with 3 potential candidates in India and I had to assess them based on Skype calls and little test tasks. Their CVs looked great and have been full of "I'm a fancy experienced senior developer." ....After first 2 calls I already dismissed two candidates because they had obviously zero experience and the CV must have been fake. ..After talking to the third candidate, I again got sceptical. The management, however, started to think that I'm just an ass trying to protect my own position against outside devs. They forced me to give him a chance by testing him with a small dev task. The task included the following statement

"Search on the filesystem recursively, for folders named 'container'. For example '/some_root_folder/path_segments/container' " The term 'container' was additionally highlighted in red!

We also gave him access to a git repo to do at least daily push. My intention was to look at his progressions, not only the result.
I tried the task on my own and it took me two days, just to have a baseline for comparison. I, however, told him to take as much time as he needs. (We wanted to be fair and also payed him.)

..... 3 weeks went by. 3 weeks full of excuses why he isn't able to use git. All my attempts to help him, just made clear that he has never seen or heard of git before. ...... He sent me his code once a week as zip per email -.- ..... I ignored those mails because I made already my decision not wanting to waste my time. I mean come on?! Is this a joke? But since management wanted me to give him a chance .... I kept waiting for his "final" code version.

In week 5, he finally told me that it's finished and all requirements have been met. So I tried to run his code without looking at it ..... and suprise ... It immediately crashed.

Then I started to look through the code .... and I was ..... mind-blown. But not in a good way. .....

The following is what I remember most:

Do you remember the requirement from above? .... His code implementing it looked something like this:

Go through all folders in root path and return folders where folderName == "/some_root_folder/path_segments/container".

(╯°□°)╯︵ ┻━┻

Alone this little peace of code was on sooooooo many levels wrong!!!!! Let me name a few.

- It's just sooooo wrong :(
- He literally compared the folderName with the string "/some_root_folder/path_segments/container"...... Wtf?!?
- He did not understand the requirement at all.
- He implemented something without thinking a microsecond about it.
- No recursive traversal
- It was Java. And he used == instead of equals().
- He compares a folderName with a whole path?!? Wtf.
- How the hell did he made this code return actual results on his computer?!?

Ok ...now it was time to confront management with my findings and give feedback to the developer. ..... They believed me but asked me to keep it civilized and give him constructive feedback. ...... So I skyped him and told him that this code doesn't meet the requirements. ......... He instantly defended himself . He told me that I he did 'exactly what was written in the requirements document" and that there is nothing wrong. .......He had no understanding at all that the code also needs to have an actual business purpose.

(╯°□°)╯︵ ┻━┻

After that he tried to sell us a few more weeks of development work to implement our "new changed requirements" ......

(╯°□°)╯︵ ┻━┻

Footnote: I know a lot of great Indian Devs. ..... But this is definitely not one of them. -.-

Management wants to outsource to India and gets scammed.

  • 5
    Let me ask something: is searching the file system in linux so complicated or why does it take days and weeks?
  • 0
    @CWins simply 'locate somefile' will do, in rare cases one should do an 'updatedb' first...
  • 4
    @kp15 Name them, if anyone is offended they shall seek for help on Tumblr at some easily triggered group.
  • 1
    Well, working with remote developers is very hard, it takes a lot effort from both parties. Some might simply be not good at what they are doing, but even working with more skilled developers remotely takes a lot of communication.

    Sounds like your developer might not have been very skilled, but often unclear communication is at the source rather then incompetence.

    That's not to say that remote work is impossible, it just takes much more effort then people think
  • 0
    Java was an requirement?
  • 2
    What is the avg salary per hour of an outsourced Indian developer? I want to make a comparison with the salaries in Venezuela
  • 0
    @kp15 Tell us! If anyone is offended, we'll start a GoFundMe to buy them tissues so they can cry 😂🤷
  • 0
    @kp15 Ah ok! Thanks for the information
  • 0
    @stop yes, java was a requirement
Add Comment