|
Something I find odd is this presumption that most software engineering roles necessitate practice in the form of side projects. That hasn't been my experience. Modern-day software seems to take the form of mostly being fairly repetitive (CRUD, front-end framework, RDBMS, AMQ, in-memory cache, object modeling, testing, CI/CD, etc) and only quite rarely involving unique knowledge specific to the task at hand. Once you've dealt with the fundamentals enough times, there are rapidly diminishing marginal returns to hours spent coding, for most practical software engineering roles. At that point, a person's time would be much better spent developing other tangential faculties like communication, project management, and critical thinking or simply on personal wellbeing (happy workers are more productive workers). So, in my opinion, unless you're trying to do something quite innovative, you're making a mistake by selecting for coders who burn the candle at both ends. You should instead select for smart people who can get the job done well without having to spend an excessive amount of time on side projects and who optimize their lives outside of work in a way that leaves them happy and energized when they come to work. |