A CTO should be:
- Setting technical direction: E.g., technical product strategy, product line architecture, key features & specs, … (And working closely with other top management to flesh out overall company strategy & tactics.)
- Making major technical decisions (with input): Selecting core technologies & components, picking platforms.
- Setting standards & processes - like coding standards & processes, including testing, packaging, etc. If he “always submits bad code” - that’s pretty much evidence that isn’t doing this part of his job very well, and may not be competent to do so.
- Perhaps, writing very key sections of code - e.g., proprietary algorithms/heuristics that the company is based on. In this case, one presumes the CTO is the source of said critical algorithms. (It doesn’t follow that he’s good at turning them into clean code - which, perhaps, should be left to others.)
- (LATER ADDITION) Participating in design reviews at critical stages of projects - particularly the early, architectural stages. (Again, if he’s turning in “bad code” that suggests a lack of critical capabilities.)
If he has time to code, then he’s sure as hell not doing the job that a CTO is supposed to do.
As an aside, what is it that you mean by “bad code?” It doesn’t work (bugs, doesn’t pass tests), or it’s isn’t well formatted, commented, documented, etc. (A prototype of a key module - based on his unique expertise, and to be cleaned up by others, is not necessarily a bad thing. As long as he knows that it’s quick & dirty. See above.)
LATER THOUGHT: Should not all this “bad code” be detected at design & code review, and/or when it passes through SQA? You do have those processes, don’t you? If not, perhaps you suggest to your CTO, or VP of Engineering, that “there’s too much crap slipping into the code base,” we really need to institute some clearer coding standards, do more reviews, and strengthen our testing & acceptance processes. Maybe that’s a job for the CTO.” That will both stop him from doing so much coding, and deal with any bad code that he submits
'애자일(Agile)개발방법론' 카테고리의 다른 글
Agile Issue 종류 (0) | 2017.07.10 |
---|---|
Mantis(2)] Mantis(Bug Track System) 설치 윈도우(Windows) IIS + PHP + MySql + Mantis 설치 (0) | 2015.03.13 |
[Mantis(1)] Mantis(Bug Track System) 설치 윈도우(Windows) IIS + PHP + MySql 설치 (0) | 2015.03.13 |
[Jenkins(2)] 메일(SMTP), 동시 빌드 프로젝트 수, SVN 환경 설정 정리 (0) | 2015.03.12 |
[Jenkins(1)] 설치 및 Jenkins 포트 변경하기 (0) | 2015.03.12 |