•According to them, the guy is a jerk, and has no respect towards the other members of the team. One recent quote of him talking to a junior programmer in front of the team is very illustrative: “I worked for twenty-five years in this industry, and you? What have you done? You've been a code monkey for three years. So shut up, you, moron! Nobody cares about your opinion, a******.”
- According to them, the guy is a jerk, and has no respect towards the other members of the team. One recent quote of him talking to a junior programmer in front of the team is very illustrative: “I worked for twenty-five years in this industry, and you? What have you done? You've been a code monkey for three years. So shut up, you, moron! Nobody cares about your opinion, a******.”
•In the past, decisions were taken by all team members. When members wouldn't agree, they would discuss it all together and come to an agreement, or at least explain the reasoning to the ones who won't agree.
- In the past, decisions were taken by all team members. When members wouldn't agree, they would discuss it all together and come to an agreement, or at least explain the reasoning to the ones who won't agree.
1.He hates IDEs, auto-completion, and features which are intended to help programmers write code faster, and claims that the team should use Notepad++ to be productive. While it makes sense in different circumstances, it's difficult to imagine C# developers suddenly abandoning Visual Studio for Notepad++.
- He hates IDEs, auto-completion, and features which are intended to help programmers write code faster, and claims that the team should use Notepad++ to be productive. While it makes sense in different circumstances, it's difficult to imagine C# developers suddenly abandoning Visual Studio for Notepad++.
2.He doesn't refactor the code, and doesn't care about style (which is inconsistent across his own code), the reason being that “he only cares about things that actually matter”. As a side note, style was previously checked by a nightly build, which started to fail since the arrival of the new lead.
- He doesn't refactor the code, and doesn't care about style (which is inconsistent across his own code), the reason being that “he only cares about things that actually matter”. As a side note, style was previously checked by a nightly build, which started to fail since the arrival of the new lead.
3.He rejects the idea of a nightly build, as well as automated tests. According to him, “any professional developer tests his code anyway by hand, so there is no reason to waste time writing automated tests”. The nightly build is also a waste of time, according to him.
- He rejects the idea of a nightly build, as well as automated tests. According to him, “any professional developer tests his code anyway by hand, so there is no reason to waste time writing automated tests”. The nightly build is also a waste of time, according to him.
4.He thinks that version control is mostly useless, and seem to misunderstand how to use one. This leads to the situations where he develops a feature alone for three to five days, and when he finally commits his changes, he does “take mine” for all conflicts. If other team members complain that their code was erased, he invites them to rewrite it. On several occasions, other members did the same, erasing the code of the lead developer. He looked surprised (it seems that he doesn't know how to use svn log or diffs), and did his changes again, complaining that “they were mysteriously lost” and blaming SVN for screwing up.
- He thinks that version control is mostly useless, and seem to misunderstand how to use one. This leads to the situations where he develops a feature alone for three to five days, and when he finally commits his changes, he does “take mine” for all conflicts. If other team members complain that their code was erased, he invites them to rewrite it. On several occasions, other members did the same, erasing the code of the lead developer. He looked surprised (it seems that he doesn't know how to use svn log or diffs), and did his changes again, complaining that “they were mysteriously lost” and blaming SVN for screwing up.
5.He overstates the importance of code optimization. His approach is correct, i.e. he runs a profiler, determines a bottleneck and fixes it; the problem is that there are no non-functional requirements of performance, and no elements indicating that the users may consider the application as being slow (and hosted on low grade development VMs, the app feels very responsive). He, on the other hand, spends practically half of the time optimizing the code.
- He overstates the importance of code optimization. His approach is correct, i.e. he runs a profiler, determines a bottleneck and fixes it; the problem is that there are no non-functional requirements of performance, and no elements indicating that the users may consider the application as being slow (and hosted on low grade development VMs, the app feels very responsive). He, on the other hand, spends practically half of the time optimizing the code.
6.He writes all SQL by hand, and rejects the idea of an ORM. One should note that the current product is based on Microsoft's ORM Entity Framework, and two of the five developers never used SQL before.
- He writes all SQL by hand, and rejects the idea of an ORM. One should note that the current product is based on Microsoft's ORM Entity Framework, and two of the five developers never used SQL before.
7.He rejects frameworks and third-party libraries, considering that it's much easier to write stuff from scratch. He decided to abandon all JavaScript libraries and frameworks except jQuery, claiming that when he started programming in JavaScript fifteen years ago, there were no frameworks, and the life was much easier.
- He rejects frameworks and third-party libraries, considering that it's much easier to write stuff from scratch. He decided to abandon all JavaScript libraries and frameworks except jQuery, claiming that when he started programming in JavaScript fifteen years ago, there were no frameworks, and the life was much easier.
8.He thinks that mobile devices (including tablets) are just a hype, so there is no reason to waste precious time to ensure the compatibility of the site with those devices and to make responsive design. The product is a public web application which is not expected to be used a lot from mobile devices. Responsive design, however, could be very interesting to have for this app, since even on desktops, it will be displayed on both 19-inch monitors as well as large high-res ones.
- He thinks that mobile devices (including tablets) are just a hype, so there is no reason to waste precious time to ensure the compatibility of the site with those devices and to make responsive design. The product is a public web application which is not expected to be used a lot from mobile devices. Responsive design, however, could be very interesting to have for this app, since even on desktops, it will be displayed on both 19-inch monitors as well as large high-res ones.
9.He asks the team to stop using internet (especially StackOverflow) and rely on their brains, the offline documentation (I didn't even know Microsoft still sells MSDN CDs!) and the books.
- He asks the team to stop using internet (especially StackOverflow) and rely on their brains, the offline documentation (I didn't even know Microsoft still sells MSDN CDs!) and the books.
•Either throw the lead out of the team or the company,
- Either throw the lead out of the team or the company,
•Or force him to change his attitude towards the team?
- Or force him to change his attitude towards the team?