DaemonForums  

Go Back   DaemonForums > DaemonForums.org > News

News News regarding BSD and related.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 21st December 2012
J65nko J65nko is offline
Administrator
 
Join Date: May 2008
Location: Budel - the Netherlands
Posts: 4,128
Default What Compsci textbooks don't tell you: Real world code sucks

From http://www.theregister.co.uk/2012/12...are_disasters/

Quote:
There’s a kind of cognitive dissonance in most people who’ve moved from the academic study of computer science to a job as a real-world software developer. The conflict lies in the fact that, whereas nearly every sample program in every textbook is a perfect and well-thought-out specimen, virtually no software out in the wild is, and this is rarely acknowledged.

To be precise: a tremendous amount of source code written for real applications is not merely less perfect than the simple examples seen in school — it’s outright terrible by any number of measures.
For those not familiar with the term 'cognitive dissonance:
Quote:
Cognitive dissonance is a term used in modern psychology to describe the feeling of discomfort when simultaneously holding two or more conflicting cognitions: ideas, beliefs, values or emotional reactions. In a state of dissonance, people may sometimes feel "disequilibrium": frustration, hunger, dread, guilt, anger, embarrassment, anxiety, etc.[1]

The phrase was coined by Leon Festinger in his 1956 book When Prophecy Fails, which chronicled the followers of a UFO cult as reality clashed with their fervent belief in an impending apocalypse.[2][3] Festinger subsequently (1957) published a book called A Theory of Cognitive Dissonance in which he outlines the theory. Cognitive dissonance is one of the most influential and extensively studied theories in social psychology.
__________________
You don't need to be a genius to debug a pf.conf firewall ruleset, you just need the guts to run tcpdump
Reply With Quote
  #2   (View Single Post)  
Old 21st December 2012
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by J65nko View Post
The conflict lies in the fact that, whereas nearly every sample program in every textbook is a perfect and well-thought-out specimen, virtually no software out in the wild is, and this is rarely acknowledged.
The article cited tends to minimize the biggest difference -- inhouse software is not written to be elegant unto itself; it is meant to be a custom tool which furthers the goals of business. What management really wants is for software to be written (& preferrably completed...) with minimal requirements determined or while requirements are being written, discussed, bantered about. If software could be written with no requirements in place, this would be the most ideal situation from the standpoint of management.

However, this is a fantasy. Some level of understanding has to be in place in order for software to be written. Management will try to minimize these impediments as much as possible, because it will make them look better to their management hierarchy. A lot of software can be written with billion dollar budgets & years of front time for development. The manager who will be promoted is the one who gets the same work done overnight with only one dollar in expenses.

Absolute quality in software is not the goal. Software only has to be good enough to answer the question posed, or only be better than what the competition offers.
Reply With Quote
  #3   (View Single Post)  
Old 21st December 2012
rocket357's Avatar
rocket357 rocket357 is offline
Real Name: Jonathon
Wannabe OpenBSD porter
 
Join Date: Jun 2010
Location: 127.0.0.1
Posts: 429
Default

I agree whole-heartedly on this. I dropped development and moved to administration because I couldn't stand the idea that my name would be attached to this program that I was quite literally pushed to write in a "business manner" and not "my own manner". That and working with developers who don't take security seriously was a nightmare.
__________________
Linux/Network-Security Engineer by Profession. OpenBSD user by choice.
Reply With Quote
  #4   (View Single Post)  
Old 24th December 2012
J65nko J65nko is offline
Administrator
 
Join Date: May 2008
Location: Budel - the Netherlands
Posts: 4,128
Default

Quote:
Originally Posted by ocicat View Post
The manager who will be promoted is the one who gets the same work done overnight with only one dollar in expenses.
That reminds of this posting on Slashdot:

Quote:
The manager who didn't document anything finished ahead of schedule and below budget. He got a big bonus and moved on to another job at a different company based on his reputation for delivering early and cheap.

The manager who comes in to organise an upgrade to that software ends up taking much longer than expected and going well over budget because nothing was documented in the initial spaghetti code. He gets fired for being incompetent.
__________________
You don't need to be a genius to debug a pf.conf firewall ruleset, you just need the guts to run tcpdump
Reply With Quote
  #5   (View Single Post)  
Old 28th December 2012
thirdm thirdm is offline
Spam Deminer
 
Join Date: May 2009
Posts: 248
Default

I saw a job ad recently, in what sounds like a fine place to work, that had among its requirements, "produce prodigious amounts of high quality code." I'm almost afraid to apply. Is this not like asking for the ability to leap over buildings in a single bound? Or maybe it's just a statement about their life/work balance? Or they just hire the likes of L Peter Deutsch, etc.?

I hear a lot of people wanting a professional body for software developers. Maybe that would help in some way. I'd rather see it become convention that all source be public. Obviously this is no magic bullet. There's no end of really crappy open source/free software. But still, it might provide a little momentum in the right direction if owners knew their code could theoretically be viewed by customers and if developers knew their code could be examined by hiring managers in the future.
Reply With Quote
  #6   (View Single Post)  
Old 29th December 2012
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by thirdm View Post
I saw a job ad recently, in what sounds like a fine place to work, that had among its requirements, "produce prodigious amounts of high quality code."
Three possibilities:
  • If written by the hiring manager, this is meant to scare potential slackers. It could also mean that the atmosphere is that of a sweatshop.
  • If written by an HR representative, it means nothing more than something that sounds good.
  • If written by a senior engineer, process may be used to browbeat those with less seniority.
Personally, I wouldn't put too much stock in such a statement. It doesn't mean much.
Quote:
I'd rather see it become convention that all source be public.
Most employers state in nondisclosure forms signed upon the first day of employment that any work done with company hardware or company time (or anything done during an employee's employment period...) becomes their property. I don't see this ever changing because ownership of intellectual property is often seen as providing a strategic competitive edge over competitors. Besides, legal departments want the rules to be clear in case they need grounds for suing or terminating employment.
Reply With Quote
  #7   (View Single Post)  
Old 29th December 2012
thirdm thirdm is offline
Spam Deminer
 
Join Date: May 2009
Posts: 248
Default

Quote:
Originally Posted by ocicat View Post
Most employers state in nondisclosure forms signed upon the first day of employment that any work done with company hardware or company time (or anything done during an employee's employment period...) becomes their property. I don't see this ever changing because ownership of intellectual property is often seen as providing a strategic competitive edge over competitors. Besides, legal departments want the rules to be clear in case they need grounds for suing or terminating employment.
This stronger claim you parenthetically allude to, that they'd try to grasp ownership on anything you do during your term of employment, strikes me as extraordinary. I know it exists, because the company I work for now re-wrote our terms to go almost that far. They were restrained somewhat by the fact that their home base is in California, which has a nice enlightened law (going way back to the 19th century, oddly enough) that limits such clauses only to the company's equipment and the portion of your day you're actively working for them, IIRC. Other U.S. states have no such laws as I understand it.

What's your experience been? Is this overreach into what we do in our own time on our own equipment becoming part of the standard employment contract most places push? It's crazy. Between things like this and having to pee in a cup for practically any large company, regardless of whether there's a real safety factor involved, it's like capitalists these days are begging for workers to keep an eye out for alternatives to what they have to offer.
Reply With Quote
  #8   (View Single Post)  
Old 29th December 2012
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by thirdm View Post
Is this overreach into what we do in our own time on our own equipment becoming part of the standard employment contract most places push?
To say that it is standard or becoming standard is not something I can address. I only know of the companies I have worked for or hear through anecdotes bantered about.

The fundamental issue is that intellectual property is considered vitally important, & something legal departments can & do prosecute today. If one is attempting to do work which might be considered significant outside of the employment agreement, then it is paramount to maintain a record showing that in no way was corporate resources used in the development of said work. If there are questions on what this entails, consult with a lawyer.

In addition & as important, it is paramount to be able to prove that no knowledge acquired through employment is used in the development of outside projects. This is a murkier topic, & if one has questions, consult with a lawyer.

Yes, this is a litigious society, & yes, the legal system has not caught up with technology. There are lots of idiosyncrasies which are confusing. If you find that your own activities are the cause for concern, consult with a lawyer.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Why your tech CV sucks J65nko Off-Topic 2 18th November 2011 11:42 PM
Grub2 sucks. NetBSD won't load. Mr-Biscuit NetBSD General 6 10th March 2011 09:36 PM
Other No wonder CompSci grads are unemployed (UK) J65nko News 3 3rd November 2010 06:09 PM
Exam board deletes C and PHP from CompSci A-levels (UK) J65nko News 1 13th May 2010 11:17 PM


All times are GMT. The time now is 08:53 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick