4 ms·
Ask HN: Who is a software architect?
One of the ways I look at career growth is to look at the skills, duties and responsibilities at the next level and try to do that right now.
Given that, I wanted to know what a good software architect actually is? What they actually do?
Internet searches give me Jargon'ish definitions.
- Aqueous 13y agoThat's technically my title, although my company is so small (8 people) that it is not exactly clearly defined. However, a lot of what I do is "architect-y" in that it involves the exact planning or blueprinting of the software that we are about to create. I spend a lot of time leading the planning of new features for implementation. This includes, in many cases, going through the requirements/specifications documents and, as precisely as possible, laying out what needs to be done to implement each feature. Since most of our applications are MVC-patterned database-backed web applications, I start off by defining the SQL schema, down to writing the SQL evolutions. Since the primary data structures in any given application mimic the schema, the data structures usually follow directly from the schema and are pretty easy to clearly define. Then, having created the schema/model structures, it becomes a matter of defining exactly what functions/methods need to be written, defining the function signature of each function (we work primarily in Scala). I leave the function signatures as stubs to be implemented by our developers. Then I create cards for our Kanban board. Usually I create one card per unit of functionality (along with complete unit tests) for this functionality. I also create separate sprints for integration test of each piece of functionality. I put them in the Backlog and assign them to each of our programmers. I then code along with my team to rip through the cards as quickly and correctly as we can, hoping to honor my design as much as possible while making any necessary changes when it turns out the implementation we had planned is either too difficult or complex, or will not solve the problem adequately. The planning process really serves to pre-answer as many questions as possible that would otherwise come up during the course of implementing a user story or feature. I go down as fine-grained into the detail of what needs to be done as possible without actually writing the implementation, so that developers have as few questions as possible when they actually sit down to write the code. The more questions we have pre-answered, the more clearly defined our follow-up questions will be, the ones we encounter on the way to implementing our design. I hope this helps.
- deleted 13y ago[deleted]
- alien3d 13y agoSome said company main developer which build framework by himself.but new bies should use market framework rather then reinvent the wheel.i had to build code from scratch and it takes lot of time.
- padseeker 13y agoNeal Ford of Thoughtworks gave a presentation at Windy City Rails that I really liked. While the name of the presentation does not contain architecture, one of the opening lines of the presentation is "Who needs an architect". I would highly recommend watching the video, I found it very informative, and I think it would go a long way to help you figure out what a software architect's role is; http://vimeo.com/75256535 http://vimeo.com/75256535
- contingencies 13y agoMy self-assigned title is financial systems architect ... as distinct from pure software architecture, I see systems architecture as focusing more on the intersection of business process, interconnections between individual software services, hardware to run it all on, and of course individual software services including the entire lifecycle of conceive/research/spec/build/test/deploy/(rebuild/retest/redeploy/)retire. It's basically software development with a whole bunch more levels of abstract, where perhaps software development winds up getting less attention due to https://xkcd.com/1319/ https://xkcd.com/1319/
- jagawhowho 13y agoRandom opinions on titles that have no definition in the software world. Good read.
- sprobertson 13y agoIt's a pretentious, usually self-assigned title that implies some greater grasp of system design than your average developer. That's why I use it at least.