Live data from Hacker News

Ask HN: Software architects – what’s your typical day look like?

news.ycombinator.com

21–30 of 107 posts

Re: Ask HN: Software architects – what’s your typical day look like?

#22
Well I work for a small government and my responsibilities tend to be a little less structured or more fluid in nature. I have to adapt at times and crunch code just as much as I scope requirements and write technical documents.

Meetings here and there, lot's of talking to people and lots of reading. Currently I'm working on a digital transformation strategy and I can definitely see myself writing a whole lot in the next few months to gather traction on the implementations that are needed.

I would say that at least for me, becoming a Software Architect has meant that I need to split my time between groundwork and strategising with an added layer of complexity that stems from the fact that I work for government, so there are a number of policies and internal bureaucratic barriers to get used to.

Re: Ask HN: Software architects – what’s your typical day look like?

#23
I believe that the job description differs a lot from company to company.

From my experience, the best architects spent most of their time focusing on these things:

  1. Always understand what the current business priorities are.
  2. Design the overall system architecture so it covers all of the business needs, and nothing more. Always focus on keeping it as simple as possible. Even when people argue "lets do this some other way, because we might need it in the future".
  3. Fight the urge to use "latest and coolest" technology. Don't listen to consultants selling you unnecessary tech. Stick to what works. Even when it's boring. Explain it properly to your team.
  4. Maintain proper documentation. Focus on making it as simple as possible, easy to adjust and up to date. Otherwise its value will be close to 0.
  5. Use UML diagrams. Think about where the complexity of the given system is, and use only the most relevant ones. For example, if the complexity lies in complex workflows, use sequence diagrams or state diagrams. If the complexity lies in complex datamodel, use ERD diagrams.
But more often than not, architects also have to focus on other things, mostly related to DevOps, Platform Engineering and overall developer workflows.

[shameless plug] That's one of the reasons I founded https://stacktape.com - AWS-focused "internal developer platform" that allows developers to do this sort of stuff on their own, without involvment of architects, DevOps or others.

Re: Ask HN: Software architects – what’s your typical day look like?

#24
post #16

Earlier quoted context omitted.

Also, I agree with you about over-complicating with all those patterns. But before I am able to dismiss a solution, I have to understand it. Trying to keep it simple is hard

@lexx, i think most of the things you put in your answer were very reasonable and non-controversial and probably what most good senior-ish engineers do. I think the parent comment is slightly in his "local minima" and he's generalizing his experience to everyone else >"Trying to persuade people to avoid technical debt at all costs" - put in a linter This for example does not make sense to me. This would mean all tech…

Definitely nothing against what Lexx said. I did want to call out that most architects over-complicate in my experience. What we do just isn't as profound as people make it out to be unless you are genuinely working on some latest ML for billions of revenue or stabilizing SpaceX's landing thrusters, sequencing DNA, etc.

Re: Ask HN: Software architects – what’s your typical day look like?

#25
I’m not an architect, but used to closely work with one and it was a pleasure.

The key role that our architect played that brought immense value to us was being the integrator of teams. Teams had a high level of autonomy when it comes to implementation details which meant there could easily be “reinventions”, incompatibilities, and even narrow minded choices. Our Architect always had the big picture view across teams, almost always sat in our feature grooming sessions with valuable inputs, worked closely with product owners who bring in feature requests that may need integration of multiple services etc.

Above all, he was very active, and approachable to all teams instead of hiding behind barriers and occasionally bringing out UML diagrams. Several times, when we were debating which technical choice to make, held chime in with valuable points about what would be better if we were to integrate with another service, or something like “that team did this because blah, which might be relevant to you”.

Re: Ask HN: Software architects – what’s your typical day look like?

#26
post #10

- Always on a state of mind of redesigning and simplifying everything - Spending a lot of time trying to figure out the business better - Studying a lot of books, articles, codebases and discussions on software architecture - Inspire the team and younger devs to avoid complex tools and solutions and stick to the basics - Balancing everyday and urgent business needs while leading towards a more simple, boring and main…

"Studying a lot of books, articles, codebases and discussions on software architecture" - like what? 90% of it is "write clean code", "put in a cache", "normalize your db", "use a queue if the service is really spotty/unreliable". "Fundamentals of Software Architecture" is 95% fluff. So is "Clean Architecture". Most patterns like CQRS, DDD, fully event-driven etc are complete overkill and a sign of a BAD architect un…

> "Trying to persuade people to avoid technical debt at all costs" - put in a linter and concrete rules (even if a rule is loose, note that in writing) or devs will get upset and think you are singling them out.

I went from a company with no linter or style guidelines and PRs were an absolute nightmare. Eight devs, eight completely different styles, each insisting theirs was right. I wasn't able to turn stones into loaves (i.e. I wasn't a Senior Dev at the time), so my style was categorically incorrect. I switched to a company with an aggressive linter, and all that superfluous debate over tiny patterns and "personal preference" went out the window. I no longer dreaded PRs.

Re: Ask HN: Software architects – what’s your typical day look like?

#27
post #20
post #14

The essence of my job as an architect is commonly described as a 'professional negotiator', implying that my primary responsibility is convincing people into doing the right thing (tm). My time is typically split between two main things: meetings and research/design work. On a typical day, I have 4-6 meetings with different groups of people. Some will be solution design discussions with engineering teams where we try…

> convincing people into doing the right thing (tm). How do you deal with the burden of knowing/predicting what the right thing (tm) is / will turn out to be? I am constantly agonising over choices I'm about to make, and almost invariably come to regret some of the choices that I, or our team, have made (which include, but are not limited to, React, Gatsby, Flow, Stylus, Enzyme, Jest, SCSS, single-page app architectu…

A great mentor once told me about the poker analogy method of coping with situations you describe.

Let's say you are a great poker player. When you get dealt a good hand, you play it and end up loosing - does that make you a worse player?

Turns out even the best of all players loose quite frequently. What distinguishes them from others is that they make the best choices with the limited information they have at the time. They later go back and learn from any mistakes they have made and move forward.

Re: Ask HN: Software architects – what’s your typical day look like?

#29
When I was an architect, my job was to scale my knowledge and save others time. Not 10 minutes of googling, but several weeks or more for a team who would need to sound out a solution. An example would be spending an afternoon designing a slide that represented the main transactions we were building for as an M/M/1 queue (or other queue) so that devops could decide in a couple of seconds how many VM instances we were going to need, and the likely compute costs - instead of scheduling several meetings where they needed to sort out their internal power struggles of who was right to move the decision forward.

I might spend several days (or more) going through code and interviewing developers about how they implemented an authentication protocol so that I can draw it in BAN logic on a slide, which other projects can use to integrate their code with, and our certification/accreditation/infosec people can reason about so the project doesn't get spike stripped at the production gate and delayed a quarter while a post-hoc security analysis gets done on it.

I would meet with our vendors and tech service providers and establish whether they in fact provide the services they said they would, and what that physically means. A great example is whether an o365 tenant supports OAuth2 federated logins with non MSFT tenants or not, and how we are going to enroll users based on the amount of friction the realization of this feature causes(or not). Another one would be pushing standards down into development so nobody would roll their own protocols, and so I could have a short answer to what we implemented. You might see it as ticking a box, but an enterprise is like an airport, and some people get to fly while others don't. The ones who don't are usually stewing over some counterfactual.

I would meet with external consultants, often security and regulatory people, and provide them with the technical details and assurances that would keep them from taking a pound of flesh from the project in the form of a 6 week analysis engagement.

What makes an architect something different is they recognize that when there is direction or demand for a tech project, that creates opportunity for a lot of other very sophisticated technical people to inject themselves into the critical path of the project and use their leverage to extract money, management authority, and other concessions from it. As an architect, you see these people coming, and make sure they do not derail your tech.

I enjoy it because it's solving problems at a higher level of abstraction. I also like doing product, but the architecture urge sabotages that, as in product, solutioning comes at the cost of listening and scaling your listening out to architects to solution stuff.

Re: Ask HN: Software architects – what’s your typical day look like?

#30
post #20
post #14

The essence of my job as an architect is commonly described as a 'professional negotiator', implying that my primary responsibility is convincing people into doing the right thing (tm). My time is typically split between two main things: meetings and research/design work. On a typical day, I have 4-6 meetings with different groups of people. Some will be solution design discussions with engineering teams where we try…

> convincing people into doing the right thing (tm). How do you deal with the burden of knowing/predicting what the right thing (tm) is / will turn out to be? I am constantly agonising over choices I'm about to make, and almost invariably come to regret some of the choices that I, or our team, have made (which include, but are not limited to, React, Gatsby, Flow, Stylus, Enzyme, Jest, SCSS, single-page app architectu…

That ecosystem moves very fast and... reinvents itself all the time.

Here's another way of looking at that problem:

How many of those tools and technologies existed 1, 3, 5, 10 years ago?

Would you trust a six month-old tool on github to form the nucleus of your -- probably mundane, in the good way! -- project? Would you risk it all for the chance to have a slightly different way of rendering CSS or generating HTML?

... I didn't think so. React's been around for a long time now and it's got a lot of momentum and people who know it. So that's a pretty safe bet. Rinse and repeat.

Not all tools are critical and you do have some leeway. But when in doubt, pick something you can easily hire people to help you accomplish; that has been around a while; and that feels established.

Post reply on HN