

Ask YC: Programmers fatigue and their output - abhishekdesai

Hello All,
I would urge you all to go through one typical situation my team and I are going under. As a project manager or co-founder of the company I have to find solution to this so that it does not happen again and I think YC may be able to help me in this.<p>We are developing one unique project for our client. Project is very well documented and does have some complexity. We chose CakePHP as a framework to develop the solution.<p>Now initially things went smooth and we developed admin section pretty good.<p>But somehow since last couple of months performance has degraded considerably. These are the same programmers who had developed backend and now they are facing sever issues in developing frontend.<p>Situation is so worse that they are not even able to complete simple CRUD operation easily. As a project manager I fail to understand this situation.<p>I also tried releasing off the pressure and giving them free hand to complete tasks as they wish but to no avail.<p>Some senior members are of the opinion that I should not release pressure because then developers do not complete things in time.<p>I am fortunate to have a cooperative client and he is not making any fuss about it but I am ashamed of our output.<p>Mind well these programmers are not fresh out of college but they do have couple of years of experience.<p>Have you faced any situation like this before? What are my options here?<p>Should I consider changing the team? Should I introduce fresh people who are not crumbled under expectations?<p>PS: joel, jeff are you listening? i would be glad if you guys can help too :)
======
abdulhaq
I'm guessing here but it seems this is in India, right? I have worked with a
number of Indian developers, e.g. WiPro and Infosys. They are often fairly new
developers (< 5 yrs) and very clever. There are some cultural issues that
apply here. From what I have seen most of your team will not have had much
formal training but will have learnt on the job. This means they have probably
done a lot of 'hacking' without paying much attention to testing, and now the
project needs refactoring to smooth out the recent features that have been
bolted on. However, this is probably too difficult to do because the code base
is too disorganised.

I recommend you get in a senior developer with experience of TDD and large
systems. Have a fresh start and boost morale by showing how a new approach can
help clean up the code. It will need your support to give them the time to add
the tests, refactor and clean up the code. Progress will appear to stop for a
while, but it is well worth it. You will end up with a much better product.

~~~
abhishekdesai
you guessed it right, this is India. developers have <5 years of exp and they
are without formal training. however as you said they are clever and have not
done bad coding. i.e. they have not done messy code which can not be
understood by other developers or not according to the standard.

infact that is where cakephp helped us a lot. it does not allow you to take
too much room while developing so you have to try hard to do bad coding in
there.

Your suggestion is well taken but I am not sure whether there is a need to
rewrite the code.

~~~
abdulhaq
OK, fair enough. Have you asked them what they think is the best thing to do?

~~~
abhishekdesai
Well not in this typical sense but yes I have always given them freedom to
complete tasks on their own.

------
sam_in_nyc
Were they initially excited about the project? It sounds like they just don't
care about what they are working on. Some causes of this (I speak as a
programmer, not a manager):

    
    
      * they aren't being involved in higher level decision making, like what features to implement
      * the requirements keep being changed on them
      * the project just isnt technically interesting
      * they feel like theyre slaves

~~~
abhishekdesai
\- the requirements keep being changed but not major changes

\- features etc are provided by client to implement but we have freedom of how
to implement them.

\- i guess project is technically very interesting

\- they may feel like slaves as they are not able to produce quality work
lately

It may happen that they don't just care about what they are working on.

------
shutter
Have you talked to them about what's causing their performance issues? Are
they unfamiliar with the technology? Is the framework itself cumbersome or
poorly put together?

~~~
abhishekdesai
they were initially not familiar with cakephp but now they are and they accept
that it is not a hindrance anymore. the issue is they are working hard
everyday but still unable to produce finished product without any major bugs.

------
abhishekdesai
Another problem is, they have locked their minds now. They are not able to see
things which are not given to them. Somehow I feel their common sense is lost.

