In the land of software development, there's more than one correct way to solve a problem. Since technology itself is limitless, it should come as no surprise that the available tools and resources are boundless as well. Now the question is, which tools should we choose, not only to get the job done, but also to best express oneself?
Those who work with technical people every day have probably noticed that very few companies use only a single technology for their IT needs. Just like those companies, often the best technical people don't limit themselves to one brand of tools or frameworks. They step outside their technical comfort zones and experiment with anything they can get their hands on.
Here are four reasons why you might benefit personally and professionally from trying out new technologies.
1) Learn New Paradigms
2) Learn New Ways to Use Old Technologies
Speaking of functional programming, your experience may cause you to look at LINQ on the .NET platform in a new light. One technology hiring manager was explaining that his organization’s use of Angular.JS (with its draconian dependency injection) caused his team to think differently about DI containers in their .NET server side, resulting in more flexible and more testable C#. In this way, working with one technology influenced how they interacted with another.
3) Job Mobility
Here are four basic ways that broadening your technical repertoire can open up possibilities for career advancement.
- You can contribute to different areas of the same project (front-end to back-end, application to data analysis, etc.)
- You can move to new projects entirely (has your organization been piloting a new tech stack?)
- You can move to new organizations entirely. If this is the case, I can refer you to a specialist. (Wink!)
- Some organizations only fill full-stack or generalist positions. It’s worth mentioning that this is often true of smaller product development companies or startups.
4) Right Tool for the Job
Many organizations are pushing the limits of relational databases. The high performance or high availability required by their applications call for something new. NoSQL databases are answering this call, but often each in their own way. Spend some time understanding their relative merits and you can be your organization’s hero. Can you drop joins and go for the high performance of key store or document databases? Is your problem better suited by a graph database? What these specialized databases give up in the relational model they make up for by excelling in their particular area of application.
The following books are a great resource if you’re looking to expand your knowledge of current and new technologies:
- “Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages” by Bruce Tate
- “Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement” by Eric Redmond
There are many benefits to be had from interacting with a range of technologies. Whether you’re looking for new ways to tackle an assignment or hoping to advance your career by opening new doors, there is no reason to limit yourself to one brand of tools or frameworks.