Using Indian Developers

Discussion in 'iOS Programming' started by loon3y, Nov 20, 2013.

  1. loon3y, Nov 20, 2013
    Last edited: Nov 20, 2013

    loon3y macrumors 65816

    loon3y

    Joined:
    Oct 21, 2011
    #1
    my company so far for a while has been using indian developers, for our ERP and mobile apps,


    but at this point, we spend way too much effort teaching these indian programmers how to program correctly (the right way, using ancestors and object oriented coding), how the business industry works (they have absolutely no idea why they're making pro grammatical changes to the system)

    and its to the point where nothing really gets done, projects are never completed, and our main/head programmer is constantly teaching, and doing things himself, for example a 1 day project for him would last 3 months for the indian programmers.

    cosmetics as well is a problem, sometimes columns and lines are sometimes not aligned in some cases, and theres inconsistency of appearance, logos, and buttons. (for example different 'back' buttons, or if they change one of the 'back' buttons per say, they dont change all of them, etc etc)


    should we hire developers in the US? or elsewhere? at this point i think if we continue, it will go nowhere but down hill, except the owner is too proud to probably admit it. i want to modernize our ERP, add some features and such, and get our mobile apps finished with no bugs.

    nothing gets finished, nothing is tested/debugged correctly, and we teach them so much here, we had about two guys leave after they learned and honed their programming skills at our company for a better paying job or more relaxed hours.

    do other companies that outsource have this problem too? i just dont know if getting developers in india is the correct choice. but again US developers are expensive, of course i would prefer them but I'm not sure if we can afford them reasonably

    good developers are hard to come by in india, 1 in 100. the iOS developers we hired, we had to TEACH them objective oriented programming. and of course one left with the skills we taught them and an inconvenient time (couple apps still needed to get polished)


    edit: A co-worker has suggested to get rid of the india office completely, but i know thats not reasonable at all, but maybe just ONE good developer, that can grab the idea of how the business industry works. whether it be a .Net guy or iOS guy or what not. at this point we're holding hands with almost everyone besides maybe one person or two.
     
  2. forcesteeler macrumors 6502

    Joined:
    Oct 1, 2007
    #2
    You get what you pay for. In my experience Indians and Chinese are the worst for outsourcing programming projects. (Not to be racist).

    The Best are Russian and Ukrainian Programmers, They are the best and there usually in the middle when it comes to pricing (anywhere from $20+ a hour) and up.

    US Based are good but expensive ($60-$110 per hour). I would only use them for major projects (100K budget or better).
     
  3. teagls macrumors regular

    Joined:
    May 16, 2013
    #3
    I worked for a company here in the US that had a mixed team of outsourced programmers from India.

    Myself, and eventually the lead left. I couldn't deal with it anymore. Here were the main issues.

    -Collaboration was not existent
    -They did not understand basic Computer Science/Programming techniques
    -Coding styling was so haphazard everything was a mess.
    -Majority of my time was spent not adding new features but fixing prior mistakes made by the outsourced group.
     
  4. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #4
    I used to work as a tech manager for a large company and we hired an offshore developer in India. We hired Tata consulting, which is a huge company. At that point my team was doing Mac and Windows development, and we used them for Windows, which was a more common skill.

    We had the infrastructure to deal with them (project management, QA, personnel, layers of management, etc) but it was still a challenge.

    Based on my experience I would never hire an offshore developer as a small company. It just takes too much support. If you don't have 5 or 6 staff support people for management, project management, QA, etc) already, don't do it. It will cost you more than you save in lower rates.

    Language, cultural, and time-zone differences are also a challenge.

    I bet it's much worse with iOS, since it is a different platform, different language, different frameworks, etc. If I were hiring an offshore developer, I would insist on them only presenting people with at least a year of full-time iOS experience, and I'd review each person's resume and do a phone interview before I hired them. After a being offered more than a couple of unqualified candidates, I'd take my business elsewhere.

    There's a lot less overhead with a US developer, and you will have an easier time gauging the developers' skills. However you will pay more.
    (As an example, our company charges $120/hour for our senior developers, but at that rate you get senior-level iOS/Mac OS experts.) You also still need to screen your developers to avoid people who over-sell their skills. (For example if you were hiring us you shouldn't take my statement above about our developers at face value. You should ask to see a portfolio of our apps, ask for references and resumes of the developers, etc.)

     
  5. dantastic macrumors 6502

    dantastic

    Joined:
    Jan 21, 2011
    #5
    I have been working a good bit with outsourced developers too. Someone has said it already but you really get what you pay for. I have been working with some truly excellent people but they were not cheap, not at all. From a pricing point there is no advantage.

    With the outsourcing countries you have a broader range of skill level. Or rather, someone with sweet f-a previous skill or knowledge can be thrown on to your project by the foreign company.

    In the projects I have worked on, hands down, no money was saved and I'm pretty sure a local team would have completed the task in half the time.
     
  6. loon3y thread starter macrumors 65816

    loon3y

    Joined:
    Oct 21, 2011
    #6



    this probably explains my situation, after i gathered up all these APIs and components, new feature ideas, it all goes down the drain, because we're still having problems with stupid offline mode (sqlite database), memory crashes, lag within simple functions, and the tackiness of the appearance of the app, ui labels arnt aligned so it looks messy.


    its ridiculous, i mean isn't it common sense to align UI labels like if one was 'Color:' 'the selected color' but its not, ones higher than the other, and when i fix it and tell them about it to make sure that things should be aligned everywhere and look nice,


    they dont.
     
  7. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #7

    Time to either bring it in-house or hire a professional (probably domestic) consulting firm to do your work. Paying 1/2 the hourly rate for work that takes more than twice as long, and takes 10 times as much of your employees' time is false economy, and has lots of hidden costs.
     
  8. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #8
    So fire them? Tell them their mediocrity isn't appreciated and if they're not going to get better immediately, they won't have a job momentarily.

    As someone else said, you get what you pay for. If you're offering crap for pay, you're going to get crap for quality. I would ask for a portfolio before hiring. Make sure that their UI looks good, they've written some unit tests, and their coding style is good. Don't worry about languages and/or IDEs they use - skills transfer between them easily.
     
  9. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #9
    For larger projects, you might want to break the job up into phases. Have them complete a phase before they get paid or at least paid in full. You can give them the whole project, then explain to them that they'll do 1 part of that, submit that for review, then you'll tell them if they can move to the next phase.

    This will at least limit the damage, you should be able to tell if they have a clue or not.

    Years ago, a company I worked at hired a consulting group to make changes to an accounting package. The system wasn't tested and it pushed a strong fast growing company into a buyout about a month before complete failure.

    It's easy for upper management to base decisions primarily on costs, thinking they'll get a steal, they end up losing in the end.
     
  10. xStep macrumors 68000

    Joined:
    Jan 28, 2003
    Location:
    Less lost in L.A.
    #10
    This thread has been entertaining.

    My first chuckle was when I got to the cosmetics line and realized I was reading a poorly constructed rant. Loon3y often doesn't start sentences with capitals or end them with periods. This habit is as visible as the cosmetic issues being complained about and as annoying.

    Oh, a 3 month to 1 day productivity advantage. LOL! Riiight.

    As I read through the thread I chuckled, and cringed a little, as I recognized that I've been dealing with the same issues for the last year and a half. It has cost me a great deal of time and frustration. These have been iOS projects.

    The first line of responsibility is with the hiring company.

    Start with hiring practices that filter to the talent needed for the job and offer reasonable pay for the skill sets. A lot less hand holding and training will be needed and fewer people will quit if you have a good team who respect and challenge each other.

    As Duncan mentioned, you _require_ local resources to manage the offsite resources. There should also be some management on the other end. At minimum someone who can understand the technical ideas and communicate those between both teams. When a project is in full go mode here, we have daily technical meetings and the PMs also have daily meetings. Everybody adjusts their day and plans to align up for the meetings.

    Review your documentation and designs for explicit clarity that will push everyone involved on to the same page of understanding. If it is written down or displayed in a wire frame, it is more difficult to misunderstand. If you're not doing proper analysis and design up front before coding, you're doing it wrong.

    Keep in mind that any body hired will have to come up to speed to the companies tools and practices. That does take some time and teaching on your part. If you hired well, then progress should be obvious and reliability and trust on that resource should come quickly.

    It can work, even with million dollar iOS apps. :D
     

Share This Page