This came from a blog I follow casually.
The post gives a summary of a discussion by JD Long about ‘Advice I wish someone gave me early in my career’, with the “20/30” hindsight that one might expect. The points made by Long, and the summary viewpoints by the poster are pretty well written. Here are a few that struck me as poignant to recent discussions we have been having in my department. I am rephrasing them based on my opinion and in light of our discussions.
- Don’t discount Open Source – it is often the toolset which is ultimately the most transportable job to job (and project to project).
- “Dependence on tools that are closed license and un-scriptable will limit the scope of problems you can solve. (i.e. Excel) Use them, but build your core skills on more portable & scalable technologies.”
The follow up point made about closed tools, I had to ponder a little bit to see if I agreed:
“Closed source software is often not scriptable, not because it’s closed source, but because it is often written for consumers who value usability over composability.”
The author makes a point about portability, not just OS to OS, but from scale to scale (scale up to clusters and scale down to mobile). This is in conjunction to career portability (the longevity / demand of a given toolset), which is always an important decision for a career. I think it often comes down to whether you consider yourself:
- A “tool jockey” – intense and deep understanding in a given toolset or technology
- A problem solver with (less-intense) understanding of a variety of tools
I think ultimately, irrespective of which camp you might self-identify with, effectiveness really boils down to good Systems Engineering process:
- “Get really good at asking questions so you understand problems before you start solving them.”