Hacker News new | past | comments | ask | show | jobs | submit login

Software is more a design activity than an engineering activity. In the construction world it would be more like architecture than civil engineering. Architecture in the sense that you do need technical knowledge but it's much more about thinking about how do we design a building for people who are engaged in certain activities. What are their needs. How does it fit in with its environment etc. Soft things. Burt difficult things nonetheless. In a way the work of the civil engineer is done for software by the language, library, OS and browser developers (and the hardware people obviously)



In the US and many other parts of the world architects are professionally liable for the public welfare in general and life safety, regulatory compliance and system performance specifically of the buildings they design.

The practice is regulated in these places because there is very little soft about people dying. It is the absense of a culture that comes from individuals aaccepting such responsibility that concerns people like the author and Uncle Bob.


I don't mean that all of what we do is soft. I mean about 50℅ of it (in my case anyway, the rest I spend on data structure design, performance, testing, maintainability etc etc.) I'm saying that it is more like architecture than civil eng. Because it has such a large soft design component it will always elude a hard engineering approach.


Are they? I worked for a top 5 consultanting enginers and the buck stoped with us in ters of the desugn all the archtects did was make it look purty.


It depends on what you are working on. I would argue front end is more like architecture and back end is more like civil engineering.


I struggle to come up with a distinction between the two, with respect to the original post. The design work that goes into programming is largely irrespective of the problem. In fact, if you stick to common design methodologies you often won't even see a significant difference between "front end" and "back end" work – and I might even suggest the line is completely arbitrary.


I'm thinking about things like animations & css work. That is almost entirely aesthetic, and thus more like architecture. Even when I'm writing the entire app, I draw a pretty clear distinction between 'front-end'/UI and 'back-end' type work.


That seems more like paint to me, which is certainly important in its own right, but not the core focus of an architect, or what I think the parent was trying to convey. The architect is more concerned with structure and conveying feeling to other people – which is other programmers in the case of code. Attention to aesthetics is important, but those aesthetics are more like how to appropriately use whitespace to evoke a sense of beauty when the next person catches a glimpse of your work in a text editor, to ensure that the reader understand that "a door is a door and not a window", things like that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: