Friday, October 24, 2008

CRUD Jobs

If you’re not familiar with the term, ‘CRUD’ is an acronym for Create / Retrieve / Update / Delete, which are the basic database operations performed by a typical internal IT system. From that history the term has evolved into somewhat of a pejorative for boring, monotonous development jobs, typically involving applications with forms tied to databases with nothing much else interesting going on.

Of course, there are plenty of people happily doing CRUD work, so the stereotype is not always accurate. Still, the conventional wisdom is that CRUD work is not where you want to be if you are interested in leading edge technologies.

BTW, this contrast of CRUD vs. non-CRUD systems is analogous to my earlier cost center / profit center discussion, and it just so happens that most CRUD development is done in cost centers.

Unfortunately, the cold truth is that the vast majority of software work out there is done on CRUD systems. You see it everywhere – payroll, CRM, ERP, loan processing, etc. These types of applications far outnumber the more glamorous Google / Facebook type positions (although websites like Facebook could also be considered CRUD applications!).

Note also that some people use the term ‘IT’ or “Information Technology” to refer to CRUD jobs in general. However, I like to use the term IT as a broader description of the software engineering industry. So when some people put down IT as a dead-end function, make sure you understand what they’re referring to. Chances are they’re referring specifically to CRUD jobs in internal MIS departments (i.e., cost centers).

As a candidate you may have a choice between a seemingly stable CRUD job vs. a faster paced position at a software company or website. In these cases I’d generally recommend you choose the software company, all other things being equal. You’ll most likely learn more, have a more rewarding career path, and work with more challenging and leading edge technologies.

No comments: