5

Consider there is a manager and a programmer in a project. A manager crates a task which a programmer performs.

In this situation who should check that a programmer didn't make some non-testable mistakes like using non thread-safe map in a singleton service? And who checks the overall project code structure?

2
  • 8
    Usually I'd answer "peer review" or "team lead", but without peers, without a team, I can only guess that the answer is "nobody". Commented Feb 24, 2011 at 9:47
  • 2
    codereview.stackexchange.com ! Commented Feb 24, 2011 at 15:05

5 Answers 5

3

I once worked in a company that had standardized on a process so that every single task had a manager, an implementer and a tester, who all had to be different people. Manager was whoever submitted the task, and he typically hand-picked the other two.

That worked rather well for development tasks.

In your case, if theres' no specific tester, it's of course the manager who should check if the task was really done. Definition of Done might help.

6
  • No, my question was not about checking that task is performed. The question is who performs code expertise? Commented Feb 24, 2011 at 10:03
  • Still: the manager. If the manager cannot, perhaps he shouldn't be the manager. Commented Feb 24, 2011 at 10:07
  • @vegai: managers manage people. code review should be done by programmers, not managers. If you are the only programmer then you are in trouble. Commented Feb 24, 2011 at 12:10
  • 2
    @Matt Ellen - If having someone reviewing your code is the only way you'll follow the rules, that's trouble. Code review is preferable, but there is a lot of quality software created by lone programmers. Commented Feb 24, 2011 at 14:57
  • @Jeff O: yes, I agree. What I meant to say is that a code review by yourself, on your own code is an exercise in futility. Commented Feb 24, 2011 at 15:30
2

Regarding the "non testable" mistakes:

At the end of the day, this has to be done by a human who is skilled in software development. If the manager is not also a programmer, then the programmer just has to be extra-diligent.

This kind of problem can be reduced by using static analysis tools like pmd, findbugs or lint.

Alternatively, the programmer could post to codereview.stackexchange.com.

Regarding the "overall structure"

Who cares?

I mean that literally. The person who needs to check it is the one who cares about what the overall structure should be.

2
  • posting your employer's IP on the internet is probably not a good idea Commented Feb 24, 2011 at 14:05
  • True, I should qualify that: "Given appropriate permission, post to ...". Commented Feb 24, 2011 at 14:12
0

There is not one right answer because this will vary from each company structure/culture. Although, typically I would assume if the manager is a technical manager than he/she might be the one responsible for the overall code structure and for enforcing best practices.

0

If a manager with no programming experience is responsible for a developer, there is no choice but to trust their coding. Usually in this case, they just want the application to work and they don't get caught up in the how.

My boss has a programming background, but I've been allowed to: choose the languages, coding style, design methodology, source control usage, etc. I'm on the honor system when it comes to sticking with it.

We discussed future growth of our team and he mentioned we could hire a junior developer. I told him if I was smart, I'd suggest they add someone who is better than I am. It's the best way to improve.

0

I work in a medium size shop (20 - 30 programmers). We have a committee that does what you're describing, review code, check the overall structure, and provide technical oversight or guidance. Some of the projects we look at have only one programmer, and most have 2 or 3 programmers.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.