views:

1176

answers:

16
+14  Q: 

Getting out of CRUD

+1  A: 

When I was an undergraduate, I changed my major from Electrical Engineering to Computer Science because I wanted to write video games. Later on, when I started working on business applications for real money, I learned that I simply enjoy solving problems with code.

You may be in the wrong profession.

Chris Holmes
CRUD is pretty much a solved problem. I think that is what the OP is complaining about. He wants to solve problems, not re-create the same form with different fields for a dozen different tables.
Adam Jaskiewicz
@Adam - Well said - that is what I'm looking for
Gavin Miller
+5  A: 

I don't think that there's really anyone who enjoys doing CRUD (well at least anyone sane). It's the most tedious part of web programming. My advice is to find or write a framework to automate this for you.

However, if that's the majority of your work, you definitely should consider changing jobs.

Jason Baker
+6  A: 

Get a different job. Seriously, not all software development is developing business applications. Developing shipping software would make you much happier, I think. Try to find a job at a software company, and write some stuff that's going to ship to customers. Also, if you want to get into some of the low level hardware-style stuff, just start hacking away on some basic microcontrollers so you have at least some background with that.

Alex Fort
+3  A: 

CRUD - yes in the end we are storing, reading and updating data. But so what? That is just one part of the equation, at least in my world.

In business, data is essential, but it is the business logic and the decisions made from that data that is important. I have found it very rewarding to take raw data and use it to help business make decisions. We do that with business logic in our code, not to mention the endless ways of presenting that data in the presentation layer.

Yes in the end CRUD is involved, but it is much more than that, no?

Just my opinion.

+3  A: 

I agree that CRUD's pretty boring. But I don't think it's the fact that it's financial data that makes it so. Perhaps you'd find that financial data a lot more interesting if, for example, it was streaming into a neural net based expert system you'd written to work out how best to invest it?

There's definitely an awful lot more to programming than CRUD. Find an aspect that interests you, and pursue it.

slim
+1  A: 

Just about every program is going to have to create, read, update and delete some sort of data. In some systems this presents its' own challenges.

However most of the time reading and writing to databases is fairly easy (which is why they make databases). It is what you do with the data once you have it which is interesting, and generally unique to a business, and keeps you employed.

This article I agree with, basically a lot of programming is boring.

However if you are good and determined enough you will eventually get to do something interesting.

Jeremy French
+1  A: 

Find or write a way to do the CRUD portions of the applications faster. Do so, tell your manager you are done with your assigned tasks (make sure they ARE done; tested, documented, etc.), and ask what you should do next.

Adam Jaskiewicz
+2  A: 

First, have you gone through most of what there is to know about persistent storage? It's worth figuring out how to practically apply database theory, etc. in your current job. Once you've been doing it for a few years and have it all figured out you should definitely think about expanding your horizons. I'd agree with you - unless you're building the DBMS itself - I find that the persistent storage part of the job gets to be fairly boring.

One of the best ways to get a job in a new area is to take a prototype of something relevant to the job to demonstrate at an interview. This is an incredibly powerful statement to make.

Embedded software is really my thing, but the market for this is slowly shrinking in North America and moving to the developing world, and it's a fairly specialized area to get started in.

It seems to me that the application space is still growing. Consider iPhone, J2ME, or Windows Mobile development for example. You can learn to do these on your own with a relatively small investment in equipment.

If you're not already doing this, there's also the web application space. Application server platforms like JBOSS and Glassfish are free and fairly easy to learn. Plus they provide a link back to the CRUD which you already know.

billmcc
+8  A: 

Develop a framework to make CRUD creation easy in your line of work. Once you have done that, use the free time to improve it in terms of Usability, Security, Performance etc. That should keep your work interesting for a while.

Chetan Sastry
That's exactly what we need: one framework per programmer! Don't get me wrong, frameworks are useful, but most of the time, writing your own isn't the solution.
imgx64
A: 

In this economy, it might be hard for you to just get another job, but that doesn't mean you shouldn't try. Find some type of work you think you would enjoy, go learn it and look for job opportunities. It doesn't hurt to make some phone calls and go on a few interviews even if you think you're unlikely to get the job. Even better, you could figure out a way to start your own company.

Stephen P. in Roswell
Actually, if the name doesn't imply it, I already am incorporated and have my own company... half way there! :D
Gavin Miller
A: 

Get into web-dev? Seriously the level of basic crud I have to do building web-apps is pretty low, even when there's a DB.

annakata
+1  A: 

Just take a look to Django and move on to the interesting coding!!!

(Or RoR, or Grails, or whichever suit best to you, but CRUDS shouldn't be still being coded by hand from scratch)

Sam
+1  A: 

Modern frameworks can do all the crud for you. Checkout the standalone GORM from the GRAILS project.

Jeff G
A: 

Yes, a lot of business software is CRUD. I used to work on that.

In machine control, part of that can be CRUD too. For example, logging sensor data and reporting it somewhere. Basically CRUD.

But I will admit - in machine control, it's mostly non-CRUD. You would probably enjoy doing something that actually makes an assembly line move, or builds cars, or makes motors spin at a certain speed. I know I do. At a financial institution, it's literally just numbers. Nothing "real" like a motor or a car.

sheepsimulator
+4  A: 

here is a nice presentation on how and why CRUD can still be inspiring:

http://www.scribemedia.org/2006/07/09/dhh/

poseid
+1 Excellent presentation thanks!
Gavin Miller
+1 Very nice one
simple
+1  A: 

Having a wide range of experience, my solution is to create my perfect product and start a business around it. I'm facing all sorts of interesting challenges, such as how to stream realtime data from an embedded device to a browser. This stuff gets my programming juices flowing and I have a list of important, fun features to add.

Dream up your perfect product domain, find some people who could benefit and ask them what problems they have. Once you pick up a common theme that interests you (mine was automation and power monitoring) start hacking. Of course for me it helps that my father has run the electronics company Technman for the last 30 years, and wants to create this product with me.

Tom Leys
Thanks Tom, that's a pretty neat story.
Gavin Miller