The Art of Software Development • Sander Mak • GOTO 2023
Interesting review speech from Sander Mak about how software engineering is real about engineering, and in what part it is more about art. The presentation is about this structure:
- Are we engineers? Or are we computer scientists? - No, we're all artists. (artists) Because software development is about creating abstractions from the real world in our software. Next, the author discusses coding and talks about general principles and approaches, and then about screwing rules into linters so that “artists” do not discuss issues of the prolema level vs. tabs. In general, the goal is not to get carried away with tools and insignificant details, but to write code that ensures the work of selected abstractions. Next is testing, and specifically unit testing and what to talk about before writing tests - the topic is not fully disclosed, but the meaning is about the same - agree on the rules and then make their verification part of the engineering culture:) And then it comes to design and architecture -- which I found very clumsy -- and the author says that this part of the work is important, and it saves a lot of time because of what we think first, and the pomto code. In the end, he gives a reference to the speech of Simon Brown. The lost art of software design by Simon Brown at Devoxx Belgium 2022Which I'm talking about. told earlier The penultimate part is about processes - here the author touches scrum and waterfall, but recommends remembering that we work with people, so read "Peopleware: Productive Projects and Teams" by Tom DeMarco and Tim Lister, may you be happy. Well, the last topic is about how we learn how to write code - the author's answer is that we learn by doing, not from books, so go and write code, and if you think you already know how, then you should become a mentor for beginners.
In general, it was an interesting presentation in structure, with interesting thoughts, but many of which are revealed too superficially, as it seemed to me.
#SoftwareArchitecture #Architecture #SystemDesign #Software #SoftwareDevelopment #DistributedSystems #Management #Leadership #Engineering