Hacker News new | ask | show | jobs
by bgnm2000 2227 days ago
I have worked with only 2 architects who have made me understand what it means to be a good architect. 1 they make sure the code is organized in a meaningful way - consistently, and using places and patterns which make it feel easy and obvious. 2, they determine the code conventions used in a project and help to enforce them with tooling (git hooks, generators, PR reviews etc).

This helps scale a team, and build a cohesive lightning fast unit.

I’ve worked with fantastic devs in the past who had no real understanding of this kind of “architecture”, and as a team the difference was clear.

6 comments

That’s not architecture. The tasks you describe are those of a development lead or dev manager.

An architect might also be a dev team lead, in which case they might have such responsibilities, but the point remains that such detail oriented aspects of the development process are what the dev team lead does.

The job of a building architect isn’t to ensure the builders know how to use their tools and keep them neat, and to ensure they measure straight lines.

The role of the architect is to design the system at a high level to meet a myriad of business and other requirements such as performance security reliability interoperability extensibility etc etc

The architect is politician, diplomat, technical strategic planner, salesperson.

I guess every company defines the architecture role differently. When I worked as an IT architect we never talked with developers or even looked at their code. There were 2000+ developers and less than a hundred architects. What it sounds like you are describing is a senior or lead developer role.
Again, those aren't architectural activities. They're organizational, so the responsibility of a team/group leader, or an SDLC facilitator.

Architecture is about the function of the system and how it interacts with its environment. That requires understanding both of those elements, functionality, and environment.

You are describing a good engineer.
I think I have three architects in my team.
This.

These are how you appear to developers as a _useful_ architect. Sure, there is a lot of other tasks that they do involving design and planning for the future - but the only way as an architect to actually impact software development is to take a hand in building it.

Every architect that I have worked with (my title has been "architect" for awhile now) that didn't spend at least 50% of their time in code was more or less a pretty picture generator - whose documents were ignored by anybody actually building the application.

I think the big point is that developers should trust you. One of the best ways to achieve that is to participate in coding a little. My experience says the architect should avoid the critical coding and focus an quality topics. For example, style unification or linter fixes.

A corollary is that you also need the trust of other stakeholders.

For managers I'd say you need to communicate confidently and deliver. The trick with delivering is to lower expectations early.

It depends on the organization what other stakeholders there are. That is a good separate point actually: Know your stakeholders. Make a list and ask them about their expectations.

> they make sure the code is organized in a meaningful way

> code conventions used in a project and help to enforce them with tooling (git hooks, generators, PR reviews, etc).

Finally, something where I can say "ha! that's exactly what I'm up to now". This right up my alley, and I'm hoping to make some good progress soon here.