{"id":397,"date":"2008-09-03T13:00:20","date_gmt":"2008-09-03T18:00:20","guid":{"rendered":"http:\/\/www.juixe.com\/techknow\/index.php\/2008\/09\/03\/juixe-techknow-software-quotes-2008\/"},"modified":"2008-09-03T13:00:20","modified_gmt":"2008-09-03T18:00:20","slug":"juixe-techknow-software-quotes-2008","status":"publish","type":"post","link":"http:\/\/juixe.com\/techknow\/index.php\/2008\/09\/03\/juixe-techknow-software-quotes-2008\/","title":{"rendered":"Juixe TechKnow Software Quotes 2008"},"content":{"rendered":"<p>Here is a pile of quotes and anti-anecdotes relating to software development and programming in general.  The quotes where compiled by digging through the mining the rants from <a href=\"http:\/\/www.juixe.com\/techknow\">Juixe TechKnow<\/a>.  The collection of <a href=\"http:\/\/www.juixe.com\/techknow\/index.php\/2008\/08\/17\/favorite-programming-quotes\/\">programming quotes<\/a> is available as a PDF document and can be found on <a href=\"http:\/\/www.scribd.com\/doc\/5471718\/Anonymous-Code-Monkey\">scribd<\/a>.<\/p>\n<p><span class=\"frame-outer  \"><span><span><span><span><img src='http:\/\/www.juixe.com\/techknow\/wp-content\/uploads\/2008\/09\/anonymous.png' alt='Anonymous Code Monkey' \/><\/span><\/span><\/span><\/span><\/span><\/p>\n<blockquote><p>\nYour code does not start at the compiler nor does it stop at the JVM.\n<\/p><\/blockquote>\n<blockquote><p>\nOne lesson that most developers don&#8217;t learn is to debug outside the debugger.  As an engineer there are times when you need to troubleshot, problem solve, and debug not just your software from the comforts of your favorite IDE but the whole software stack, network, hardware, user&#8217;s environment, and even the user himself.\n<\/p><\/blockquote>\n<blockquote><p>\nYou can unit test and statically analysis software, but you can&#8217;t probe your users.\n<\/p><\/blockquote>\n<blockquote><p>\nEvery problem, issue, and bug experienced by the end user directly and indirectly with your software eventually needs to be implicitly and explicitly dealt with by your software development team.\n<\/p><\/blockquote>\n<blockquote><p>\nI wish development teams spend more time streamlining their process rather than prematurely optimizing their code.\n<\/p><\/blockquote>\n<blockquote><p>\nIt is OK to have software with bugs, bugs can be fixed.  It is not OK to have software with excuses!\n<\/p><\/blockquote>\n<blockquote><p>\nLearn, plan, design, code, integrate, build, release, rinse, and repeat.\n<\/p><\/blockquote>\n<blockquote><p>\nManagement has a way of over emphasizing the blatantly obvious.\n<\/p><\/blockquote>\n<blockquote><p>\nI&#8217;m a lazy loading type of programmer.\n<\/p><\/blockquote>\n<blockquote><p>\nI&#8217;ve discovered that Windows security is an oxymoron!\n<\/p><\/blockquote>\n<blockquote><p>\nI know that techies, myself included, are always bragging about how their code is poetry but I have never meet a poet laureate in a development team.\n<\/p><\/blockquote>\n<blockquote><p>\nRemixing and mashing up Google Maps and Flickr is like the &#8216;Hello, World&#8217; first program of Web 2.0 mashups.\n<\/p><\/blockquote>\n<blockquote><p>\nOpen Source code equals community.\n<\/p><\/blockquote>\n<blockquote><p>\nAs a rule of thumb, I never cache, pool, or use as singleton mutable objects.\n<\/p><\/blockquote>\n<blockquote><p>\nBugs by nature are out of the box, as a developer, you need to expand the box.\n<\/p><\/blockquote>\n<blockquote><p>\nWWGD: What would Google do?\n<\/p><\/blockquote>\n<blockquote><p>\nAt some companies, the term Spec stands for Speculation.\n<\/p><\/blockquote>\n<blockquote><p>\nI went to school to learn how to program software applications, which inevitably have bug defects.  There was no course at my university on testing, debugging, profiling, or optimization. These things you have to learn on your own, usually in a tight deadline.\n<\/p><\/blockquote>\n<blockquote><p>\nTo most Java developers, Ruby\/Rails is like a mistress.  Ruby\/Rails is young, new, and exciting; but eventually we go back to old faithful, dependable, and employable Java with some new tricks and idioms and we are the better programmer for it.\n<\/p><\/blockquote>\n<blockquote><p>\nYou might as well hire your your customers and pay them 50K\/year because they are  your new QA.\n<\/p><\/blockquote>\n<blockquote><p>\nThere is a saying, those who can, do; those who can&#8217;t, teach.  It can be said that in software engineering, those who can, code, those who can&#8217;t, manage.\n<\/p><\/blockquote>\n<blockquote><p>\nThe greatest thing about Ruby on Rails is neither Ruby nor Rails, the best aspect of Rails is that it questioned the &#8216;best practices&#8217; (and worst nightmares) of the current state of web development with its philosophy of Convention over Configuration and Don\u00e2\u20ac\u2122t Repeat Yourself principle.\n<\/p><\/blockquote>\n<p><!--more--><\/p>\n<blockquote><p>\nThere is more than one way to do it, but do it how ever more than one developer can understand it.\n<\/p><\/blockquote>\n<blockquote><p>\nDesign a software solution for the end user, not for a fellow developer, or worse yet your database.\n<\/p><\/blockquote>\n<blockquote><p>\nIf the end user can&#8217;t use your software, that&#8217;s a bug.\n<\/p><\/blockquote>\n<blockquote><p>\nYou may consider your code as art but no one is going to hang your code in the Louvre.\n<\/p><\/blockquote>\n<blockquote><p>\nUse the quicksort approach to problem solving.\n<\/p><\/blockquote>\n<blockquote><p>\nHaving code working on the developer&#8217;s machine is not a valid solution, software needs to work at the client&#8217;s site too!\n<\/p><\/blockquote>\n<blockquote><p>\nThe anti-FUD: Fighting FUD with more FUD\n<\/p><\/blockquote>\n<blockquote><p>\nUnfortunately, there is no performance enhancement supplement you can take to make you a better software engineer.\n<\/p><\/blockquote>\n<blockquote><p>\nEven the best process and best technology fail, if the people fail.  People often fail, when management fails to provide the right incentive, motivation, and passion-oriented environment that people like to be a part of.\n<\/p><\/blockquote>\n<blockquote><p>\nFailure is a form of experience.\n<\/p><\/blockquote>\n<blockquote><p>\nEveryone has their own way of learning and should be granted the opportunity to digest information as they know how to learn best, whether it is through documentation, screen shots, class diagrams, use cases, prototyping, refactoring, and even rewriting.\n<\/p><\/blockquote>\n<blockquote><p>\nIt is commonly said that you don&#8217;t know what you have until you lose it.  With software you usually don&#8217;t know what the user will want until you ship.\n<\/p><\/blockquote>\n<blockquote><p>\nAs a developer, it is not like we get royalties on our work, so what do I care that 5% of my software is pirated, those that do pay for it make up the perceived loss.\n<\/p><\/blockquote>\n<blockquote><p>\nSoftware companies should listen to their customers, even those that use their software a few times, instead of their lawyers, that most likely never have used their software.\n<\/p><\/blockquote>\n<blockquote><p>\nEvery piece of code has bugs, but not every bug needs to be in the code.\n<\/p><\/blockquote>\n<blockquote><p>\nTesting is not a one time, one shot deal.  Testing is like marriage, you have to work at it every day for it to be successful.\n<\/p><\/blockquote>\n<blockquote><p>\nI don&#8217;t hire software engineers to code.  The primary function of an software engineer is to learn and analysis and decode a problem mentally so that then can later code their language of choice.\n<\/p><\/blockquote>\n<blockquote><p>\nSoftware engineering is nothing like civil engineering.  Software engineers listen too much to their end users.  If civil engineers listen to their users as much we would software developers do most buildings would end up like the Winchester Mystery House with a freeway offramp coming right up to their driveway.\n<\/p><\/blockquote>\n<blockquote><p>\nThis feature might have been due yesterday, but telling me a day after it is due is not a schedule!\n<\/p><\/blockquote>\n<blockquote><p>\nA business laptop given to a knowledge worker should be treated such as a marine treats his issued assault weapon, with the utmost respect and intimate knowledge of its inner workings.  A business laptop is usually loaded with sensitive and proprietary information, and it is just pathetic when someone can&#8217;t change the display on their own machine to use a projector.\n<\/p><\/blockquote>\n<blockquote><p>\nIf you don&#8217;t understand Open Source licensing, don&#8217;t start an Open Source project. Keep your code!\n<\/p><\/blockquote>\n<blockquote><p>\nThe real value of code does not lie in the source code, the value lies in the knowledge and expertize of the community.\n<\/p><\/blockquote>\n<blockquote><p>\nFor every one line of code in jQuery, there is at least one plugin written by a third party.\n<\/p><\/blockquote>\n<blockquote><p>\nThere cannot be a killer app without a killer community.\n<\/p><\/blockquote>\n<blockquote><p>\nThe easier it is to reproduce a bug, the easier it is to fix.\n<\/p><\/blockquote>\n<blockquote><p>\nYou can&#8217;t have five top priorities at once.\n<\/p><\/blockquote>\n<blockquote><p>\nAs a software engineer, it is better to think of yourself as ninja programmer rather than a mercenary coder.\n<\/p><\/blockquote>\n<blockquote><p>\nIts not a team meeting if only one person talks, that&#8217;s more like a presentation.\n<\/p><\/blockquote>\n<blockquote><p>\nThe anatomy of a Google application is sheer simplicity, great user interface and experience, accessible data API, and instant scalability.\n<\/p><\/blockquote>\n<blockquote><p>\nA properly written application might scale to millions of users, a top developer at most can scale to a few tasks a day.\n<\/p><\/blockquote>\n<blockquote><p>\nA programming language shouldn&#8217;t change it&#8217;s accent in every major point release.  This is also true about libraries, frameworks, and APIs.\n<\/p><\/blockquote>\n<blockquote><p>\nAdhering to a process is like a freeway, when everyone is going at sustainable developer velocity, the process is flowing.  But it only takes one developer to stall in the middle of the process to back up and side rail the whole team, as one stalled car in the freeway backs up everybody.\n<\/p><\/blockquote>\n<blockquote><p>\nIn the end, all software end up the same, just a bunch of boxes wired together.\n<\/p><\/blockquote>\n<blockquote><p>\nSoftware development teams are like Tolstoy&#8217;s Family, there is a one way to produce happy software, but unlimited number of ways to be down trodden frustrated and dysfunctional software.\n<\/p><\/blockquote>\n<blockquote><p>\nMeasuring programming progress by lines of code is like measuring a horror flick by the number of victims, for either case it&#8217;s usually a gorefest.\n<\/p><\/blockquote>\n<blockquote><p>\nAs software developers, half the stuff we do is hacks for the other half.\n<\/p><\/blockquote>\n<blockquote><p>\nDon&#8217;t let the spec define and technology limit user experience.\n<\/p><\/blockquote>\n<blockquote><p>\nSoftware engineering wants to be a creative, like writing, and disciplined, like engineering, but it is often neither.\n<\/p><\/blockquote>\n<blockquote><p>\nRemember that process is there to help people, not people to push along the process.\n<\/p><\/blockquote>\n<blockquote><p>\nI&#8217;ve heard of greenfield app, now brownfield app.  A brownfield that contaminated by poor practices but has the potential to be revived.  What is next?  Cloverfield?\n<\/p><\/blockquote>\n<blockquote><p>\nThe only thing I hate most other writing unit tests, is refactoring, updating, and maintaining code that do not have unit tests.\n<\/p><\/blockquote>\n<blockquote><p>\nIn most applications you&#8217;ll ever develop, optimization and scalability are just 10% of the job.  Focus on the 90%, which is getting the thing to work correctly.\n<\/p><\/blockquote>\n<blockquote><p>\nLearning a new platform requires you learn a whole set of known issues and limitations, and to discover new ones in the process.\n<\/p><\/blockquote>\n<blockquote><p>\nAnyone eager to deploy a web application on a new framework is a masochist.\n<\/p><\/blockquote>\n<blockquote><p>\nBackward compatibility is not just about code but also applies to usability. Backward compatible is about implies to user expectations.\n<\/p><\/blockquote>\n<blockquote><p>\nRails is not just opinionated software, it is fascist software.\n<\/p><\/blockquote>\n<blockquote><p>\nThe Java version of a Hello World example Web Services using Axis 2 is just about ten lines of code, 55 jars, and 20MB war file.  Fail.\n<\/p><\/blockquote>\n<blockquote><p>\nEveryone has ideas, ideas are a cheap commodity.  Visualizing an idea for five minutes is not the same thing as working years to actualize it.\n<\/p><\/blockquote>\n<blockquote><p>\nNot every cloud computing initiative has a silver lining.\n<\/p><\/blockquote>\n<blockquote><p>\nBig O notation is used to describe computational complexity, I use Big H notation to describe the level of a hack.  H(n!) describes a MacGyver level hack. Similarly there is a Big F notation for level of FAIL.\n<\/p><\/blockquote>\n<blockquote><p>\nIn programming there is force of nature or grace of God, just hacks of probability and redundancy.\n<\/p><\/blockquote>\n<blockquote><p>\nSaying that it will be fixed in the a future release does not fix the problem.\n<\/p><\/blockquote>\n<blockquote><p>\nWhen hiring, I&#8217;ll take someone that wants to do it over someone that has done it once and is willing to do it again until something better comes along.  That is the difference between passion and bandwagon, career man and salary man, patriot and mercenary, love and prostitution.\n<\/p><\/blockquote>\n<blockquote><p>\nIf all things are equal and fully qualify, hire those that want to be there, contract those that just need to be somewhere.\n<\/p><\/blockquote>\n<blockquote><p>\nIt doesn&#8217;t matter how smart you are, or how smart I think I am.  Regression testing will prove us wrong.\n<\/p><\/blockquote>\n<blockquote><p>\nI have heard that some teams follow the Software Development Life Cycle.  But I have seen teams follow the Software Development Death March.\n<\/p><\/blockquote>\n<blockquote><p>\nRecruit.  Retain.  Retrain.\n<\/p><\/blockquote>\n<blockquote><p>\nSome entrepreneurs idea of a business model is how much they can charge their customers not what they can do for them.\n<\/p><\/blockquote>\n<blockquote><p>\nSome entrepreneurs are looking for a sexy business model, I&#8217;ll stick to my hard working homely business model.\n<\/p><\/blockquote>\n<blockquote><p>\nService provider: Good, Fast, Cheap.  Pick two.  Employee: passionate, knowledgeable, productive.  Pick one.\n<\/p><\/blockquote>\n<blockquote><p>\nWhen people are too busy to learn, they are not being productive.\n<\/p><\/blockquote>\n<blockquote><p>\nWhich is best, an extraordinary idea executed ordinary and ordinary idea executed extraordinary?\n<\/p><\/blockquote>\n<blockquote><p>\nLearn to manage your manager.\n<\/p><\/blockquote>\n<blockquote><p>\nYou could only be excellent, you can&#8217;t be half excellent\n<\/p><\/blockquote>\n<blockquote><p>\nYou can only stand in front of a client only if you know what you say you know.\n<\/p><\/blockquote>\n<blockquote><p>\nYou can&#8217;t charge for testing, but it saves you time and money, it is an investment in quality and sanity.\n<\/p><\/blockquote>\n<blockquote><p>\nThe problem with frameworks is that you most often have a very narrow frame to work with.\n<\/p><\/blockquote>\n<blockquote><p>\nManagement has a way of over emphasizing the blatantly obvious.\n<\/p><\/blockquote>\n<p><span class=\"frame-outer  \"><span><span><span><span><img src='http:\/\/www.juixe.com\/techknow\/wp-content\/uploads\/2008\/09\/anonymous-wordle.png' alt='Anonymous Code Monkey Wordle' \/><\/span><\/span><\/span><\/span><\/span><\/p>\n<p>Technorati Tags: <a href=\"http:\/\/technorati.com\/tag\/juixe\" rel=\"tag\">juixe<\/a>, <a href=\"http:\/\/technorati.com\/tag\/techknow\" rel=\"tag\"> techknow<\/a>, <a href=\"http:\/\/technorati.com\/tag\/quotes\" rel=\"tag\"> quotes<\/a>, <a href=\"http:\/\/technorati.com\/tag\/software\" rel=\"tag\"> software<\/a>, <a href=\"http:\/\/technorati.com\/tag\/development\" rel=\"tag\"> development<\/a>, <a href=\"http:\/\/technorati.com\/tag\/softdev\" rel=\"tag\"> softdev<\/a>, <a href=\"http:\/\/technorati.com\/tag\/open+source\" rel=\"tag\"> open source<\/a>, <a href=\"http:\/\/technorati.com\/tag\/os\" rel=\"tag\"> os<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is a pile of quotes and anti-anecdotes relating to software development and programming in general. The quotes where compiled by digging through the mining the rants from Juixe TechKnow. The collection of programming quotes is available as a PDF document and can be found on scribd. Your code does not start at the compiler [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[19,21,3],"tags":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p902K-6p","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/397"}],"collection":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/comments?post=397"}],"version-history":[{"count":1,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/397\/revisions"}],"predecessor-version":[{"id":1526,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/397\/revisions\/1526"}],"wp:attachment":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/media?parent=397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/categories?post=397"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/tags?post=397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}