{"id":23864,"date":"2017-06-19T10:00:39","date_gmt":"2017-06-19T14:00:39","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=23864"},"modified":"2017-10-28T18:46:11","modified_gmt":"2017-10-28T22:46:11","slug":"generalists-specialists","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/generalists-specialists\/","title":{"rendered":"Should Software Developers Be Generalists or Specialists?"},"content":{"rendered":"<p>I don\u2019t even need an outline to write this chapter.\\n\\n<strong>Of all the topics I talk about, this is perhaps one of the most exhausted; continually asked about, questioned, and evaluated.<\/strong>\\n\\nI\u2019ve talked about this topic so much that <a href=\"https:\/\/simpleprogrammer.com\/cg51-niching\">I dedicated an entire YouTube playlist to all the videos I\u2019ve done on the topic<\/a>, and that list is continually growing.\\n\\nWhat am I talking about?\\n\\nThe age-old debate of whether or not you should become a specialist or a generalist.\\n\\nShould you become a \u201cjack-of-all-trades\u201d and a \u201cfull-stack developer,\u201d or should you specialize in one or two areas of software development and \u201cgo deep?\u201d\\n\\nWell, it turns out this is sort of a false dichotomy.\\n\\n<strong>The real answer is both.<\/strong>\\n\\nLet\u2019s find out why.\\n\\n<\/p>\n<h2>The Power Of Specialization<\/h2>\n<p>\\n\\nBefore we get into the debate, I want to start off by showing you <strong>just how important and beneficial specialization is.<\/strong>\\n\\nLet\u2019s suppose that you were on trial for a murder.\\n\\nYes, a murder.\\n\\nYou didn\u2019t do it\u2014I know you didn\u2019t\u2014but you still need to prove your innocence.\\n\\nWhat do you do?\\n\\nDo you hire a lawyer who is good at tax law, divorce law, real estate law and criminal law?\\n\\nOr, do you hire a lawyer who specializes in criminal law, specifically defending people who are convicted of murder?\\n\\n<strong>I don\u2019t know about you, but if the rest of my life is on the line, I\u2019m going to choose the specialist every time.<\/strong>\\n\\nMany people say they want or value a generalist, and they think they do, but when it comes down to it, they pick a specialist every time.\\n\\nI\u2019ll give you another example.\\n\\nI wanted to get some crown molding done throughout my house, because I am pimp like that.\\n\\nAnyway, I was looking for carpenters or contractors to do the crown molding when I came across this one company who specialized in crown molding. In fact, the name of their company was Kings of Crown.\\n\\nAll they did was install crown molding.\\n\\nThat is all they did.\\n\\nWho do you think I chose?\\n\\n<strong>Did I want to take a chance on a carpenter or contractor who did some crown molding, or did I want to call the crown molding \u201cexperts\u201d and get the sure thing?<\/strong>\\n\\nThat\u2019s not to say there isn\u2019t any value in having a broad base of knowledge, or being a generalist to some degree (there are times when I\u2019m looking for a general handyman), but it is extremely valuable to be a specialist of some kind\u2014or at least to market yourself that way.\\n\\nThink about it this way.\\n\\nDo you think that fictional murder trial lawyer knows about other areas of law other than murder trials?\\n\\nOf course he does.\\n\\nHe might actually be pretty good in multiple areas of law and have knowledge in several fields.\\n\\nBut <strong>he advertises himself as a murder lawyer, because he understands the power of specialization.<\/strong>\\n\\nThe same for those crown molding guys.\\n\\nDon\u2019t you think they could probably handle other carpentry jobs?\\n\\nOf course they could, but they choose to specialize because it\u2019s much more profitable to do so.\\n\\n<a href=\"https:\/\/simpleprogrammer.com\/cg51-built\">(By the way, even businesses themselves greatly benefit from specialization.)<\/a>\\n\\n<\/p>\n<h2>In Order To Specialize, You Have To Have A Broad Base<\/h2>\n<p>\\n\\n\\n\\nOne thing that many software developers don\u2019t understand is that <strong>just about all specialists are also generalists, but no generalists are specialists.<\/strong>\\n\\nWhat do I mean by this?\\n\\nI mean that, usually, in order to acquire the skills of a specialist, a great deal of general knowledge is required and accumulated along the way.\\n\\n<strong>It\u2019s very difficult to be a good specialist without also building a broad base of general knowledge about your field.<\/strong>\\n\\nMy brother-in-law is studying to become an oral surgeon.\\n\\nIn order for him to do that, he had to first go through dental school and become a dentist.\\n\\nNow, he\u2019s not going to be doing general dentistry very often, but to him, filling a cavity or doing some general dentistry work is cake.\\n\\nHe\u2019s probably better than most generalist dentists, simply because he had to learn all that and more in order to become an oral surgeon.\\n\\n<strong>That doesn\u2019t mean that every specialist is a good generalist<\/strong>, or that they keep their skills up to date, but in general (ha ha) you\u2019ll find most specialists generally do. (How do you like that sentence?)\\n\\nThis is all to say that specializing does not preclude you from being a generalist also, it just gives you more options and makes you more valuable.\\n\\n<\/p>\n<h2>It\u2019s All About The T-shaped Knowledge<\/h2>\n<p>\\n\\n<strong>What you really want to strive for is what is known as T-shaped knowledge.<\/strong>\\n\\nIt means that you have a broad base of knowledge in your field, and then you <strong>have at least one area of deep, specialized knowledge or skill.<\/strong>\\n\\nAs a software developer, you should strive to be well-versed in best practices, algorithms, data structures, different architectures, front-end, back-end, databases, etc.\\n\\n(Basically, everything we covered in the section of this book titled \u201cWhat You Need to Know About Software Development.\u201d)\\n\\nBut, <strong>you should also pick at least one area where you are going to go deep.<\/strong>\\n\\nYou need to pick some specialization that will set you apart from the masses and greatly increase your value.\\n\\nWhen you build up your personal brand and <a href=\"https:\/\/simpleprogrammer.com\/cg51-marketyourself\">market yourself<\/a>, you are going to use this specialization to do it.\\n\\nIf you want to make waves, you need a small enough pond.\\n\\nIn the HUGE pond of software development, being a generalist will make it more difficult to even make ripples, at least at first.\\n\\nSo, yes, work on being a well-rounded software developer.\\n\\nDevelop a broad base of knowledge and grow that base, little by little, year after year.\\n\\nBut also pick some specialization that you will dive into and become a master at.\\n\\nEventually, you can even have a \u201ccomb-shaped knowledge,\u201d where you have multiple deep specialities, <a href=\"https:\/\/simpleprogrammer.com\/cg51-elon\">like Elon Musk.<\/a>\\n\\nBut start with one.\\n\\n<\/p>\n<h2>But Everyone Says They Are Looking For Generalists<\/h2>\n<p>\\n\\nI know, I know, every job description says that they are looking for good software developers who can wear many hats or work with the \u201cfull stack\u201d or can be a jack-of-all-trades.\\n\\nThey want you to possess every skill under the sun.\\n\\nIt\u2019s all a lie, I tell you.\\n\\nA big fat lie.\\n\\n<strong>I guarantee you, if you have the exact skills that are required for a job, if you are an expert in the framework or technology that company is using, they are going to be much more likely to hire you than a generalist.<\/strong>\\n\\nWhat companies are really saying when they say they want someone who is a generalist, is that <strong>they want someone who is adaptable and can learn quickly.<\/strong>\\n\\nThe fear is that they\u2019ll hire someone who can only do one thing, so they try to safeguard against that by making the job description state that experience with their framework or technology stack is not necessary, even though that\u2019s not completely true.\\n\\nDon\u2019t get me wrong, it\u2019s not an intentional lie.\\n\\nI do believe hiring managers honestly <em>think<\/em> they want generalists, but like I said, <strong>what they really want is someone who is versatile and flexible.<\/strong>\\n\\nYou can still be that and be a specialist.\\n\\nAnd like I said before, your best bet is to sort of be both.\\n\\nGet that T-shaped knowledge so that you do have a broad base, but go deep in one area so that you can be the expert in the exact technology or skillset that matches the job you apply for.\\n\\n<\/p>\n<h2>You Can\u2019t Even Be A Generalist Today<\/h2>\n<p>\\n\\nIt\u2019s not really possible.\\n\\nThe field of software development and technology is so large, and changing so rapidly, that you can\u2019t know it all.\\n\\nYes, you can have a broad base of knowledge.\\n\\nYes, you can understand fundamental principles.\\n\\nBut, no, <strong>you just can\u2019t understand enough about everything that exists out there to really call yourself a generalist anymore.<\/strong>\\n\\nEven if you are a \u201cfull stack\u201d developer, you are going to have to pick a stack or two. You can\u2019t know them all and be effective by any real measure.\\n\\nIt\u2019s not just computer science and programming where this phenomenon is occurring either.\\n\\nEvery major profession is moving towards more and more value on specialization.\\n\\nConsider how large medicine is today.\\n\\nGeneralist doctors have trouble diagnosing underlying illnesses and problems because there are just too many possibilities.\\n\\nAccountants, lawyers, financial analysts and just about every kind of engineer have to specialize to be effective, because knowledge domains are growing to such large extents.\\n\\n<\/p>\n<h2>But What If I Specialize In The Wrong Thing?<\/h2>\n<p>\\n\\nThen specialize in something else.\\n\\nIt\u2019s not that big of a deal.\\n\\nOne of my good friends, <a href=\"https:\/\/simpleprogrammer.com\/cg51-johnpapa\">John Papa<\/a>, specialized in a Microsoft technology called Silverlight.\\n\\nAnd then Silverlight was axed by Microsoft and it\u2019s now as dead as a doorknob.\\n\\nBut did John throw his hands up in the air, give up and decide to live in his car?\\n\\nNo. Because he was already a specialist, he had built up a reputation and a following.\\n\\n<strong>He just shifted and pivoted to another specialty that was closely related.<\/strong>\\n\\nNow John is a specialist at developer SPA (Single Page Applications), and he\u2019s doing even better than he was before.\\n\\nFar too many software developers I talk to are so <a href=\"https:\/\/simpleprogrammer.com\/cg51-unsure\">afraid of picking the wrong thing to specialize in<\/a> that they don\u2019t specialize in anything.\\n\\nThey remain stagnant in their careers for years, paralyzed by fear, always considering the \u201cwhat ifs.\u201d\\n\\nDon\u2019t do that; <strong>just pick something and go with it.<\/strong>\\n\\nIt\u2019s a much better choice than doing nothing, and you can always change course and switch directions later on if you need to.\\n\\nPlus, you\u2019ll find that once you learn how to go deep into one specialization, the next one is much easier.\\n\\nMany skills that don\u2019t seem transferable, are, and developing the ability to \u201cgo deep\u201d is valuable in itself.\\n\\n<\/p>\n<h2>So, What Should You Do?<\/h2>\n<p>\\n\\nRegardless of where you are in your career, <strong>pick some kind of specialization to pursue.<\/strong>\\n\\nDon\u2019t worry if it\u2019s not the \u201cright\u201d or final one.\\n\\nStart with one, <strong>build your personal brand around it<\/strong>, and decide to go deep.\\n\\n<\/p>\n<blockquote><p>|Hey John| Should I choose a speciality based on my interests or on what I&#8217;m doing for my current employer?\\n\\nThis is a tough one.\\n\\nSome things to consider:\\n\\nIf you specialize in something other than what you are currently working on in your day-to-day job, it\u2019s going to be very difficult to get the time to build the expertise you need and to find the depth required to really specialize.\\n\\nIt\u2019s certainly possible. I know some people who are doing it. I\u2019ve done it myself in the past, but just realize it\u2019s going to be a somewhat difficult path.\\n\\nHowever, it is a good way to switch into something new, possibly something you really want to do.\\n\\nIf you can find something to specialize in that you currently are working on at your day-to-day job or that you can incorporate into it, you are going to get a double benefit from that specialization.\\n\\nIf you don\u2019t have any strong feelings either way, I\u2019d go this route.\\n\\nFinally, you might be best off switching jobs into what you want to specialize in so that you can work on it all day.\\n\\nPerhaps start off learning your desired specialization and building a reputation around it in the mornings before work and\/or in the evenings, and when you have enough traction, jump to a new job that will use that speciality.<\/p><\/blockquote>\n<p>\\n\\n<strong>Err on the side of picking something too small and specific <\/strong>rather than too broad.\\n\\nDon\u2019t be a C# developer: be a C# developer specializing in a specific C# framework, or technology or even technology stack.\\n\\nTry to go as small and detailed as you can. You can always branch out and expand later.\\n\\nMy friend Adrian Rosebrock is a very successful software developer and entrepreneur who <a href=\"https:\/\/simpleprogrammer.com\/cg51-adrian\">specializes in a specific Python library for computer vision.<\/a>\\n\\nYou wouldn\u2019t believe how successful he has been with this particular niche, even though it\u2019s extremely small and focused.\\n\\nAt the same time, <strong>work on building up your general knowledge of software development\u2014<\/strong>your broad base.\\n\\nLearn how to write good code.\\n\\nLearn about the underlying principles and technologies that may manifest themselves in many ways, but really are never changing at the core.\\n\\nYou either want to learn things that are deeply focused and directly in your specialty, or broad enough to be widely applicable and somewhat timeless.\\n\\nDon\u2019t try and learn a bunch of different programming languages and frameworks that you will likely never use.\\n\\nFollowing this approach, you\u2019ll set yourself apart and set yourself up for success.\\n\\n<\/p>\n<hr \/>\n<p>\\n\\n<a href=\"https:\/\/simpleprogrammer.com\/products\/careerguide\/\"><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Site-Ad.png\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don\u2019t even need an outline to write this chapter.\\n\\nOf all the topics I talk about, this is perhaps one of the most exhausted; continually asked about, questioned, and evaluated.\\n\\nI\u2019ve talked about this topic so much that I dedicated an entire YouTube playlist to all the videos I\u2019ve done on the topic, and that list&#8230;<\/p>\n","protected":false},"author":2,"featured_media":23871,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[162229812,14560,183,31679,162229803,162229840],"tags":[],"class_list":["post-23864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-advice","category-career","category-entrepreneurship","category-process-improvement","category-programming","category-skills"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Should Software Developers Be Generalists or Specialists? - Simple Programmer<\/title>\n<meta name=\"description\" content=\"When companies say they want a generalist, they really want someone who is adaptable and can learn quickly. They want specialists.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/simpleprogrammer.com\/generalists-specialists\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Should Software Developers Be Generalists or Specialists? - Simple Programmer\" \/>\n<meta property=\"og:description\" content=\"When companies say they want a generalist, they really want someone who is adaptable and can learn quickly. They want specialists.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/generalists-specialists\/\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-19T14:00:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-10-28T22:46:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"John Sonmez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Sonmez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"Should Software Developers Be Generalists or Specialists?\",\"datePublished\":\"2017-06-19T14:00:39+00:00\",\"dateModified\":\"2017-10-28T22:46:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/\"},\"wordCount\":2333,\"commentCount\":4,\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png\",\"articleSection\":[\"Advice\",\"Career\",\"Entrepreneurship\",\"Process Improvement\",\"Programming\",\"Skills\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/\",\"name\":\"Should Software Developers Be Generalists or Specialists? - Simple Programmer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png\",\"datePublished\":\"2017-06-19T14:00:39+00:00\",\"dateModified\":\"2017-10-28T22:46:11+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"description\":\"When companies say they want a generalist, they really want someone who is adaptable and can learn quickly. They want specialists.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#primaryimage\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png\",\"contentUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/generalists-specialists\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Should Software Developers Be Generalists or Specialists?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/\",\"name\":\"Simple Programmer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/simpleprogrammer.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\",\"name\":\"John Sonmez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"caption\":\"John Sonmez\"},\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/author\\\/jsonmez\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Should Software Developers Be Generalists or Specialists? - Simple Programmer","description":"When companies say they want a generalist, they really want someone who is adaptable and can learn quickly. They want specialists.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/simpleprogrammer.com\/generalists-specialists\/","og_locale":"en_US","og_type":"article","og_title":"Should Software Developers Be Generalists or Specialists? - Simple Programmer","og_description":"When companies say they want a generalist, they really want someone who is adaptable and can learn quickly. They want specialists.","og_url":"https:\/\/simpleprogrammer.com\/generalists-specialists\/","og_site_name":"Simple Programmer","article_published_time":"2017-06-19T14:00:39+00:00","article_modified_time":"2017-10-28T22:46:11+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png","type":"image\/png"}],"author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"Should Software Developers Be Generalists or Specialists?","datePublished":"2017-06-19T14:00:39+00:00","dateModified":"2017-10-28T22:46:11+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/"},"wordCount":2333,"commentCount":4,"image":{"@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png","articleSection":["Advice","Career","Entrepreneurship","Process Improvement","Programming","Skills"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/generalists-specialists\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/","url":"https:\/\/simpleprogrammer.com\/generalists-specialists\/","name":"Should Software Developers Be Generalists or Specialists? - Simple Programmer","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#primaryimage"},"image":{"@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png","datePublished":"2017-06-19T14:00:39+00:00","dateModified":"2017-10-28T22:46:11+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"description":"When companies say they want a generalist, they really want someone who is adaptable and can learn quickly. They want specialists.","breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/generalists-specialists\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#primaryimage","url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png","contentUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2017\/06\/Should-Software-Developers-Be-Generalists-or-Specialists-1.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/generalists-specialists\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"Should Software Developers Be Generalists or Specialists?"}]},{"@type":"WebSite","@id":"https:\/\/simpleprogrammer.com\/#website","url":"https:\/\/simpleprogrammer.com\/","name":"Simple Programmer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/simpleprogrammer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67","name":"John Sonmez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","caption":"John Sonmez"},"url":"https:\/\/simpleprogrammer.com\/author\/jsonmez\/"}]}},"_links":{"self":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/23864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/comments?post=23864"}],"version-history":[{"count":0,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/23864\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media\/23871"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=23864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=23864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=23864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}