Welcome everyone! Today I will be discussing the importance of being an agnostic programmer for when it comes to learning programming languages and why it is in your best interest to become a Agnostic Programmer. As an aspiring developer, each and every day I am crafting my skill set and psychology, documenting my process along the way and helping you to become a better developer too!
Personally, open-mindedness of one of the most important characteristics we need to adopt to be world-class programmers and as strong human beings. In my life experiences, it is common to come across programmers and tech enthusiasts who are passionate about their specific programming language or chosen-technology. Those who have used one programming language for the whole of their 10 year career. I personally have found it to be a rare occurrence for someone to be radically open-minded to new technologies.
I see people around me who get easily offended when someone is learning a different language. It’s almost laughable. It’s almost funny to me because it’s extremely egotistical to be offended, there’s no reason to be offended at all. It is a limiting belief. The reason it’s funny because when they get offended they are avoiding the exact things that are going to excel their growth because they are getting offended at the things their ego doesn’t want to admit to itself.
A couple weeks back, I went to a Python Meetup in London to learn about the technology. I was asking some Python Developers what do they think of Java (as an experiment) from a minority of developers I got responses back “Java’s a dead language” and “Who even uses Java!“, they are right to have an opinion, but the fact that when the word “Java” is mentioned once, these two developers got easily offended is shallow. Though, of course, there is the other side of the spectrum, other Python Developers who were open to discuss about other languages and technologies.
Personally, it is very difficult to offend me, I am curious about all kinds of different perspectives and ideas. When a new programming language comes out, I am curious to learn about it, I would read an article or two about it, even buy a book on the subject. Expanding our mindset is one of the best investments we can make.
In the Android space, I can imagine there is a lot of Android Java developers out there right now who are hesitant to jump onto the Kotlin ship with the potential that it possesses. In my opinion, if I was in the employee’s shoes, looking for a new programmer, I would hire the most open-minded and willing to learn programmer, knowing they are open to new ideas and ways of thinking.
Let’s say you are an Mobile Android Developer using Android Studio and you have committed yourself with the goal of becoming one of leading expert in the field, learning all areas of Android Studio. You currently are working for an employee and they ask you to help with a Python AI project for one month in the Data Science department. Firstly, you know that Android Studio only supports C++, Java and Kotlin to develop Apps, so this would mean learning a new framework and so why would you want to learn a completely different language?
Let’s look at this scenario with a positive mindset, from the Agnostic Programmer’s point of view, questions of following may arise:
Well firstly, Python is a different language, you will pick-up some familiarity. There will always be something to learn from new experiences. What have you got to lose?
At some point in your career, there will come a time when you will need to learn a new programming language as required from the employee or the client. If you are beginner programmer, I would recommend to develop an open-minded mindset. To be willing to learn more than one language. For example, Let’s imagine if you are learning Java right now as a hobby, you become employed and so you are required to take your current Java skills and transfer to C#. Having that skill of transferring to a new programming language as and when needed is an extremely valuable tool. But what’s even more valuable is having the mindset of being willing to learn a new language, embracing the opportunity, and taking action. This comes back to the mindset of life-long learning, having the drive learn something new everyday.
Be willing to adapt to a new language whenever you are required. In your spare time, read upon other areas of the industry. Let’s say, you have 2 years of pure iOS development, you are secretly a die-hard Apple fan and refuse to develop anything for Windows, your company has a client that requirements an Android application to be developed and they ask you to help. Will you be open minded to say to your employer “I’m willing to adapt”? If you do, you will present yourself in a professional & bright light. It can reap benefits for your career and for your personal life too.
To sum up, having a Agnostic mindset as a programmer can open new doors for you, you will be willing to adapt, consider new programming languages, new technologies and new ways of thinking you haven’t come across before. But most importantly, be able to develop the skill of life-long learning will pay dividends in the long-term. The technology industry is changing rapidly everyday and developing our minds everyday is, if not, the most important asset we can give ourselves.
Let me know in the comments below, what scenarios in your life experiences has adopting a open mindset benefited you?2