Modern Software Engineering Quotes
Modern Software Engineering: Doing What Works to Build Better Software Faster
by
David Farley1,152 ratings, 4.16 average rating, 138 reviews
Modern Software Engineering Quotes
Showing 1-24 of 24
“Software engineering is the application of an empirical, scientific approach to finding efficient, economic solutions to practical problems in software.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Engineering is about adopting a scientific, rationalist approach to solving practical problems within economic constraints, but that doesn’t mean that such an approach is either theoretical or bureaucratic. Almost by definition, engineering is pragmatic.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“...it in fact is worse to not have a change approval process at all. My real point here is to not poke fun on change approval boards, but rather to show the importance of making decisions based on evidence, rather than guess work.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“...work in smaller batches. We need to reduce the scope of each change and make changes in smaller steps, in general, the smaller the better. This allows us to tryout our techniques, ideas, and technology more frequently.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Embrace change, we must have the confidence to begin work when we don't know precisely don't know the answers, and we don't know how much work will be involved”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Software that was testable, was modular, was loosely coupled, exhibited high cohesion, had a good separation of concerns and implemented information hiding, these also happened to be properties that are widely regarded as markers of quality in software.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“In this school of tought, testing drove the development process and even more importantly, the design of the software itself. Software using TDD looked different from software that was written without, to make the software testable it was important to make sure that expectedd behaviours could be evaluated, this pused designs in aprticular directions.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“TDD applies a pressure to create code that is objectively, higher quality, this is irrespective of the talent or experience of the software developer...”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“TDD remains a controversial idea in many quarters, but the data is pretty good, this approach can dramatically reduce the bug count in a system and it has a positive impact on the quality of the design of a system”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Making our code readable is, to my mind, both a professional duty of care, and one of the most important guiding principles in managing complexity, so I prefer to optimize to reduce thinking rather than to reduce typing.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“We write code to express ideas as clearly and simply as we can, at least that's how it should work. We should never choose brevity at the cost of obscurity.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Code is a communication tool, we should use it communicate, sure it needs to be machine readable and executable too, but that is not really it's primary goal, if it was we'd still be programming by flipping switches on the front of our computers or writing machine code. The primary goal of code is to communicate ideas to humans.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Code is a communicatio tool, we should use it communicate, sure it needs to be machine readable and executable too, but that is not really it's primary goal, if it was we'd still be programming by flipping switches on the front of our computers or writing machine code. The primary goal of code is to communicate ideas to humans.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Context matters. I asked a friend whose code I admire, if he had any recommendations to demonstrate the importance of cohesion, and he recoomended the Sesame Street YouTube video `One of these things is not like another”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Another important tool that helps us creating better systems, is separation of concerns [...] One class, one thing. One method or function, one thing.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“The programming language that you choose, doesn't really matter. The framework that you employ, doesn't really matter. [...] in essence, the choice of one tech over another, has less impact on the outcome than how that technology is applied.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“One of the problems in ML, is that the people doing it often don't come from a software background, as a result, many of the techniques that have become normal for software development, even basic ones like version control, are not the norm.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“One of the problems in ML, is that the people doing it often don't come from a software background, as a result, many of the techniques that have become normal for software development, even basic ones like version control, are not the norm.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“For most human endeavor, the production of “things” is the hard part. It may take effort and ingenuity to design a car, an airliner, or a mobile phone, but taking that initial prototype design and idea into mass production is immensely more expensive and complicated. [...]
Unless we are foolish in our software development choices, for us, production consists of triggering the build! [...]
"Production” is not our problem. This makes our discipline unusual. It also makes it subject to easy misunderstanding and misapplied thinking, and practices, because this ease of production is so unusual.”
― Modernes Software Engineering: Bessere Software schneller und effektiver entwickeln
Unless we are foolish in our software development choices, for us, production consists of triggering the build! [...]
"Production” is not our problem. This makes our discipline unusual. It also makes it subject to easy misunderstanding and misapplied thinking, and practices, because this ease of production is so unusual.”
― Modernes Software Engineering: Bessere Software schneller und effektiver entwickeln
“To become experts at managing complexity, we need the following: Modularity Cohesion Separation of Concerns Abstraction Loose Coupling”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“Working iteratively in small steps works better than not. Organizing our work into a series of small, informal experiments and gathering feedback to inform our learning allows us to proceed more deliberately and to explore the problem and solution spaces that we inhabit. Compartmentalizing our work so that each part is focused, clear, and understandable allows us to evolve our systems safely and deliberately even when we don’t understand the destination before we begin.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“The systems that we build please their users more. We see dramatically fewer bugs in production, and teams that employ these ideas find it significantly easier to change almost any aspect of the systems that they work on as their learning evolves. The bottom-line result of this is usually greater commercial success for the organizations that practice in this way. These attributes are the hallmarks of engineering.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“TDD applies a pressure to create code that is objectively “higher quality.” This is irrespective of the talent or experience of the software developer. It doesn’t make bad software developers great, but it does make “bad software developers” better and “great software developers” greater.”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
“We can build machines that can manipulate individual atoms, even subatomic particles, but a human being is extraordinarily talented if they can produce something, manually, with the accuracy of 1/10 of a millimeter.5”
― Modern Software Engineering: Doing What Works to Build Better Software Faster
― Modern Software Engineering: Doing What Works to Build Better Software Faster
