As an oldster - two things that I really wish my younger self would have intimately realized. 1) As a software person your are employed to Solve Business Problems - NOT to write code, NOT to write tests, NOT to hack on platforms, NOT to be Agile. Solve the problem (or add the feature) - never lose sight of this. The value you bring is directly related to this. 2) People outside software development don't give a flyin…
My chemical engineering degree really instilled this idea in me early on, and it's by far the biggest motivating factor as to why I love to work at software startups. When a scientist discovers something in a lab, the ChemE's job is to then come in and figure out how to turn this discovery or innovation into a legitimate business. How do we scale this reaction up from a petri dish to a 10,000 gallon reactor? Where and how do we get the reagents? How much do they cost? Are there any hazardous byproducts? How do we dispose of them?
I like to operate the same way as a software engineer. I'm an engineer, not a scientist. My job is to use technology to produce value for the business, while mitigating risks of that value eroding over time. All the work done should be focused on those two things. And it's not about focusing on those things instead of other things, it's more about realizing that anything worthwhile to do at work that you can come up with actually filters back to those two things anyway in some indirect fashion, so you might as well keep those ideas front and center.