Treating Technology as Colleagues
As a software developer, you often interact with various different tools, programming languages and your co-workers. Notice that I mentioned all of them in a single sentence.
A lot of times, these tools you use will help you get certain tasks done. Just like how you ask help from your co-workers who help you to get things done. Well, then why can't we treat these tools and technologies as your colleagues?
Absolutely we can.
In fact, we can even imagine a professional management hierarchy of technologies. Just like how you have engineers reporting to a manager, managers reporting to a director and so on, we can imagine an organization that is made up of software solutions built with various technologies.
Since we are thinking in the perspective of tools and technologies helping us in day-to-day work life in a software company, we can recognize people with a technology they have expertise in or the language they are working in.
This way, when you need any support / help when you face any roadblock, you know which tool is relevant to get the job done and which technology / language will be able to assist you.
It might be a bit confusing right now, but stick with me.
So Java sits with Git and Git will help Java when Java wants to re-base 5 commits and then Python will pull the data out of the Jenkins build for analysis. Meanwhile Android will ask HTML to chat over a coffee where they will discuss how to leverage Firebase.
It sounds funny but really that's who we are in this software world. We need to communicate to the right people around us to get the right information. Many times, you will want to know what your colleague is working on rather than their names during project work.
And outside of project work, they become normal people you interact with.
The next time you're stuck on a problem, think about which "technology colleague" can help you solve it!
Happy coding! 🚀