NYCPHP Meetup

NYPHP.org

[nycphp-talk] General Q; Programming Jobs & Expectations

inforequest 1j0lkq002 at sneakemail.com
Thu Aug 17 17:07:20 EDT 2006


Kenneth Downs ken-at-secdat.com |nyphp dev/internal group use| wrote:

>
>I had the exact same experience.  The truth of the matter was stated very
>precisely in the above two paragraphs, greater success can be achieved
>with lower quality, by throwing out all of the time-consuming tasks from
>your higher-quality previous experience.
>  
>
um...I think it's called "externalizing expenses" actually. Do your job 
and don't worry about what is not specifically your job. If the rest 
doesn't get done, it wasn't your fault. Sometimes it seems to me 95% of 
the profit in a project is gained from externalizing hidden costs, not 
from the project itself.

>This is often hard for programmers to understand, because we are idealists
>and think everything should be perfect.  But Bill Gates did not become the
>richest man in the world by delivering quality, he rushed garbage to
>market because people will gladly choose garbage that's available today
>over the promise of perfection tomorrow.
>  
>
Define "garbage". Are you selling what you know to be good, or what the 
customers know is good? The former will bankrupt you; the latter may 
disappoint you.

>There are also complex political issues that serve to insulate decision
>makers from the consequences of bad decisions.  An CTO cannot complain
>that the vendor is handing him garbage because he'll lose his job for
>picking the vendor.  The vendor has to protect the CTO by at very least
>taking care of whatever issue may get him fired that day, and screw the
>rest of it. It works great if you are at a VP level or higher, but for everyone else
>its hell.
>  
>
Well said.  And that came about not by design, but via evolution. In 
order to survive, those managers developed that system of insulating 
decisions and spreading accountability. What have the programmers 
evolved in order to survive? Sometimes it seems like  dark rooms, and 
poor social habits to keep the managers out of their caves. 
Unfortunately that only increases the pressure to keep up, and further 
helps commoditize the programmer's job (we never see him ayway, so why 
not outsource overseas?).

Do your job and do it well and make sure you stay involved outside (like 
NYPHP) and move alot and eventually you earn your rep and can choose 
where to work. That seems to be the way. I definitely have not seen any 
success evangelizing within the profitable corporation you describe, as 
all you will be doing in the eyes of non-programmers is making waves and 
increasing costs. Make sure that when there is an attack, it wasn't on 
your code, and when they audit, your code comes clean. Anytime you find 
you cannot do a proper job (time constraints, etc) find a way to 
externalize the decision to leave it insecure... commonly known as 
passing the buck/creating a paper trail. There's nothing wrong with 
allowing the organization to make a decision that is not optimal from 
any one perspective -- I think that is the definition of a compromise.

-=john






-- 
-------------------------------------------------------------
"If you think this stuff is confusing, you should try optimizing websites for search engine exposure."  john andrews SEO http://www.johnon.com




More information about the talk mailing list