Archive for the ‘Programming’ Category

A guide for IT contractors

Posted: February 2, 2012 by nullpointerexceptional in Programming
Tags:

Contracting is the oldest form of outsourcing and it’s on the up and up yet again. Let’s face it, companies don’t want real employees any more; they want proper semicolon use and people that they can say adios to at a moment’s notice. Budget cut? No problem, just unload the contractors to close the gap. Sudden multimillion dollar integration project for only a year- zing, bring on 10 contractors to cover the new work load. Hey don’t get me wrong, if you’re a contractor it’s a great way to make some dough – I left a full time position at a stagnate mom-and-pop consultanting firm for a 8 month contract and a 60% pay raise. (Then again I was getting screwed over at the other job).

If you’re a first time contractor, taking that first step is like trying to swallow Oprah Winfrey without gnawing on her first – it’s not easy even if you cover her in delicious jam. It’s a world of uncertainty but you’re highly rewarded for it, right? When I made the leap I was concerned with one thing – how much was I getting paid versus what I was currently making. The choice was simple – take the higher pay and be happy for 8 months and worry about it later. Heck, in IT there is always another opportunity if your IQ falls above 75 and can string together buzz words.

The part no one prepared me for was the perception that I was just a warm body. A no-name individual, sitting in a sea of cubicles, doing some generic task that could be farmed out easily. The weird thing was, it was everyone that interacted with me – even the money laundering err, pass-through company that was actually paying me. You’d hear grumblings about contractors associating with employees or how bad the job market was (from your recruiter) and not to even bother looking. Everything was glum, heck it felt like the Great Depression other than the fact that I was raking in the bennies. Nothing that TeknologySystems (name changed to protect their identity – haha eff you guys) did for me was beneficial to me. The account manager always talked about the lack of margin on the account – come to find out later that the margin was actually 40% which in my book is awesome given they provide nothing to the contractor other than funnel money. I even had to watch my paycheck every week, on 8 different occasions did they under pay me for hours worked.

Maybe it was my hatred of car salesmen and the fact that the account manager acted like his was the only shop in town. Or maybe it was the lack of communication on how long I actually had a job for (he was notorious for asking the contractor if they were extended or not – isn’t the the role of the account manager?). Something lead me to get out and stick it to the man. Knowing that giving 2 weeks notice would leave him in a tight spot never felt so good. Knowing that he’d be put in a room with managers reaming him out on how he could let the warm body fly away. The kicker was, I left the contracting job to work for the same company I was contracted out to…take that one MB. The final straw in the loving relationship was 6 months after I left for the perm position, after running into the account manager in the hall and the first words out of his mouth being “You still have a job here?” Reliving that moment, consistently is the onset of tears of joy – knowing that somehow, by me simply finding a job elsewhere made his life miserable for a few, however short, moments.

Alright, enough personal attacks. Working as a contractor isn’t all that bad. You have a certain bit of uncertainty for the future but you’re compensated in the form of a fat pay check. Don’t expect to get any benefits or lovey-dovey hugs from the ones that are pimping you out – to them you are a warm blob of genetic material. Use contracting as a way to break into new markets – in my case I got a salary position for the same amount I was contracting for (pretty sure I was getting ripped off – well I know I was but the opportunity made up for it). Bottom line, if this is your first time giving it a try, ask around on what an average pay rate is for that type of position otherwise you’ll get burned. Might also steer away from certain pimp firms as they are notorious for only caring about themselves even if their facade tells you otherwise.

I’ve been around computers for what seems to be forever. Countless hours clicking away on my 28.8 modem and checking out all the hot AOL keywords that you’d see in commercials. Punting, ASCII art, and progs (gold stars if you know what any of these are) passed the time while I waited the 30 minutes for Napster to download that ultimate creative commons (they didn’t have a real name for any of that back then) mix to serve as background noise later that night. You know the good old days, when people thought that having an MP3 was illegal if you had it on your computer for more than 24 hours. I got my start in second grade – we had a computer for all of 3 days before our first internet connection and I never looked back. Countless hours after baseball and basketball practice were dedicated to surfing the web without parental controls or content filters (just flat out did not exist), hitting the deep bowels of the Internet underground and coming back unscathed each time, all the more educated, all the more aware of the power of the Internet.

When I started all of this, it was out of curiosity and the quest for knowledge. Hacking and phreaking text files went down like butter. Thousand page technical books on wide ranges of topics consumed my free time, sending my parents for broke at $50 a pop. Source code from open source security projects littered my hard drive. By the time my family had their second computer, I already had re-purposed it with a hardened version of Linux and I wasn’t even in 6th grade yet – that didn’t last too long when my sister complained about the black screen and lack of a user interface. Computers were a passion, an obsession for me – something that I always knew I wanted to do ‘when I grew up’. Can you guess which direction I went? Computer Science baby, the major of champions, or so I thought.

Shortly after starting my formal computer science education I began to question my choice. I found myself reinventing the wheel, redeveloping the STL, rewriting quick sort, random naming conventions, or my favorite: game development (hangman anyone – maybe a round of text based chess?). The closest I came to anything that was actually applied was the development of RSA encryption in scheme – what never heard of the programming language called scheme? I don’t think that will ever show up as a required skill for a job interview. It quickly became apparent that the education that I was receiving had nothing to do with the real world and none of these teachers had stepped foot outside of academia, stuck in the academic matrix and never the wiser. I get it, in order to justify your existence you have to keep a steady stream of non-informed students entering academic computer science who don’t know that source code management system, naming conventions, or that standard libraries exist to do a lot of what you need – no need to write and compile your own data structures for each new project you work on.

Needless to say, I complained to the head of the department about the lack or actual skills being imbued onto students through the course structure. I heard rhetorical rues on building a foundation and ensuring that all students were at the same level before progression, that the courses have been the same for the past 10 years. I guess he missed the point when I said that the foundation both his underlings and himself were laying went against every logical principal there was in my book: don’t reinvent the wheel, use widely accepted naming conventions, and learn how to integrate code that others have developed. Hmm, a 10 year old course structure sounds like something I want to put on my resume, don’t you? Quickly, I transferred to a hot business school but continued to take electives in computer science something which, only much later, opened my eyes to the problems rampant in the software industry.

I found myself in settings where the teacher could not explain the difference between a token ring network and the star topology. Fourth year students having compile time errors in their graphical chess game and not knowing what was wrong with their code. People saying they were doing computer science because they heard about people making large sums of money but lacked any inkling of knowledge. Maybe, I have had a tainted experience at two totally unrelated schools but a pattern was coming into being that I had never thought about before…

Why does every one tell you to go to college? In the current job market it’s the only way to get a job. You hear less and less people talking about getting jobs outside their college major and more and more job listings having masters or greater requirements. Well, that’s a sort of weird trend right there – requiring higher and higher educational standards for the same mundane positions. Parents that didn’t go to college use money as a good motivator to go to college (although they will probably freak when they realize their kid makes just as much as they do but is sitting in $100k of student loans). What does that leave you with in academic institutions? It leaves you with a sea of individuals who on average have no passion, no real direction with where they want to go,5 skirting by through the good graces of diluted course content and the understanding that failing a student soils the professors reputation in the department. Uh oh, the problem is starting to come into focus with not only computer science but academia as a whole.

Sometime right after the dot com bubble burst, there was a shift in technology companies towards that of heavy accents, broken English, and backward grammar. Whoa there, did I just break out stereotypes? Go with the flow and keep reading. Stereotypes didn’t get started out of the blue – there must be some truth behind it, something that could explain the H1B sweatshops, rampant offshore development, and blatant abuse of certifications and titles. White collar Americans were cut out of their cushy $200k a year jobs and replaced by $15 an hour counterparts. But where did this flux come from and why was the world of the 90’s so different than the wasteland of the 00’s?

Get rich quick technology IPO’s flooded academic institutions with computer science graduates. Even the modern veil is apparent just by searching for top jobs in your favorite search engine – computer science means you will make good money. Universities go further to promote this with slides showing that people with college degrees will make a million dollars in their life time – I hope that spending $160k (assuming private 4 year university excluding interest) on an education would net you a million dollars in your life time (65-22 = 43 years. $1,000,000/43 = $23k and change – “Man, I wish I made just above minimum wage!” is just what college student think) – and yes this was on a real publication by a real university.

Maybe the problem with the software industry wasn’t actually caused by the software industry? Maybe universities and academia are the ones to blame? Maybe the notion of non-profit academic institutions fighting for student dollars in the free market crossed some wires and have lead to the current state of technical fields?

Let’s face it people – there are more universities than ever before spitting out more graduates in every field than ever before. The problem isn’t the government but academic institutions and their proliferation of mediocrity. Getting back to software, India dominates. Period. But why? Opportunities to leave the caste, their country, or poverty is only available to them if their skills are at least at the same level of their American counter parts – and are willing to work at a discount.

When student apply for college, they are not given a full picture. They don’t get to see the trends in the work place or know that they are heading for a life of mediocrity. The only ones that succeed in the work force are the ones dedicated and passionate for what they do and study. Joe Blow that goes to school thinking that a degree in XYZ will get him somewhere is on crack. The same goes for Jane Doe sucking up to the teacher to get that 4.0. Academia doesn’t matter. It’s a milestone in the progression of life, but the assumption that reaching that milestone will get you somewhere is something only perpetuated by academics. If you get bored one day, look at the bios for corporate leaders or read about any successful person – most of them made themselves, not the school or degree they attended. One thing I haven’t gotten around to is looking at the GPAs for these very people and seeing just how many of them “applied” themselves in school versus the ones that worked two jobs and busted their butts to get through. I have a feeling you’ll find alot of 2.5-3.0’s rather than the 4.0 but I’ll leave that one for another day.

Education isn’t really about wrapping things in a neat bow and flaunting it around as the end all. In fact, the idea of a canned education system can only spit out deficient students to the workplace – all thinking the same and making the same mistakes time after time. Maybe this downfall was cause by the introduction of content filters and limiting of information. I know I certainly learned more trolling the internet underbelly than I ever did in the class room.

Remove the canned nature of education and lift the social filters which have become common place and maybe, just maybe, the United States will come out of its slump.