The Essential Software Engineering Skills Overlooked in Favorite Projects: Decision Making, Library Selection, and Optimization
The world of software development is vast and diverse, encompassing various projects, from text editors to operating systems, ray tracers to search engines. While engaging in these endeavors can expand our knowledge as programmers, they do not necessarily make us better software engineers. In an article by Robert C. Martin, he highlights essential skills often overlooked and rarely practiced in software engineering: deciding what to write yourself and what to take from a library, identifying high-quality libraries and frameworks, deciding where optimization is worth the effort, writing code that will still be readable a few years down the line, and thinking about a project as a large-scale, complex system.