Most software engineers are tool-based developers these days. Few are the ones who learn something that can benefit in the long-term (like architecture, leadership skills) etc.
Tools are mostly short-lived, it's wise to learn something that can last longer and can add a compounding value to ones year-on-year experience. This doesn't mean that we should stop learning new tools, each have it's own pros and cons !
- They have a short shelf-life, if something new emerges in the market, we have to learn it out of the fear of becoming obsolete !
- If we stick ourselves only as a tool-based developer, and call us a 10-year-experienced software engineer, than what is the difference between a newly passed-out candidate from a university who has the same tools arsenal that you have (with 2 years of experience), but performs much better than you ? You are still on the same line, no matter how many years of experience you may have.
- Tools are mostly for execution, I mean, making a business idea come to a reality, But, if you get hired somewhere, you will mostly be judged depending on what tools you have hands-on-experience in and how quickly can you execute based on new technologies, that can benefit the company ROI.
- To be a great manager / lead, you also need to know how tools work, so as to help your sub-ordinates (future leaders) in a best possible way.
- As a technical manager, one spends a significant time in hiring new talent, if you don't know how tools work, it's difficult to find the right candidate !
- Skills like architecture, leadership skills, product management, project management etc. (just to name a few), grow year-by-year. Here, in most cases, a 2-years experienced guy cannot be compared to 10-years experienced, more experience you gain in these domains, the more worthy you become.
- These skills are mostly domain independent and doesn't get obsolete with time, as tools mostly do.
So, it's important to focus on both short-term and long-term stuff. Here, I am not mixing software engineering with tools, just comparing tool-based-developers to long-term stuff.
?? Opinions are my own, thanks for reading till here ! What are your thoughts ?
Senior Engineer I at DigitalOcean
2 年In general I agree with the idea; that being said: In Tools: 3rd point: 99.9% of the startups fail because they can't execute to reach out the market at all or in time; and in order to have a bear minimum MVP which works the manager should have sound technical knowledge of tools which ultimately translates into his/her acumen to keep the things closer to execution as possible. 5th point: To know a tool a manager has to invest time to understand its capabilities within the execution context. In conclusion I would say it's more about perspective where from you see things. If you are or want to remain in a large setting/company then favoring managerial skills is good use of your time as you have to man power to execute it for you; but if you are going to start a successful company from ground up at you have to know your craft in terms of tools.
Software Development Consultant @ Adeva | Full-Stack Developer with 12 years of experience | Nodejs, PHP, Laravel, React, Nest, Next.js | Crafting Modern Web Applications
2 年You are right Sir.
??Application Developer at Press Ganey LLC
2 年Yes, you are absolutely right! Soft tools (maybe not tools, per-say) are needed to build soft ware. Soft tools include: domain workflow model, Hexegonal architecture/core api first - organizing DWM, epic/feature/story/tasks - small vertical slices, customer/business analasys, teamwork, etc… clean/SOLID comes quickly after. Semi-soft tools. Language, linking (including rest & messaging - looking at you, microservices), TDD, environment & OS(s), networking, & other tools & technology last. Hard tools.