This post felt like it belonged somewhere in between SE Workplace and SE Programmers. However, since it's specifically targeting a programming issue, I decided to put it here.
What are the responsibilities of an architect? I'm asking because at every company that I've worked for, the architect's duties were along the lines of :
- Specifying the interface of functional modules.
- Participating in code reviews.
- Preparing specification documents which describe the functionality that is to be implemented, including but not limited to sequence diagrams and the like.
I recently started a new job. Here, the architect's duties are :
- Describing one problem and proposed implementation to every team member separately, instead of documenting it once and then letting us familiarize ourselves with it.
- Engaging in two-week almost 24-hour coding streaks where he puts out a lot of code that is not documented at all, even though the code does what it's supposed to do.
- Not caring about code review at all, be it his own or others'.
- Bypassing any coding standards that we have strived to put in place as programmers : be it unit tests, documentation, or formatting.
- Being completely ignorant to the rules governing the language that we write our application in (C++), including but not limited to object life cycle management, or passing large structs via copy.
When confronted about this stuff, he responds that "We couldn't have written the stuff that he writes in a way that it's supposed to be written". When I spoke to some of the more senior staff in here, they simply said that "It's how it's always been", and that he simply has more leeway with management because he individually maintains a system for managing testing of our application that is of course vital to the company.
I feel like such behaviour should not be tolerable, since it reduces the number of people being able to maintain the code to practically zero, as he usually writes the most basic code for the application that we need to use later on. I do understand that he may be used to working alone because of his previous experiences, but by repeating his practices, he pretty much creates a system that nobody else can maintain later on.
Is there anything that can be done in my situation, short of handing in my resignation and looking for another opportunity? I'm really frustrated with the situation, as I see this simply as an abuse of power.