
You can't do that - vijaydev
http://jacquesmattheij.com/you+can+not+do+that
======
othello
Surprisingly enough, this can even happen in academic environments that should
know better.

Though far from the level of difficulty presented by jacquesm, the same thing
happened to me with an end-of-term project a few years back.

We had to make a small piece of software in Java. Most of my mates were going
for boring stuff, such as sudoku solvers or small neural networks to play the
likes of Connect four.

I wanted to make a Gameboy emulator.

"You can't do this", said my professor. "At least not in two weeks' time."

Well I don't remember much besides coding during those two weeks, but guess
what - after 14 days, my program could boot Tetris. No sound, granted, but it
was playable.

My professor was quite the sore loser though - he considered the program
incomplete since it only booted a few roms, didn't have sound and could crash
randomly. I ended up turning in a gameboy rom dissassembler instead, complete
with GUI and breakpoints setting.

Still, never believe that "you can't do that".

~~~
ladon86
That's almost the exact experience I had in my first term of university.
Everyone was making connect 4 and sudoku and they told me I couldn't write a
Doom-style raycasting engine. That was the reason I had to do it!

It didn't even count towards course credit, but by the time I submitted I'd
built everything, with an in-game level editor and reflective surfaces (all
software-rendered). It was way beyond what I had ever achieved, and completing
that project totally changed my view of what was possible.

~~~
archgoon
That is quite impressive. How long do you believe it took you to accomplish
that? You said a term, when did you start, and when was it due?

~~~
ladon86
Hmm, a term was about 10 weeks so I guess this must have taken about 4 or 5
weeks. But I was working on it a ridiculous amount.

My friends called it "Ray" and would leave funny drawings on my desk depicting
them partying while I played with Ray. Or if I had been partying with them,
they'd all groan when we arrived home and I set to work. But it was definitely
worth it.

------
edw519
_And in my experience when enough people are saying that 'you can't do that'
there is an opportunity waiting for you that is proportional in pay-off to the
number of people asserting that it can't be done._

Great thought.

Most of my most memorable successes were when others said that something
couldn't be done. First you think, "Why not?" Then you think, "What would it
take?" Then you figure that you'll never find out for sure unless you try. The
reward is compounded by the initial skeptism.

Just a few silly examples (any of these sound familiar?):

    
    
      Manager: Shop Floor Control is impossible.
      Me:      Why?
      Manager: Because the base data is so inaccurate.
      Me:      So?
      Manager: It would take years to fix all the data.
      Me:      What if we turned in on anyway?
      Manager: The output would be worthless.
      Me:      Wouldn't it show where the base data was inaccurate?
      Manager: Yes.
      Me:      Then you could fix the biggest culprits?
      Manager: I suppose.
      Me:      So turning it on would expedite data fixing?
      Manager: Yes.
      Me:      So it's not really impossible?
      Manager: Well...
      
      Manager: Bug free software is impossible.
      Me:      What would it take to make is possible?
      Manager: Nothing.  Can't be done.
      Me:      What if we added systems testing to unit testing?
      Me:      And then built rigorous test plans covering almost everything?
      Me:      And then enforced User Acceptance Testing?
      Me:      And allowed nothing into production without passing?
      Me:      Would it be better?
      Manager: Yes, but we can't afford to do all of that.
      Me:      So, bug-free software isn't impossible, just expensive?
      Manager: No, it's impossible.  Get back to work.
      Me:      Sigh.
      
      Manager: A web app is impossible.
      Me:      Why?
      Manager: Because it depends upon data entered by regular people.
      Me:      So?
      Manager: People are idiots.  They enter wrong data all the time.
      Me:      What if we trained them?
      Manager: Impossible.  They don't work for us.
      Me:      What if we made the software smarter?
      Manager: What do you mean?
      Me:      Data validation.
      Me:      Data reasonableness based upon rules or history.
      Me:      Crowdsourcing data validation.
      Manager: The data would still be bad.
      Me:      What would it take to make the data good?
      Manager: Nothing. Impossible.
      Me:      Sigh.

~~~
d0m
I don't want to be harsh, but I really hope you aren't _really_ like that.
This is really arrogant and you would hardly gain anything by acting like
that. It seems like you are trying to demolish him by proving you are right
instead of helping the team growing to a better solution.

    
    
      Manager: A web app is impossible.
      You: Yeah, I agree that it would be really hard to build,
      but it would give us great advantages. 
      Manager: Maybe, but we can't trust data entered by regular people.
      You: Yes, this is a pain to deal with. Fortunately, from
     my past experience, I learned good ways to cope with that.
     At the end, everyone agreed that it was well worth the
     trouble. Anyway, I don't want to annoy you more with that,
     I know you are really busy. Let me find the project I
     worked on and let's talk about it later on.
    

So basically, here's your way:

    
    
      Manager: "I'm the manager and I know what to do"
      You: "Fuck you, I'm the coder and I know WAY MORE THAN
     YOU"
      Manager: (Don't like being contradicted by an employee..
     even less being told fuck you): "I am right, here's why"
      You: "Fuck you, I'm the coder and I know WAY MORE THAN
     YOU"
      Manager: (Don't like being contradicted by an employee..
     even less being told fuck you): "I am right, here's why"
      [..]
      You: "Fuck you, I'm the coder and I know WAY MORE THAN YOU"   
      Manager: "No, you fuck you. I'm the manager and you won't
     win"
    

Here's my way:

    
    
      Manager: "I'm the manager and I know what to do"
      Me: I know you are the manager and you choose what to do,
     but as a programmer (and from my experience), I could help
     you take the best decision.
      Manager: But I'm still the manager and I WILL CHOOSE WHAT
     TO DO, not you.
      Me: Yes, totally. I'll get some facts about xyz and get
     back to you, so you can choose the best thing for the team.

~~~
charlief
I don't think it is fair to frame it so dramatically. I think you're arguing
for strong diplomacy in negotiation, which I completely agree with. You could
presume the original dialogue was not indicative of absolutely perfect
diplomatic practices, but to say he is extremely arrogant... I would say he is
justifiably confident if he has encountered relevant situations many times
before and an adequate technical skill set. Either way, to pass any judgement,
we're making way too many assumptions.

And ultimately, isn't this irrelevant? They are just a few general,
entertaining anecdotes. I hope you don't take Dilbert or The Office seriously
as well.

~~~
Semiapies
There's only negligible value in yet more anecdotes framed to reinforce the
"coders awesome, managers stupid" stereotype.

------
praptak
_"In the end the project led nowhere, apparently there was a patent that it
violated (of all things, one that had to do with the codes on laundry for
hotels and hospitals held by Philips) but that by itself had nothing to do
with the technology or whether it was possible to build this."_

Hurray for the patent system supporting innovation.

~~~
tsvk
Well, one could argue that the patent system supported innovation, namely the
original innovator Philips. :)

This guy just was too late, someone else beat him to it.

~~~
OstiaAntica
The patent was in an unrelated field.

~~~
anamax
> The patent was in an unrelated field.

For some meanings if "unrelated field", using the same idea is not
infringement but a new invention. It's called "novel application" or somesuch.

Check with a competent patent attorney.

------
ulf
"Let your limits be determined by physics and other real world constraints,
not by the lack of imagination or (wrong) knowledge of others."

Awesome takeaway! Without people taking that attitude, we probably would still
be living in caves.

~~~
charlief
A caveat: In creating something, requisite domain knowledge is required. Know
where your strengths and experiences are, how to leverage them, and be
resourceful enough to obtain new skills. Don't be afraid to seek help.

------
giberson
I hate to say it, but the question "It's impossible?" is my kryptonite--but in
the opposite perspective.

I accidentally established myself as a capable and competent worker at my job
and have unfortunately given management the confidence that I can do anything.
I'm using a negative context here because I've lost the ability to say no to
them. I suppose since my job as a programmer is to give them what they want I
should never want to say no, but I'm a sucker for elegance and I really try to
avoid solutions that are overly complex and convoluted. Unfortunately, there
are occasions in which a feature requirement requires such a solution. Or
rather, not the actual feature requirement, just one of the "tweaks" they like
to nitpick on to make it perfect. I.e "This is great, but you know what would
make it perfect?" syndrome. Usually, I'm fine with these but when the tweak
requires a complete overhaul or reimplementation--potentially days worth of
coding to implement I'll try to dissuade them from it. Inevitably, if it's
something they are really stubborn on when I say "well, I can't really do that
--the system doesn't support event callbacks which is what would be required
to implement...." I'll get back "It's impossible?".

And thats it, cat's got my tongue. I want to say yes. So bad. But I know the
answer is no. I know they are confident in my ability, so they think they know
the answer is no. But, seriously I'm gonna have to write a third party
application in a different language and write a service protocol to
communicate between the main ERP suite and the third party app to accomplish
this and it's just so they can get an extra description feedback to an auto-
complete feature. I know there are more important, more critical, more
exciting issues that I could and I think I should work on. Whats worse, is
that if I were a little less proficient, if I knew one less programming
language it would impossible for me. Then again, it still wouldn't because I
know I could just learn that one language and it would be possible. Arrrggghh
there's no way out of this question.

"Well, no it's not impossible. I can probably do it. But it's going to take an
extra couple of days.."

"Okay, let me know when its done."

[grit teeth].

~~~
SoftwareMaven
Management ahold be making those decisions based on ROI. That implies they are
responsible for understanding the value the change will bring and you are
responsible for educating on the costs. I would respond to the "It's
impossible?" question with "Is it worth seven man days of work, a potential
for tricky-to-find bugs because we adding a square peg to a round whole which
will increase maintenance costs, and the opportunities lost by me not working
on something else for those seven man days?"

I've worked at few places that have done the real analysis to know the answer
to that, but very few even consider it.

------
JimmyL
One of the best problem-solving strategies I was ever taught was to respond to
things like this with "well, what if it wasn't?" Don't try and fight their
reasoning about why it's impossible, because you won't win - instead, step
around it by getting them to ignore the part they're/you're getting stuck up
on.

It takes a bit of persistence and convincing the other party to engage in what
they consider a flight of mental fancy, but once you get over the "impossible"
part and start figuring out how to solve the rest of the problem, I find that
a solution that avoids the initially-impossible part tends to present itself.
That, or you'll figure out why what you thought was impossible isn't. The
beauty of this is that it works equally well when you're trying to convince
someone else of something you know to be right and when you're trying to
figure out a solution yourself.

The other easy strategy I use all the time (and this is more for concrete
problems, as opposed to intellectual/theoretical ones) is start by deciding if
the problem is one that can easily be solved by throwing money at it. If it
can be, then it's a much easier question - you just have to determine if the
problem is worth the money it would cost to fix it, which is simpler. If the
problem can't be solved with money, then you know where to start to find a
solution (enumerating all the non-monetary resources you have and seeing what
might work).

------
omaranto
This shows one of the reasons I love math: mathematicians only say "you can't
do that" when they can prove you can't, otherwise they'll say "I don't see how
to do it and it would be hard because ..."

~~~
nadam
In the case of some brutally hard problems there is virtually no difference.
When yet another person claims that she proved that P=NP they usually don't
read tha paper at all unless they feel that the author is a serious
mathematician. Otherwise they should read amateur's papers all day long. To be
honest they make fun of these people and basically they say: you cannot do
that. And the truth is they are right with a 99.999999999999% probability.

Edit.: In these extreme cases it may even do good to discourage people to deal
with these demonically hard problems. If you are addicted to thinking these
problems are dangerous. Such hard problems ruined mathematicians life. You can
become addicted to solve the problem, but you cannot solve it so you try
harder. There is no sign of success, so you try even harder... When I was
thinking about P vs. NP for 1 month I could not sleep well and could not
concentrate on my job well. It was terrible. After the dark period it was so
good to think about business, software development again where there are
problems (or at least subproblems) which you can actually solve or partly
solve.

------
akashs
Great article. Whenever someone's usually said that to me, my first thought is
usually, "Why not?".

From the other end, in my experiences, hearing "you can't do that" in a
corporate setting has often (not always) meant that the manager/company didn't
feel it worth the risk to the company. The manager won't be around 2 years
from now when your project is completed, so he would rather you work on things
with immediate impact so it benefits his review. Because of this big companies
often get very risk averse, focusing on big, cash-cow projects and
consequently slow their innovation.

Contrast that to startups where you've got a bit more freedom, I'd think
you're less likely to hear it (if so, it might mean more of "we don't have the
resources/money"). I think it's often less of the person being an ass, and
more about what they're incentivized to promote.

------
grinich
If someone says: "That’s impossible;" You should understand it as: "According
to my very limited experience and narrow understanding of reality, that’s very
unlikely."

\- Paul Buchheit

------
yannickmahe
I find that the "You can't do that" is often said by people who just don't
want to bother.

I was recently working in a company where the task tracking system wasn't
linked in any way to source control. I thought linking the two would be a
great gain: being able to see the modified files from the task management
system, and resolving the task directly in the commit message would allow
managers and developers to easily increase productivity, if only by a little
bit.

I had to have 3 different meetings with the sysadmin to get him to do that,
each one escalating further up in the company hierarchy. Eventually, we had to
tell him exactly how to do it, and my boss said it had to be done. The main
reason the sysadmin said he did not want to do it was that he felt there would
be no gain.

I learned a lot about office politics then...

------
jedbrown
Some circumstances warrant "there is a theorem stating that what you want is
not possible."

~~~
bdhe
With a caveat added: "... in general". As mentioned by sokoloff, the halting
problem is solved routinely by people in software engineering research groups.
This does not invalidate the Halting Theorem simply because the Halting
Theorem talks about the impossibility of a single Turing Machine FOR ALL
programs.

~~~
Xk
You don't need the "in general".

If there is a proven theorem that something is impossible, either the theorem
is wrong or it's impossible.

> the halting problem is solved routinely by people in software engineering
> research groups

I'm not sure how I'm meant to read this.

If it is that people do the solving of the halting problem (that is, people
read the source of the program and say "this will halt" or "this will not
halt"), then they have not solved the halting problem: the halting problem
states there is no way to do this _by algorithm_.

If it is that people write software which solves the halting problem, then you
are wrong, and you explain to yourself why you are wrong. They are solving a
_different_ problem, namely, whether some very small class of computable
functions halts.

Your two sentences "the halting problem is solved routinely" (assuming you
mean the latter case, as above) and "this does not invalidate the Halting
Theorem" do not logically work.

~~~
bdhe
> If there is a proven theorem that something is impossible, either the
> theorem is wrong or it's impossible.

It can get a lot more subtle than that. I do not want to elaborate, but there
are classes of problems for which we can only guarantee SOME hard problems (or
undecidable ones) but MOST of which are easy. There are other classes of
problems where MOST problems are hard.

> Your two sentences "the halting problem is solved routinely" (assuming you
> mean the latter case, as above) and "this does not invalidate the Halting
> Theorem" do not logically work.

I agree it sounds illogical, but my phrasing was poor. I meant, if problem
instances that arise in real life are easy to solve, yet there is a theorem
that states that NOT ALL problems are easy, these two are not mutually
exclusive. I agree "routinely solving the halting problem" is an exaggeration
on my part.

------
nadam
This is a motivational article, which is fine. Some people (depending on their
personality and their current state in life) need motivation: 'you can do
that'!

Some other people, the born dreamers who are overly motivated and naive by
default need experience, need to fail a lot to learn that some things are
harder than it seems. (I am more in this category.)

But in reality there is a market for the belief of whether 'they can do that':
(angel) investing. If someone bets that people's capabilities are undervalued
she should buy into the market (invest in early stage enterpreneurs). If
someone bets that people's capabilities are overvalued she should sell (not
invest).

Saying 'you can do that' is cheap. If you really trust he/she can do that you
invest. I think the market is balanced in Silicon Valley (some say overvalued)
and undervalued in some countires where there is virtually no angel investing
in technology startups at all. (Like where I live in Eastern Europe.)

------
mistermann
In a similar vein....I am presently working in more of a business analyst /
advanced end user for a product under development. I don't know how many times
I've been told by developers on the project that something "can't be done".
Some good fun was had for the first few weeks before they found out I was a
developer, after a few times of sending them the code to accomplish "the
impossible". But now it's just getting annoying...they _still_ regularly fall
back on the "can't be done" crutch, even when I tell them otherwise.
Absolutely zero curiousity in learning something new....yet their considerable
egos seem to remain fully intact.

------
ChuckMcM
Good advice. Generally when I give feedback on an idea or proposal that is not
possible to implement I try to give it as "I see the following challenges, ...
" and try to outline my reasoning for problems for which I am not aware of a
solution to. If you come back with credible ways to attack those issues I'm
all for it.

Its a big demotivator if you feel like you are being dismissed out of hand. So
if you're managing a team or have folks coming to you with new ideas, 'you
can't do that' is probably the worst thing you can say to them.

------
j79
A coworker of mine shared an experience she had in college a while back.

Many years ago, for a course project, she proposed software that would allow
you to tag songs and get information about it. Perfect for identifying that
obscure song at a bar. The professor told her, flat out, it was impossible. He
explained his reasoning and then suggested she work on another project.

All of this came to light when I showed her Shazam. Her first words were "I
KNEW IT WAS POSSIBLE!"

~~~
jarek
Creating Shazam _as an undergraduate term project_ is essentially impossible.
Just assembling a sufficiently large database would take longer.

~~~
sukuriant
In it's full robust form? Maybe (though I doubt it); however, as a proof of
concept with every song in your personal collection? Much more reasonable.

~~~
jarek
That's not going to be useful for identifying that obscure song at the bar, is
it?

The original post is pretty unspecific. Did the professor claim that creating
a general system with a large database is impossible? That it's impossible as
a term project? That creating a proof of concept system with 3 GB of music
from your personal collection is impossible? That simply identifying a song
given a part of it and the source file is impossible?

------
d0m
Personally, someone saying to me "You can't do that" is a great motivator.
"You cannot get A+ in that class, it's impossible." == me studying way harder
(and finally achieving that A). In fact, ironically, I always tend to do
better when people think something is really hard.. maybe because I'd take it
more seriously.

------
Tycho
You know what, that card IDing idea is awesome. What sort if douchebag says
'you can't do that?' My reaction would be positive/excitement and a desire to
contribute, but it seems there's just this large subset of people out there
who react to every new suggestion with total stick-in-the-mud negativity. Like
it's their natural, gut-instinct. Maybe they just never see ideas (like the
card reader) as these wonderful elegant things, or they can't imagine enough
about the rest of the problem domain to see it's potential value, who knows.

At my first job my whole team had to enter details on a shared spreadsheet. I
suggested we set up data-validation or drop down menus for input, someone
straight off said 'can't be done - someone tried it last year, didn't work.'
then took me like two weeks of campaigning just to overcome this initial knock
back. What a waste of time.

~~~
amcintyre
> someone straight off said 'can't be done - someone tried it last year,
> didn't work.'

Translation: we gave it to an intern and he couldn't do it in a week.

------
maresca
For many years I would bounce my ideas off of people, and they would look at
me like I was delusional. This made me think I was delusional. After working
on my MVP for the past 3 years, I have finally figured out that the best ideas
are the ones that people say can't be done. With enough time and dedication
anything is possible. Disregard the naysayers and keep on truckin'.

~~~
billswift
>With enough time and dedication anything is possible.

Good, where's my flying car?

~~~
chadgeidel
In this case the dedication factor is "Improve skills of average driver to the
level of skill required by an airline pilot" (not an airline pilot driving his
car, an airline pilot doing his "day job") and the time factor is "wait until
that happens".

Subverting the dedication part using a highly reliable software solution is
acceptable (self navigating carplanes).

Once you've got that down you've solved 90% of the flying car problem. IMHO of
course.

EDIT: Of course - the real "end run" around the problem would be to answer the
question "why do you want a flying car?" and address THAT instead of building
a flying car. Would someone want a flying car if teleportation was available?
I'm guessing "no".

------
Rhapso
I feel it is always wise to take the word "impossible" as a personal challenge
to prove otherwise.

------
ericmoritz
I keep telling my kid, the worse bad words out of all of them are "can't" and
"never".

~~~
jarek
Also "dictionary".

------
hsmyers
In sum the difference between 'Unlikely' and 'Impossible' is crucial...

------
davidmathers
Woz didn't know it was impossible:
<http://www.youtube.com/watch?v=pyKlNjwR03M#t=7m45s>

------
statictype
Another favorite of mine: "It's not that simple".

More in a social context than a technical one, it usually implies "This is my
excuse for not doing it"

~~~
gaius
No, it's my excuse for not getting stitched up by people making unrealistic
promises on my behalf (e.g. a month's work in a day).

------
robeastham
I suspect this guy heard 'You can't do that' quite a few times before doing
this:

<http://www.bbc.co.uk/news/world-europe-12773427>

------
pshapiro
Free electricity may be a pipe dream, which is understandably dismissed, even
IMO (how could you get free energy from nowhere?). But a gizmo which pulls
electrical or magnetic energy from the sun or surrounding space by some
heretofore unimplemented and unaccepted method is not as much of a pipe dream.
However it's just as quickly dismissed by academic physicists as a pipedream
even though they don't know what specifically they are dismissing.

So I agree! Keep your confidence if you think you've got an idea that may
work, especially when there's a bunch of people who have a vested interest in
your device not succeeding, telling you that it won't work.

------
zn
When someone tells me "you can't do that", I usually assume they are against
it and want to imply that doing that would be the stupidest thing ever.

------
drzaiusapelord
The bit about the patent is a little depressing. I wonder how many novel bits
of technology were shuttered because some big company had some similar patent
that they'll never use outside of lawsuits and as an asset for mergers and
acquisitions. "We have the 'read security card with optics' patent. Its worth
a lot!" Government mandated monopolies on ideas is just a bad idea.

Everytime I think about starting a company or investing in tech, stuff like
thinks makes me reconsider.

------
funkdobiest
I think they mean you can't do that because of the patents? Or you can't do
that because it was already tried and it went nowhere, as the author found
out.

------
jodrellblank
But that's a basic internet manipulation trick.

1) Have problem 2) Find related discussion forum 3) Post problem, state or
imply it's probably impossible. 4) Get much more interest and better answers
than a plain question would have.

------
maeon3
"You can't do that" - translation:

1\. I don't want you to do that because of x,y,z.

2\. I saw some other people try that, and they failed.

3\. Someone else doesn't want you to do that.

4\. I tried it, and I failed at it and my ego is tiny.

5\. Rule or Law X states you shouldn't do that.

Can't is such an abused word, better to not use it at all to make yourself
clear.

When you understand the laws of physics, anything is possible.

~~~
alain94040
Don't attribute to malice what can be explained away by stupidity. In my
experience, people genuinely believe certain things can't be done
([http://blog.fairsoftware.net/2010/12/16/young-and-
clueless-a...](http://blog.fairsoftware.net/2010/12/16/young-and-clueless-an-
unexpected-recipe-for-innovation/)).

Those people just inherited preconceptions from their environment (co-workers,
bosses, common knowledge...). Their brain never even tried to wonder if a new
approach was possible.

~~~
dcolgan
I was originally met with opposition when I told my family about wanting to do
freelance programming out of college. They wanted me to get a "real job".

I think this article describes the situation well. At first I was annoyed with
them, but then I came to realize that the reason they were saying this was
because they didn't understand what I was getting into, and from their
perspective it really was impossible.

I have come to appreciate that they are not out to rain on my parade for the
sake of being mean, but because they actually do care about me. I suppose that
as with all criticism, discernment is needed.

------
clistctrl
This article is amazing, One of the best parts of being young is you don't
have enough experience to know what you're not capable of. As a junior
programmer I went down more misguided pathways than I care to remember, but
every once in a while one of those misguided pathways had gold at the end, and
I got there.

------
mkramlich
Great article. I read that while imagining it in the voice of Morpheus. ;)

