As programmers its no secret that we like comfort. Well at least most of us. I mean every so often you’ll run into the uncanny ADD-man. You know the guy that is so in need of finding the next thing to jump to you’re pretty convinced he has a deep rooted issue involving being moved around from city to city because of a parent’s career… or paint chips.
For the most part though, we do like a certain comfort zone, and fuck if someone will convince us to get out of the comfort. And why would we? I mean it’s something we know. Something we understand. And isn’t life easier when there’s understanding?
I ran into this a couple jobs ago (I’m a job whore) when I asked for two monitors. Now this idea was something completely foreign and oddly scary to the people there. I mean, alt-tab is just fine, amirite? Wasn’t soon after getting the second one I was being looked at like some kind of child molester.
All I can say is: Don’t knock it until you try it. I meant two monitors, not child molestation. Well at some point the old light bulb went up on someone (Which makes me wonder what turned on before there were lights).
That person dared to start using two monitors. Next thing you know, there was a rash wave of double monitor usage. The world had changed forever. There were whispers of possibly having three monitors.
Side thought: I wonder if this is how the double razor to triple razor to n razor thing started. One guy was all like, “Hey guys, what if we had two razors on a shaver.” and then promptly speared for such thoughts that most likely were from satan. That was until some boss guy who was too high up to spear uttered the same words. Then everyone just went bat f–king crazy and started just throwing on arbitrary numbers out like some kind of reverse auction. And thus the razor wars began.
Anyways, back to the monitor thing. The moral of the story is that you can’t know what you can dare to dream if you have no concept of what’s out there.
Ok I lied sort of. Usually people use the line “The moral of the story” to end a thing like this, but I actually am being all sneaky and I tricked you into something bigger: Programming languages.
I have a confession. Well I have two, but one has to do with a having a song by Miley Cyrus… ok multiple songs… OK EVERY F–KING ALBUM… but that’s not important. The important part is that I’ve been a hardcore Microsoft guy for all 10 or so years of programming. I did not stray at all really. At least not much…
And why not? Microsoft has done a good job keeping the carrot in front of my face.
So why would I want to go anywhere else? I mean, I’m diverse. I use javascript. Besides, I have everything I need just given to me. Read that again. Actually I’ll type it again then just read it: I have everything I need just given to me. There are so many things that .net technologies do for me I really don’t have to do a whole lot. Or know a whole lot. Most lower level language ideas are just completely paved over with easy to use classes and controls. And that’s the problem.
I’ve been on a quest in the last year or two to really push myself to have a much better understanding of important programming concepts… that Microsoft has been so kind to hide from me as to not worry my pretty little face.
And maybe you are ok with that. Maybe you like to just take a pay check or just produce mass quantities of semi working code. Nothing supremely wrong with that. Just realize your career at some point will flat line.
But I say screw that. I need more and damnit I’m going to get out of my comfort level. I will brave the unknown (actually I already have with java and python) and in the long run I’ll be much better off. Why? Because not only do I diversify my languages, I also am privy to new and weird concepts that I would never see if it weren’t for venturing into new languages. Not only that, but I’ve found that some of the concepts and features just being added to C# have been around for a long time in other languages. So why wait for them to mature when you can use them now?
No really, I’m asking that. Give me a good answer…
It all depends on who your boss is. If they want to be competitive and cutting edge, then they will give you some room to try it. Otherwise, you’re stuck only being able to in your “spare time” after spending 60+ hours a week getting your outdated code to work with the newer version stuff it has to connect to…..Like at my last job before I transferred….. I’m not bitter. 😉
At the end it all comes to RoI.
I’m switching to Ruby and Rails myself but for no special reason other than stimulate my brain learning something new.
I’m actively developing on a project based on .net 4.0 WebForms, WCF Services and a bunch of other .net based tools and I can tell you this project will never strive away from this path due its size and complexity. It just doesn’t worth the switch.
There’s nothing in Ruby/Rails or whatever that would make me jealous for not having it on the .net platform… at least nothing that really makes a difference anyway.
We have to deliver functionalities every sprint and switching to anything else would only slow us down with no visible enhancements on the client side.
Now if you ask me what will I use on my own next project started from scratch I’ll tell you with 100% insurance that it will have some steel wheels and will move on “rails” 🙂