Sideric

Because your world revolves around technology.

Follow me on TwitterRSS Feeds

  • Home
  • About Me

Effects of Programming Language Specialization

May 30th

Posted by Eric in Hiring

2 comments

As someone who has run the gauntlet of programming languages from VB4, to Java, JavaScript, PHP, and Ruby; I have done almost every major programming technique espoused over the years in at least one language. Knowledge of these languages came from me putting my head down, learning the language, and then releasing personal projects. Later an employer would come along and take a chance on me, and I would gain career experience with that language. It eventually got to the point where nobody questioned my knowledge of a particular language, but instead tested knowledge of concepts. They just assumed that I would be able to learn the language in question.

That (correct) assumption was the turning point in my career, because it allowed me to apply for jobs with impunity and bank on my previous years of experience to get into a position quickly. Sadly, that assumption is no longer being made. It makes me ask: “When did it no longer become sufficient to have years of experience in advanced concepts and quick learning?” Now you must know excruciating detail in a specific language or no one will hire you.

I really have to blame this culture shift on three things. The first, obviously, is the economy. With a massive oversupply of programmers on the market and no real demand, an employer can be picky and find an in-depth language expert with almost no real effort. To top it off, that language expert is currently willing to work at a deep discount.

The second, not so obviously, is the broadening of programming concepts and the popularization of multiple forms of web programming. In the past, everything mainstream was basically imperative with some OO layered on top. Now you have fully OO languages, fully functional, and so forth. It is (logically) impossible for one person to be an expert in all of them. Furthermore specialties in web development have formed, thanks to the diversification of popular internet technologies. It is no longer a case of HTML, JavaScript, and choose one of PHP/Perl/ASP. Now, there are dozens of web scripting languages with dozens more frameworks. To top it all off it is no longer JavaScript, but is instead Jquery, Dojo, Prototype and their multitudinous derivative libraries. Throw in Flash, Silverlight, plus the hordes of new web and db server, and you have a massive silo effect of in depth specialties with no room for true generalist programmers. Which leads me to my third culprit.

Language elitism. It exists, and it is so very frustrating. From personal preference, I have selectively focused on a specific subset of programming languages to use professionally. My strengths are JavaScript, PHP, and Ruby (Rails). Beyond that, my programming knowledge is now primarily for my own personal enjoyment. The occasional client or employer may ask for me to use other languages I have picked up in my free time, but I focus on jobs in those three primary areas. Even narrowing my expectations to this, I have run into elitism.

In my experience thus far I have not encountered a situation in which MetaClasses and MetaProgramming have been truly necessary in a Rails app. Neat and clever, maybe. Necessary, not really. I have however been using these concepts in JavaScript since before they were formally named as such. </hyperbole> Recently, in a Rails interview, I was asked about MetaProgramming in Ruby. I explained that I have not used those techniques in production with the Ruby language, but I understand them as concepts from utilizing them in other languages.

Wrong answer.

It was basically interview over at that point. Their take was that if I didn’t know them in Ruby, then I was useless and would never know how to properly utilize those techniques. In fact, I have encountered this several times recently. The assumption seems to be that $currentTrendyLanguage is the only language that matters and any knowledge of other languages and concepts is inconsequential. This has been especially true in Ruby interviews.

I love Ruby. I am interviewing for full time positions in Ruby because I love Ruby and want to escape hacksaw constructs like the Zend Framework. No longer is PHP code beautiful; instead it makes the eyes burn. PHP has become (more so than ever before) the language of outsourced hacks (quacks, and soon to be sacked’s). The code you see in PHP is rarely well done. I just inherited a LARGE PHP project that is all a giant mess of inline HTML/JavaScript/PHP and raw includes. This is inexcusable in this day and age. Ruby and Rails basically forces coding short, sweet and to the point. I love it.

However since I have ever “lowered myself” to using PHP, I am rarely seriously considered for Ruby positions. Newsflash: I was doing PHP before Rails was a gleam in DHH’s eye and before you were out of high school mister San Fran Startup Man. Before I was using PHP, I was doing Java. Before that I did ASP and VB for a living.

Advice to the hiring managers in the Ruby-using startup world: get the Ruby stick out of your nether-end, use your degree to wipe it clean, and let us programmers start getting actual work done.

elitism, Hiring, interviews, managers, php, rails, ruby

Situation Update Alpha

May 29th

Posted by Eric in LIFE!

No comments

Been gone a while. I suppose I took my idea of blog neglect to a new extreme!

What has been happening in the meantime? A lot!

My marketing startup went under with the initial collapse of the leadgen/dating sales businesses. I rejected job offers from several LARGE companies (dumb…I know). Took a job with a local Austin firm just after merging with and morale vampired by a competitor; that competitor then decided to lay me off in a round of cuts at near my one year anniversary.

In the ensuing months, I have moved back to Dallas to start a new marketing software firm with a partner. Said partner then got too involved in his other business and instead brought me on as team lead there….and then proceeded to downgrade me from “start hiring new talent to jumpstart the business” to “lets have you do dataentry since my brother/partner has decided he really doesn’t want to grow the business that way.”

Yay life!

Hasn’t stopped me though! Still working on the new marketing software, integrating it with my leadgen/landing page software package, and am considering purchasing a related business. Exciting times!

Maybe this one will work out!

jobs, LIFE!, mergers, partners, risk

The Power Of Neglect

Feb 4th

Posted by Eric in Google

No comments

You too can succeed by giving up! It is true!

Right now, create a blog. Put up about 20 or 30 posts over a couple of months. Then forget about it.

Yep, that is what I said. Forget about it.

Come back in two or three months. If your content was any good, you should find that you now have serious search engine karma. Then you capitalize on it. Start adding new content. Begin to test new layouts and new sections. Make your site shine now that you have that traffic making itself available.

Of course, this doesn’t work for everything! You should not, for example, neglect your dog. It may eat you.

Neglecting your child is also not kosher. It leads to inconvenient prison time. While this might seem an ideal way to gain spare time for the internet, it is not. You have no guarantee your prison will even have computers, much less internet. No, it is probably safer to feed the kid and just give up on exercise.

“Why does neglect work?” you ponder.

It works because otherwise you will be tempted to meddle. The stats for your site will stay the same for a day, and you will panic and start gutting the content and revamping layouts. Killing all your built up relevance. Only those of strong will can resist them temptation! It is simply easier to create quality content and let the algorithms sort it out. If you don’t have relevance at the end of your site siesta, it is simply likely that your content stinks.

Sorry, the truth hurts. Don’t worry, my content stinks too!

blogging, content, neglect, relevance, seo

Don’t Try To Be Unique

Jan 6th

Posted by Eric in Identity

No comments

Sorry if this is depressing, but it’s the truth. If one of your project goals is to be truly unique, you will encounter nothing but disappointment. Inevitably someone will have already done what you are attempting to do. Even worse, you will spend countless hours attempting to be unique only to find out that someone else already did it and got there quicker modifying existing solutions. Bummer, huh?

It’s OK. No, really! Stop crying. We will let you in on a little secret. It isn’t just you. No one is unique. You are not a snowflake! Oh, everyone is different, and no one is ever exactly the same; but no one is truly unique. Someone somewhere has your nose. There is somebody with your same sense of style. Someone else may even have your exact thumbprint (statistically, it’s entirely possible if improbable). It is a near certainty that someone else is pursuing identical project goals. There are probably four other groups creating the “Next Great Internet Music Player.” Your “Best Ever Unique Marketing Platform” is probably already being developed by some Indians while you are asleep. This does not even start to consider the infinite superior species out there likely influenced by the same basic motivators. So, it is OK. You are not alone!

Oh God! Are you cutting yourself? That was supposed to be reassuring! Look, just put down that blade and keep listening. Slowly, slowly there you go.

See, the problem is that every human wants to be successful. They want to make a difference, find a partner, make money, procreate, or whatever other desires drive human kind. Even if they do not know it, everyone wants to fit in somehow. This drives people to the same methods and goals, even if they may never realize it. It is what sociologists refer to as “normative behavior.” That is natural. That is life. What can be different is how you will pursue those goals. Here is our advice: don’t rock the boat. Just talk the captain into giving you the helm. Work within the system to create solutions outside the system.

You are now wondering what we mean.

Take the following for an example: Instead of creating your own blog or CMS platform and reinventing the wheel, just use WordPress. It gets the job done and you can take advantage of countless man-hours already invested by others. We can nearly guarantee that it is better than anything you will write by yourself. If you truly need features it just doesn’t currently possess, use the plugins system to create it yourself.

Instead of focusing on doing everything uniquely, you should be focusing on appearing unique. This isn’t dishonest; it is simply efficient. If you are launching that blog, then focus on developing a consistent and engaging style that is yours. Sure there will be somebody writing an article in that exact style, but you will be consistent with it! Build an identity, build a niche, target a need, but don’t ever think you are being unique. Even if it seems you are being unique, it is likely that you are just the first person receive sufficient attention to be noticed.

You know what? That is OK. This is how great businesses and projects are built. Web search existed before Google came along. Cars were rolling the roads of America before Toyota shot the General dead. MP3 players existed before the iPod. Most successful projects are extensions of existing ideas.

Find a need where a current solution just doesn’t quite fit and make it fit. Develop a writing style that is consistent. Use what exists to make something more. Give other people like you what they want, and you can become successful. Who knows, maybe if you succeed nobody will notice that you aren’t unique. Now wipe your nose, role up the sleeves on that mass produced shirt, and get to work!

Even this blog post is deriviative! Hooray! Success!

!precious, Identity, snowflake, unique
    • Recent comments
    • Popular posts
    • Archives
    • Tags
    • Categories
    • Google (1)
    • Hiring (1)
    • Identity (2)
    • LIFE! (1)
    • Programming (1)
    !precious blogging content elitism Hiring Identity interviews jobs LIFE! managers mergers neglect partners php rails relevance risk ruby seo snowflake unique
    • May 2010 (2)
    • February 2009 (1)
    • January 2009 (1)
    • Effects of Programming Language Specialization (2)
    • Don’t Try To Be Unique (0)
    • The Power Of Neglect (0)
    • Situation Update Alpha (0)
    • jerry: Ha, almost forgot... Stupid is FO-EVA!
    • jerry: I had a big long comment but decided to be brief. I think the IT hiring process is flawed. Good...
  • My latest tweets

    Loading tweets...
    Follow me on Twitter!
  • User Login






    • Register
    • Lost your password?
  • Blogroll

    • Blog Maverick
    • Cooling Tower of Tech
    • N2 Neuron
    • Plenty of Fish Blog
    • Scobleizer
    • Thrift List
Mystique theme by digitalnature | Powered by WordPress
RSS Feeds XHTML 1.1 Top