While talking to some friends the other day about the nature of coding software into existence, we drew the distinction between two forms of creating software: one where you plug into the existing pattern you see and trial-and-error your way to a solution and the other where you dive into each piece thatโs already there and understand it for its
I think this idea of triaging tasks vs. realizing an idea has a lot of similarities with growth as a software engineer. Entry-level engineers are normally tasked with the more straightforward tasks that have established patterns, but as you grow and become more familiar with the codebase, you start getting assigned projects that are larger and more ambiguous, which requires understanding existing systems and knowing which components to change in order to implement the new project.
I think this idea of triaging tasks vs. realizing an idea has a lot of similarities with growth as a software engineer. Entry-level engineers are normally tasked with the more straightforward tasks that have established patterns, but as you grow and become more familiar with the codebase, you start getting assigned projects that are larger and more ambiguous, which requires understanding existing systems and knowing which components to change in order to implement the new project.
haha yeah that's a good comparison!