A guy asked me: What programming language should I learn.
Me: Don’t marry a programming language.
At different steps of your life you will need a different programming language. And you must be adaptive to the change. The technology is growing at much more faster rate than ever in history. And if you are still attached with php and not moving with Node or python or Go. You are lagging behind.
I am not against php please don’t take me wrong. The whole idea behind it is whenever someone ask you what programming language I must learn.
We must tell them to learn the architecture how things work. Like how apis work, how authentication and authorization work. Because these are thing that remains constant and once you learn them you can implement it in any programming language. If you don’t want to tell them these, tell them to learn algorithms.
Learning a programming language is like reading a book and not doing practical. While learning architectures will be a practical which you can perform with different books.
Also don’t be so attached to a language that you prefer it over the better options. This will harm you and your organization in future. You must call yourself Software Engineer not like Python Engineer or Node developer.
Yes people are excelling in their respective fields with these title but its not because they just stick to it. They are open to every possible solution and if you not open you may face problems. They take the best things from different things and try to implement it in their respective technology they are working.
I have been in many conversations where people were discussing about different languages and I felt that they are taking it more personal than just some technical discussion. They were treating their respective so called native languages as their wives. You should never marry a language.
One of the biggest reason is you become old slower than your programming languages. You should only marry someone with whom you can spend your life. You can’t spend your life with only one programming language.
So the conclusion is be adaptive, learn what is best for your use case implement it and don’t stick to something just because its the first thing you learned.