So recently I encountered a complaint about the students coming out of the the developer bootcamps. I guess this is true of any student in any number of fields; however, somewhere along the way they choose not to think objectively and just regurgitate what they are taught. Perhaps it is in human nature to become too attached to a particular idea or set of skills. The unfortunate results of becoming too attached to a particular set of skills is you are not adaptable. This can and will be your downfall as a Software Engineer.
I’m going to come out and say it. Ruby is not the only answer. Node isn’t either. Nor is Python. They all excel in their own ways. They have their own pitfalls and short comings. Ruby is my favorite language, and given the choice I will build something in Ruby on Rails over another framework. This by no means, means I will not work in another framework, or at any point am afraid to tackle a new framework/language. In fact I welcome it, because leaning a new language or a new framework expands my mind and brings new ideas to my old ways of working. It also pushes me to find new solutions to old problems and invariably improves my code in a framework I know inside and out.
The world is rarely ever black and white, so why should it be that there is a black and white when choosing a language? Simple, it’s human nature to want to feel you have made the best choice and are using the “best” language. This is your mind tricking you. There is no “best language”, just trade offs.
Being narrow minded has been the down fall of far too many individuals in the past, and in more arenas than Software Development. Don’t let it be your down fall too. If I had let my first language be the only language I ever used or mastered, I would not be where I am today. So I am a firm believer in becoming a polyglot. At some point in your career you will need to be a polyglot. Ruby will die at some point in the future, or more likely since no language ever dies, it will fall to a use rate that makes finding jobs in it very rare. Its the natural progression. Try to find a job writing Perl apps these days, or Fortran or COBOL. Those jobs do exist, however, they are very rare but highly paid. Maybe you will be one of the lucky ones who falls in love with Ruby and is able to continue writing Ruby for the next 20-25 years supporting the plethora of legacy apps that will be floating around for years to come. For me that is just too many maybes and too much possibility of my job fading away, and my skills atrophying.
So I will implore you not be a “Ruby Robot” and expand your knowledge to encompass Node, Python, Go, Elixir, Haskel, even PHP, or any other language you may be interested in. Be open to the possibilities of other frameworks/languages being the best fit for the job.