Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You're asking the wrong question, my friend.

Don't blame the CRUD for all the bullshit that is often associated with it.

(Reminder: CRUD stands for Create Retrieve Update Delete, and is the underlying philosophy for the database applications that run the world we live in, the 90% of the iceberg that most hackers never see or even think about.)

I've been doing CRUD for 33 years and it's been an incredible ride. I credit my CRUD work for putting me in the right hand 5% of that bell curve, ahead of the rest of my fellow hackers who have built so little of substance.

Sure, I've built apps that move people and things to the right place, and also have done a lot of "reports here, manage documents here, upgrade calender software here", but what job doesn't have some crap work go to along with the gravy? I've never seen any good job without it's share of maintenance, refactoring, testing, process, and meetings with drones.

I've also build software that generates other software, invented new frameworks, and devised algorithms that dramatically improved the way we make and build and move the stuff that's probably in your cubicle right now. I've taken cool academic theory from my pure mathematical background to build software that has blown away the posers everywhere around me. And you know what? You do that just once, and every champion in the enterprise runs to you with their giant budgets to solve their CRUD problem du jour with your "genius".

Believe me, you don't have to work at "Intel, Google, Apple, or NASA" to "change the world". You're just as likely to be a cog in the wheel at those places as anywhere else.

You can change the world from where ever you're at, and in fact, if you're working on a CRUD app, I think you're actually in a better position to do it. You just have to ask a better question.

My suggestion: "How to you escape the shackles and bullshit of your CRUD job and use all those great resources in your head to turn that job on its side and change the world from right where you're at?"

Find the answer to that question. It may be easier than you think.



Ugh. This "answer" is the textual equivalent of an imspirational poster with a picture of a cute animal -- it sounds really nice, but doesn't say much of anything, or have any actionable advice. What advice it does have is bad: "Figure out how to change the world from your current job". Right then. Hang in there, champ. Stay where you are. The world is better than it seems, mmkay?

Fuck that.

The answer to your question is simple, and has very little to do with "changing the world" from your current job: you need to reach for what you want. If you're not happy with your current work, find new work that's better. Nobody is just going to hand you a plum job because you're kicking ass on CRUD apps. The world doesn't work that way. And it's highly unlikely that you're going to move into ML or compiler design by writing a classifier or a DSL for your current CRUD app-writing gig.

Want to be doing machine learning? Apply to positions that involve machine learning. Those could be at your current company, but probably not. You might have to take a pay cut. You might have to move. You might have to go outside of your comfort zone. But you need to work for it.

Can't get a job doing what you want because you're not qualified? Okay, fine. Go back to school. Find a junior-level job in a field that's orthogonal to what you really want. Maybe get a low-paying tech position in an academic lab that does research into ML or compilers or computer graphics or something else. Take courses at the local university in statistics, math and theory. Get an MS or PhD. People on HN will tell you that college is a waste of time, but they're wrong. They're mostly trapped doing CRUD work, like you. Education -- and certification -- matters. So, get some, if you're not qualified. Work your ass off, and learn theory. Most of your peers won't do the work.

The point is that you "escape the trap" by working really hard in a focused way. And it's a bit of a hill-climbing problem, because you don't really know your end goal, and you don't really know what the path looks like to get there, but you nearly always know a direction that's "up" from where you are right now. So, step aggressively in an upward direction. The way you avoid getting trapped is by not standing still.


Some of the best programmers I have met left higher paying jobs to do something that at least somewhat changes the world for better or helps people.

This is about the vertical within our horizontal discipline. Working at a marketing company will be very different than defense. Some people want to work with visually appealing things, some people will only be happy if their software helps people. Don't blame the CRUD (cleaver play on words though). If you are truly a developer and find the horizontal you love you will be glad to work on it's CRUD.


> Believe me, you don't have to work at "Intel, Google, Apple, or NASA" to "change the world".

Listen to this man. I was a full-time software engineer at Google for 5+ years, and I didn't change shit.


I don't think anyone believes that you enter at the bottom of the ladder of a shop with 10,000+ software engineers and then change anything major. To do big stuff at Google you have to either work there 10+ years or come in from another company having done good stuff.

The only realistic shot for hackers to change the world is through their own startup.


Or, you know, doing open source stuff.


The best part is that the two are not mutually exclusive. Maybe making a startup around mostly open-source code is more difficult, but I think it'd be worth it.


I'm curious, are there any other examples of people changing the world through their open source work other than Linus?


Thousands I guess. Take Wordpress for example. Didn't it change the world? Take PHP itself, or Perl. Didn't they?

Also, I think the phrase "change the world" is overrated. Sometimes it's not less important to keep the world running, which also requires constant work and a lot of human genius.


You seriously don't think Linus is solely responsible for Linux, do you?

He should and does get the credit for having the insight and chops to have started it all, and is the single-most important person for Linux, but today's Linux is the result of the work of thousands of programmers.


rms, jwz, Guido, Matz, DHH, Shuttleworth, even Rasmus, the many contributors to GNU, gcc, Firefox...

Imagine the software landscape as it would be right now with no free software whatsoever. Then imagine the hundreds of brilliant people required to devise and lead each of those projects...


What about Richard Stalman (before Linus), the Apache Group (before Linus) and Mozilla? And I am pretty sure there are plenty more examples.


I disagree - I believe that a properly-organized company would give anybody the opportunity to change the world if they were good enough. Two caveats: 1) I do not believe such a company currently exists anywhere in the world. 2) I would have no idea how to go about organizing one.


>I've also build software that generates other software, invented new frameworks, and devised algorithms that dramatically improved the way we make and build and move the stuff that's probably in your cubicle right now.

Is any of that stuff open-source? What you say seems pretty cool, but I find it pretty uninspiring when the hard work of good hackers isn't free to be used and contributed to by others.


I think he's using "CRUD" as a metaphor for "crappy assigned work that hurts your career". This has nothing to do with "CRUD" so much as the dissatisfaction that sets in when you realize that the shots, in most of the world, are still called by morons with no vision.

Actually, I think CRUD itself is a good thing. Why? Because it's a description of a simple interface. You really get the elegance of a CRUD API in the corporate world. Normally, you have a bunch of stupid features and requirements that attached themselves like barnacles.

In truth, building CRUD apps places a person well above the average in the typical corporate stack. At least you're building new stuff and have a chance to shine. Unlike on a maintenance job (which is what most people get) you will get visibility if yo do good work. Most corporate denizens don't even get that. They're lucky to write 200 lines of new code per month.

My suggestion: "How to you escape the shackles and bullshit of your CRUD job and use all those great resources in your head to turn that job on its side and change the world from right where you're at?"

The problem here is that most people need an income, every month, or they start to have serious financial problems. Knowing where overperformance leads-- getting attacked by envious/insecure idiots and ending up unemployed-- I wouldn't recommend it unless he has financial security.


I've noticed this sentiment on HN a number of times. In my experience at large companies and small ones, I've never seen overperformance turn into unemployment. I believe it has happened, but I doubt it is common, and I certainly don't think it's common enough to base job decisions on.

In my experience, I have seen the opposite a number of times -- people who overperform have been rewarded with more responsibility and more-interesting jobs. This includes situations in which people automated away their job responsibilities.


In my experience at large companies and small ones, I've never seen overperformance turn into unemployment.

It's more subtle than that. People don't get fired directly for overperformance, so much as they make enemies who later sabotage them. It's hard to do anything important and not piss someone off.

I have an overperformance story from Google that's legendary, although I didn't actually get fired.

Overperformance doesn't inexorably lead to termination, and it's certainly not immediate. It is, however, more likely to lead to termination than the opposite. (On the other hand, underperformance is more toxic to your career in the long term.)

"Performance" is a middle-class myth for AFCs (Average Frustrated Chumps). You get fired if you fail politically. Being at either extreme, performance-wise, increases the likelihood that this happens.


I suspect some of it has to do with your personality and how much your over-performance engenders envy.

Looking at my work history, it cost me 3-4 jobs at companies that subsequently failed. The best example is one where the new and essential product needed to avoid an m*n database transaction explosion, where m is the number of clients. My warnings about this---and it was very easy to explain and the math is rather simple after all---kept me off that project and sidelined to a dead end. The project ... went even worse than expected, was never reliable after the 2nd client logged in (the project manager had never even done a multiple client system before), until a new crew was hired to rewrite it, but it was a little late by then....

When Mr. Church say "You get fired if you fail politically." he's spot on. That was obviously a factor these jobs and cost me another one or two. All of these were small companies, except for Lucent during it's year of free fall from 106,000 employees to a targeted 35,000 or so; they ended up getting bought by Alcetal.

Here's a constructive comment (I hope): one thing you have to watch out for is managers who are failed programmers. Even worse is if they had no input into your hiring.


Tell us the story.


>Knowing where over-performance leads-- getting attacked by envious/insecure idiots and ending up unemployed

This sounds like what you're saying--

Law 1: never outshine the master. https://www.youtube.com/watch?v=W6ldbjR2trg


And Law 46: never appear too perfect.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: