{"id":44,"date":"2004-07-20T13:28:39","date_gmt":"2004-07-20T17:28:39","guid":{"rendered":"http:\/\/www.jrtwine.com\/blog\/?p=44"},"modified":"2008-03-31T20:22:18","modified_gmt":"2008-04-01T00:22:18","slug":"to-design-or-not-to-design","status":"publish","type":"post","link":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/","title":{"rendered":"To Design or Not To Design?"},"content":{"rendered":"<p>One of the things I have noticed is that the ideals of design are often misused or misapplied.\u00a0 More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience.<\/p>\n<p>Nothing is worse than a recent CS graduate with a masters degree that has less than\u00a02 years real-world experience creating a 23-page <em>detailed design<\/em> document for something as simple as a word-counting application.<\/p>\n<p>Schools may teach software design, but they may fail to teach when it is best to forgo the design and start coding, letting let the design evolve naturally from the code, and not the other way around.<\/p>\n<p>When designing first, inexperienced developers are more likely to over-engineer a solution.\u00a0 They may see entire objects with rich hierarchies where a simple basic-type variable would work fine.\u00a0 Only with experience does one realize to spot the situations where spending too much time on design is detrimental to a software project.<\/p>\n<p>When I was younger, I learned: <em>Think First, Code Later<\/em>.\u00a0 However, wisdom is what caused me to realize that <em>thinking<\/em> before coding is not necessarily the same as <em>designing<\/em> before coding.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the things I have noticed is that the ideals of design are often misused or misapplied.\u00a0 More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than\u00a02 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-44","post","type-post","status-publish","format-standard","hentry","category-developing"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"James R. Twine\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"James R Twine Blog -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"To Design or Not To Design? - James R Twine Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2004-07-20T17:28:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2008-04-01T00:22:18+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"To Design or Not To Design? - James R Twine Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#blogposting\",\"name\":\"To Design or Not To Design? - James R Twine Blog\",\"headline\":\"To Design or Not To Design?\",\"author\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#organization\"},\"datePublished\":\"2004-07-20T13:28:39+00:00\",\"dateModified\":\"2008-03-31T20:22:18+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#webpage\"},\"articleSection\":\"Developing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/#listItem\",\"name\":\"Developing\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/#listItem\",\"position\":2,\"name\":\"Developing\",\"item\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#listItem\",\"name\":\"To Design or Not To Design?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#listItem\",\"position\":3,\"name\":\"To Design or Not To Design?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/category\\\/developing\\\/#listItem\",\"name\":\"Developing\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#organization\",\"name\":\"James R Twine Blog\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/\",\"name\":\"James R. Twine\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/77d36362e353ec1c88adc48b48055faee96497898a208d3a6a05897d4902e552?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"James R. Twine\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/\",\"name\":\"To Design or Not To Design? - James R Twine Blog\",\"description\":\"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/to-design-or-not-to-design\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/author\\\/jtwine\\\/#author\"},\"datePublished\":\"2004-07-20T13:28:39+00:00\",\"dateModified\":\"2008-03-31T20:22:18+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/\",\"name\":\"James R Twine Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/jrtwine.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"To Design or Not To Design? - James R Twine Blog","description":"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2","canonical_url":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#blogposting","name":"To Design or Not To Design? - James R Twine Blog","headline":"To Design or Not To Design?","author":{"@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author"},"publisher":{"@id":"https:\/\/jrtwine.com\/blog\/#organization"},"datePublished":"2004-07-20T13:28:39+00:00","dateModified":"2008-03-31T20:22:18+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#webpage"},"articleSection":"Developing"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/jrtwine.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/category\/developing\/#listItem","name":"Developing"}},{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/category\/developing\/#listItem","position":2,"name":"Developing","item":"https:\/\/jrtwine.com\/blog\/category\/developing\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#listItem","name":"To Design or Not To Design?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#listItem","position":3,"name":"To Design or Not To Design?","previousItem":{"@type":"ListItem","@id":"https:\/\/jrtwine.com\/blog\/category\/developing\/#listItem","name":"Developing"}}]},{"@type":"Organization","@id":"https:\/\/jrtwine.com\/blog\/#organization","name":"James R Twine Blog","url":"https:\/\/jrtwine.com\/blog\/"},{"@type":"Person","@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author","url":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/","name":"James R. Twine","image":{"@type":"ImageObject","@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/77d36362e353ec1c88adc48b48055faee96497898a208d3a6a05897d4902e552?s=96&d=mm&r=g","width":96,"height":96,"caption":"James R. Twine"}},{"@type":"WebPage","@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#webpage","url":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/","name":"To Design or Not To Design? - James R Twine Blog","description":"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/jrtwine.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/#breadcrumblist"},"author":{"@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author"},"creator":{"@id":"https:\/\/jrtwine.com\/blog\/author\/jtwine\/#author"},"datePublished":"2004-07-20T13:28:39+00:00","dateModified":"2008-03-31T20:22:18+00:00"},{"@type":"WebSite","@id":"https:\/\/jrtwine.com\/blog\/#website","url":"https:\/\/jrtwine.com\/blog\/","name":"James R Twine Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/jrtwine.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"James R Twine Blog -","og:type":"article","og:title":"To Design or Not To Design? - James R Twine Blog","og:description":"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2","og:url":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/","article:published_time":"2004-07-20T17:28:39+00:00","article:modified_time":"2008-04-01T00:22:18+00:00","twitter:card":"summary_large_image","twitter:title":"To Design or Not To Design? - James R Twine Blog","twitter:description":"One of the things I have noticed is that the ideals of design are often misused or misapplied. More often than not (in my experience), this happens more often with developers that have more academic experience than real-world experience. Nothing is worse than a recent CS graduate with a masters degree that has less than 2"},"aioseo_meta_data":{"post_id":"44","title":null,"description":null,"keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-17 06:48:54","updated":"2026-09-17 06:48:54"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtwine.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtwine.com\/blog\/category\/developing\/\" title=\"Developing\">Developing<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tTo Design or Not To Design?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jrtwine.com\/blog\/"},{"label":"Developing","link":"https:\/\/jrtwine.com\/blog\/category\/developing\/"},{"label":"To Design or Not To Design?","link":"https:\/\/jrtwine.com\/blog\/to-design-or-not-to-design\/"}],"_links":{"self":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/posts\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":0,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/posts\/44\/revisions"}],"wp:attachment":[{"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/media?parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/categories?post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtwine.com\/blog\/wp-json\/wp\/v2\/tags?post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}