4 ms·
Funny. I've programmed professionally since 1984, and have never really had an "architect" in the organization. I almost only work in small companies, and in a
by BurningFrog 2y ago
Funny. I've programmed professionally since 1984, and have never really had an "architect" in the organization.
I almost only work in small companies, and in and near the agile world.
What I've learned is that while architecture is very important, it's best done after the code is written. It's hard to convince anyone of this who hasn't experienced it :)
- arresin 2y agoIsn’t after too late though?
- BurningFrog 2y agoIt's really hard to design code before it exists! Once it's working, you know enormously more than when you started, and all you have to do is refactor the mediocre design you happened to build into something better, without breaking the functionality. With good test suites and solid refactoring skills, that is actually both very doable and often a lot of fun!
- reverius42 2y agoWish I could upvote more. Similarly, I always like to say you should plan to write (at least) two versions/iterations of everything. The first one bottom up, to discover what problem you're solving, and the second top down, once you know the problem.
- qohen 2y agoOr, as Fred Brooks wrote in "The Mythical Man Month" (1976): "plan to throw one away; you will, anyhow."[0] [0] https://en.wikiquote.org/wiki/Fred_Brooks https://en.wikiquote.org/wiki/Fred_Brooks [1] https://wiki.c2.com/?PlanToThrowOneAway https://wiki.c2.com/?PlanToThrowOneAway
- arresin 2y agoThat’s great if you have the time for it but a bit impractical to write, architect, then refactor.
- katze77 2y agoThat is actually how Donald Knuth describes it in The Art of Computer Programming. The first program is merely written to understand the problem domain.
- BurningFrog 2y agoHow have I never heard that? Knuth continues to retroactively impress me!
- mym1990 2y agoI feel like architecture has almost nothing to do with the low level task of coding, and more to do with organizing the order of operations which stem from the business level requirements, and identifying the services that will be used. Architecture is also useful for documenting how things work in a system, and then passing that understanding to anyone that is interested in the future.
- willtemperley 2y agoI suspect software architects are useful when building user-hostile experiences like Amazon prime cancellation, aka Iliad flow [1]. Portioning out the work would keep as few people in the know as possible whilst reducing the risk of offending individual developer's morals. $productivity = amount scammed out of customers - developer cost I wish I could find the leaked document. [1] https://www.vox.com/technology/2023/6/21/23768370/cancel-amazon-prime-ftc-sue-dark-patterns https://www.vox.com/technology/2023/6/21/23768370/cancel-ama...
- willtemperley 2y agoDownvotes without comment, how brave you are
- mym1990 2y agoThere have been no CTOs at the companies you have been working at? I would think that in small companies the architect duties fall to the CTO. Obviously things vary though...if you have never had an architect, I think you are the architect hehe. No one builds a house by feeling it out one step at a time.