{"id":1257,"date":"2017-02-18T14:46:46","date_gmt":"2017-02-18T19:46:46","guid":{"rendered":"http:\/\/www.craigperler.com\/blog\/?p=1257"},"modified":"2024-06-06T23:25:25","modified_gmt":"2024-06-07T03:25:25","slug":"do-ninja-coders-write-in-invisible-ink","status":"publish","type":"post","link":"https:\/\/www.craigperler.com\/blog\/2017\/02\/18\/do-ninja-coders-write-in-invisible-ink\/","title":{"rendered":"What is The Product Development Process?"},"content":{"rendered":"\n<h2 id=\"or-do-ninja-coders-write-in-invisible-ink\" class=\"wp-block-heading\">Or: do Ninja Coders Write in Invisible Ink?<\/h2>\n\n\n\n<p>The following is a copy of a post I authored about the product development process for Scouted &#8211; see the original over at the <a href=\"https:\/\/scouted.io\/blog\/companies\/product-development-process\/\">Scouted blog<\/a>.<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p><i><\/i><span style=\"font-weight: 400;\">Calling all talented technologists! &nbsp;All dabblers of data! &nbsp;All muddlers of math! &nbsp;Can you <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Currying\"><span style=\"font-weight: 400;\">curry<\/span><\/a> <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lambda_calculus\"><span style=\"font-weight: 400;\">lambda calculus<\/span><\/a><span style=\"font-weight: 400;\"> problems with ease? &nbsp;Could you <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/A*_search_algorithm\"><span style=\"font-weight: 400;\">A*<\/span><\/a><span style=\"font-weight: 400;\"> your way out of a friggin\u2019 <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Maze_solving_algorithm\"><span style=\"font-weight: 400;\">maze<\/span><\/a><span style=\"font-weight: 400;\">!? &nbsp;Do you <\/span><a href=\"https:\/\/www.youtube.com\/watch?v=DBXZWB_dNsw\"><span style=\"font-weight: 400;\">dream in oh-so-glorious-code<\/span><\/a><span style=\"font-weight: 400;\">!!? &nbsp;If so, we want you, oh prophetic rockstar programmer ninja warrior!<\/span><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-2-300x300-1.png?resize=300%2C300&#038;ssl=1\" alt=\"\" class=\"wp-image-1538\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-2-300x300-1.png?w=300&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-2-300x300-1.png?resize=80%2C80&amp;ssl=1 80w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-2-300x300-1.png?resize=120%2C120&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-2-300x300-1.png?resize=90%2C90&amp;ssl=1 90w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n<\/div>\n\n\n<p><span style=\"font-weight: 400;\">When it comes to jobs that deal with software, there are big inconsistencies with titles. &nbsp;A dentist is a dentist, but for tech-folks, there are programmers, coders, developers, engineers, hackers, and indeed, <\/span><a href=\"http:\/\/lmgtfy.com\/?q=rockstar+ninja+engineer+jobs+site%3Amonster.com\"><span style=\"font-weight: 400;\">rockstars, ninjas, jedis, and warriors<\/span><\/a><span style=\"font-weight: 400;\">. &nbsp;<\/span><\/p>\n\n\n\n<h2 id=\"build-stuff-in-code\" class=\"wp-block-heading\">Build Stuff in Code<\/h2>\n\n\n\n<p><span style=\"font-weight: 400;\">Different companies may each have their own interpretation of \u201csoftware developer.\u201d All of these labels, however, boil to the same primary functional responsibility: <\/span><a href=\"http:\/\/www.daedtech.com\/our-job-titles-developer-programmer-or-software-engineer\/\"><span style=\"font-weight: 400;\">build stuff in code<\/span><\/a><span style=\"font-weight: 400;\">, turn 0s into 1s, and, basically, get stuff done.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">That said, \u201cbuild stuff in code\u201d is a broad charge. &nbsp;There is a spectrum of effort in building stuff and no shortage of ways to work in code. &nbsp;Many argue there\u2019s a taxonomy across some of these titles: programmers and coders focus on writing code whereas developers and engineers focus on thinking about code; a rockstar is passionate and creative while a ninja is disciplined and efficient. &nbsp;(Note that many prominent voices in software advise companies to <\/span><a href=\"http:\/\/endeavor.org\/network\/startups-stop-trying-to-hire-ninja-rockstar-engineers\/\"><span style=\"font-weight: 400;\">stop<\/span><\/a> <a href=\"http:\/\/www.hanselman.com\/blog\/TheMythOfTheRockstarProgrammer.aspx\"><span style=\"font-weight: 400;\">looking<\/span><\/a> <a href=\"http:\/\/blog.hirelite.com\/what-developers-think-when-you-say-rock-star\"><span style=\"font-weight: 400;\">for<\/span><\/a> <a href=\"http:\/\/www.marcensign.com\/stop-calling-yourself-a-guru-jedi-rock-star-and-ninja-unless-you-are-a-guru-jedi-rock-star-or-ninja\/\"><span style=\"font-weight: 400;\">rockstar<\/span><\/a> <a href=\"https:\/\/www.aptozen.com\/blog\/why-no-one-tech-wants-be-rockstar-or-ninja-anymore\"><span style=\"font-weight: 400;\">coders<\/span><\/a><span style=\"font-weight: 400;\">.) &nbsp;Of course, these opinions don\u2019t impact how <\/span><i><span style=\"font-weight: 400;\">&lt;insert your favorite company here&gt;<\/span><\/i><span style=\"font-weight: 400;\"> labels its engineering opportunities. &nbsp;There are no standard definitions.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Compounding the confusion is the fact that building software is (or can be) so much more than just putting pen to paper, so to speak. &nbsp;The product development process is sliceable in many ways, and each of those slicings has its own unique set of responsibilities, and, of course, job titles. &nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">So whether you\u2019re a Computer Science student who\u2019s trying to decipher what the heck is going on, or just an onlooker who wants to understand the tech talent world a bit better, let\u2019s break it down.<\/span><\/p>\n\n\n\n<h2 id=\"overview-the-product-development-process\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Overview: The Product Development Process<\/span><\/h2>\n\n\n\n<p><span style=\"font-weight: 400;\">The development process encompasses these steps:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Ideation &#8211; understand the product and come up with ways to improve it.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Specification &#8211; gather and document requirements.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Design &#8211; deliver mockups of proposed changes or elements thereof.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Architecture &#8211; plan out how code will be used to build stuff.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Implementation &#8211; convert documented plans into executable code.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Testing &#8211; provide quality assurance for engineered solutions.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Delivery &#8211; facilitate releasing software solutions to the business or clients.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Support &amp; Maintain &#8211; help resolve production issues.<\/span><\/li><\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?resize=1024%2C481&#038;ssl=1\" alt=\"\" class=\"wp-image-1539\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?resize=800%2C376&amp;ssl=1 800w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?resize=120%2C56&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?resize=90%2C42&amp;ssl=1 90w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?resize=320%2C150&amp;ssl=1 320w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-1024x481-1.png?resize=560%2C263&amp;ssl=1 560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p><span style=\"font-weight: 400;\">Hopefully, this can help you to focus your job search in the right place!<\/span><\/p>\n\n\n\n<p><i><span style=\"font-weight: 400;\">(A caveat for those truculent techno-feelie technophiles reading this: for each example that follows, we know there are a variety of counter-examples, substitutions, and exceptions that can be made &#8211; this is just a general overview of a sampling of roles with brief notions as to what they involve.)<\/span><\/i><\/p>\n\n\n\n<h3 id=\"ideate\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Ideate<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">The leader of this process is generally the much-coveted Product Manager. The <\/span><span style=\"font-weight: 400;\">Product Manager<\/span><span style=\"font-weight: 400;\"> (PM) is the chief evangelist for a product. &nbsp;In the poetic words of <\/span><a href=\"http:\/\/blog.davidstanke.com\/\"><span style=\"font-weight: 400;\">Dave Stanke<\/span><\/a><span style=\"font-weight: 400;\">, a PM at Google, product management is the \u201cfacilitation of forward movement, through inspiration and influence.\u201d &nbsp;<\/span><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"540\" height=\"428\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/Screen-Shot-2017-01-26-at-10.01.16-AM.png?resize=540%2C428&#038;ssl=1\" alt=\"\" class=\"wp-image-1540\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/Screen-Shot-2017-01-26-at-10.01.16-AM.png?w=540&amp;ssl=1 540w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/Screen-Shot-2017-01-26-at-10.01.16-AM.png?resize=120%2C95&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/Screen-Shot-2017-01-26-at-10.01.16-AM.png?resize=90%2C71&amp;ssl=1 90w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/Screen-Shot-2017-01-26-at-10.01.16-AM.png?resize=320%2C254&amp;ssl=1 320w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/figure>\n<\/div>\n\n\n<p><span style=\"font-weight: 400;\">This is a job that wears many hats. &nbsp;A PM advocates for stakeholders, helps turn ideas into a roadmap, ensures deliverables are of high quality, and supports everyone and everything by staying happy and optimistic all throughout. &nbsp;Some PMs might do a bit more design work, with detailed interactive mockups; some PMs might actually build tests by writing executable stories such as via a framework like <\/span><a href=\"https:\/\/cucumber.io\/\"><span style=\"font-weight: 400;\">Cucumber<\/span><\/a><span style=\"font-weight: 400;\">; and some PMs are quite technical, and would jump into the code&#8230; if only the rest of the team would let them.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Some other titles associated with Ideation and Specification: Business Analyst, Systems Analyst, Change Manager, Program\/Project Manager, Sales Engineer.<\/span><\/p>\n\n\n\n<h3 id=\"design\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Design<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">In a small enough shop, the PM also serves as a User Experience (UX) Designer, someone who focuses on improving the quality of interactions between users and the product. &nbsp;Within larger firms, a PM does more strategizing across stakeholders while the UX Designer is more of a Cognitive Science role, driving how the product is used, incorporating elements of marketing and graphic design. &nbsp;In the smallest of shops, everyone\u2019s a PM!<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">UX Design is not the same thing as either <\/span><span style=\"font-weight: 400;\">User Interface (UI) Design<\/span><span style=\"font-weight: 400;\"> or <\/span><span style=\"font-weight: 400;\">Graphic Design<\/span><span style=\"font-weight: 400;\">, both of which are more art-focused with proficiencies in things like Adobe Creative Suite and styling web pages (<\/span><a href=\"http:\/\/www.csszengarden.com\/\"><span style=\"font-weight: 400;\">which may be in code<\/span><\/a><span style=\"font-weight: 400;\">). &nbsp;Ken Norton, a Partner at Google Ventures and an Ex-PM at Google, <\/span><a href=\"https:\/\/www.usertesting.com\/blog\/2016\/04\/27\/ui-vs-ux\/\"><span style=\"font-weight: 400;\">notes that<\/span><\/a><span style=\"font-weight: 400;\">, \u201cUX is focused on the user\u2019s journey to solve a problem, UI is focused on how a product\u2019s surfaces look and function.\u201d &nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Some other titles associated with Design: Business Analyst, Web Designer, Accessibility Specialist, Interaction Designer<\/span><\/p>\n\n\n\n<h3 id=\"architect\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Architect<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">An <\/span><span style=\"font-weight: 400;\">Architect<\/span><span style=\"font-weight: 400;\"> (add whichever prefix you prefer: Software, Technical, Information, Data) is someone who can map out how business specifications translate into a software solution, before any code is written. &nbsp;<\/span><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?resize=1024%2C455&#038;ssl=1\" alt=\"\" class=\"wp-image-1541\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?resize=800%2C355&amp;ssl=1 800w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?resize=120%2C53&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?resize=90%2C40&amp;ssl=1 90w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?resize=320%2C142&amp;ssl=1 320w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-3-1024x455-1.png?resize=560%2C249&amp;ssl=1 560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p><span style=\"font-weight: 400;\">This is analogous to physical-space architects who create blueprints for buildings, bridges, and tunnels, planning out all of the details, big and small. &nbsp;As experience from past projects helps inform architectural decisions, the software architect is usually a more senior role. &nbsp;The Architect must have a vision for how the various components interact, how the product scales as its use and complexity grows, as well as consider things like security, performance, and data management. &nbsp;The architect might help implement things, or might not. &nbsp;Some more details over at Quora <\/span><a href=\"https:\/\/www.quora.com\/What-are-the-key-differences-between-a-Technical-Architect-and-a-Lead-Software-Engineer\"><span style=\"font-weight: 400;\">here<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Some other titles associated with Architecture: Solutions Engineer, Data Scientist, Database Administrator.<\/span><\/p>\n\n\n\n<h3 id=\"implement\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Implement<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">When it comes to the actual coding, as previously noted, there\u2019s every flavor of job title. &nbsp;Consider:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Pick one or more: Frontend, Backend, Full-Stack, Web, Systems, UI, Application, Mobile, Game<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">(Also, typically for finance: Front-Office, Middle-Office, Back-Office)<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Pick another: Developer, Engineer, Programmer, Coder, Hacker, Rockstar, Ninja, Guru, Analyst<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Optional prefix: Junior, Senior, Lead<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Optional suffix: Level 1, Level 2, \u2026, Level X<\/span><\/li><\/ul>\n\n\n\n<p><span style=\"font-weight: 400;\">For example: Junior Backend Developer, or Senior Full-Stack Web Engineer Level 2. &nbsp;<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?resize=1024%2C521&#038;ssl=1\" alt=\"\" class=\"wp-image-1542\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?w=1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?resize=800%2C407&amp;ssl=1 800w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?resize=120%2C61&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?resize=90%2C46&amp;ssl=1 90w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?resize=320%2C163&amp;ssl=1 320w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pastedImage0-1024x521-1.png?resize=560%2C285&amp;ssl=1 560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><span style=\"font-weight: 400;\">In addition, a developer might specialize in a particular language, framework, operating system, or piece of technology. &nbsp;You might be a Junior <\/span><i><span style=\"font-weight: 400;\">Python<\/span><\/i><span style=\"font-weight: 400;\"> Backend Developer, or a Junior <\/span><i><span style=\"font-weight: 400;\">Python\/Django<\/span><\/i><span style=\"font-weight: 400;\"> Backend Developer. &nbsp;You could also be a <\/span><i><span style=\"font-weight: 400;\">Database<\/span><\/i><span style=\"font-weight: 400;\"> Developer or a <\/span><i><span style=\"font-weight: 400;\">Unix<\/span><\/i><span style=\"font-weight: 400;\"> Rockstar.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">One frequent point of confusion is around <\/span><a href=\"http:\/\/blog.teamtreehouse.com\/i-dont-speak-your-language-frontend-vs-backend\"><span style=\"font-weight: 400;\">the distinction of \u201cfrontend\u201d from \u201cbackend.\u201d <\/span><\/a><span style=\"font-weight: 400;\">&nbsp;Ordinarily, frontend refers to the parts of an application that users see and interact with, whereas backend refers to business logic and data storage. &nbsp;For a website, for example, the frontend (the web page you see) will be written in a mix of HTML, CSS, and JavaScript while the software serving that web page could be a mix of Python and SQL. &nbsp;As languages evolve and web browsers become more sophisticated, the distinction between the two ends blur. &nbsp;A few years back, if you knew JavaScript, you were a frontend developer; now, with Node.js, that same developer can do both frontend and backend work.<\/span><\/p>\n\n\n\n<h3 id=\"test\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Test<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Many large companies have dedicated testing teams of people that go by varying names such as <\/span><span style=\"font-weight: 400;\">Quality Assurance (QA) Engineer<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">Automation Engineer<\/span><span style=\"font-weight: 400;\">, or even just <\/span><span style=\"font-weight: 400;\">Test Engineer<\/span><span style=\"font-weight: 400;\">. &nbsp;Testing is obviously an important aspect of building software &#8211; we want to ensure what we built not only works (QA), but that it works to our business specifications (<\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/Acceptance_testing\"><span style=\"font-weight: 400;\">User Acceptance Testing or UAT<\/span><\/a><span style=\"font-weight: 400;\">), and furthermore, that what we built hasn\u2019t broken something previously built (Regression Testing).<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"342\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-4.png?resize=750%2C342&#038;ssl=1\" alt=\"\" class=\"wp-image-1543\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-4.png?w=750&amp;ssl=1 750w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-4.png?resize=120%2C55&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-4.png?resize=90%2C41&amp;ssl=1 90w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-4.png?resize=320%2C146&amp;ssl=1 320w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-4.png?resize=560%2C255&amp;ssl=1 560w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p>&nbsp;<span style=\"font-weight: 400;\">In (sorry to say) the most inglorious of these jobs are people that do manual testing, which entails following a test plan, clicking through step by step, making sure the results are consistently correct. &nbsp;At the other end are people who write automated tests in code &#8211; in many cases the testing code can be more complex than the application code itself.<\/span><\/p>\n\n\n\n<h3 id=\"support\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Support<\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Network_operations_center\"><span style=\"font-weight: 400;\">Network Operations Center (NOC) Engineers<\/span><\/a><span style=\"font-weight: 400;\"> are folks who help monitor systems to ensure availability and reliability. &nbsp;When things go wrong in any way, the NOC is usually the first to know or hear about it. &nbsp;<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"300\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-5-200x300-1.png?resize=200%2C300&#038;ssl=1\" alt=\"\" class=\"wp-image-1545\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-5-200x300-1.png?w=200&amp;ssl=1 200w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-5-200x300-1.png?resize=120%2C180&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/pasted-image-0-5-200x300-1.png?resize=90%2C135&amp;ssl=1 90w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/figure>\n\n\n\n<p>&nbsp;<span style=\"font-weight: 400;\">In some cases, the NOC may act as a first level of support and try to resolve the problem, and in others, the NOC will need to escalate out to engineers more familiar with the broken application or system. &nbsp;Sometimes, NOC Engineers will have no coding experience, and in others, they\u2019ll have significant amounts and are expected to build internal tools that help with monitoring and supporting system stability.<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400;\">Some other titles associated with Support: Support Technician, Technical Solutions Engineer, System Administrator (SysAdmin), Database Administrator, Helpdesk Support, Operations Analyst<\/span><\/p>\n\n\n\n<h3 id=\"engineer\" class=\"wp-block-heading\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Increment_and_decrement_operators\"><span style=\"font-weight: 400;\">Engineer++<\/span><\/a><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">There are a few other big categories of engineers worth noting, but that don\u2019t fit as well in the product development process:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cSystems\u201d Engineers: people solely focused on supporting the infrastructure and environment of the firm. &nbsp;In these cases, the \u201cproduct\u201d is the environment (your corporate desktop, for example). &nbsp;The System in these cases can span any of these technologies: Database, Windows, Linux\/Unix, Network, Email, Messaging, VOIP\/Telephony, Storage, Data Center, and Security\/Privacy.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Engineers who Support the Engineers: DevOps, System Integrator, Technical Expert, Developer Relations, Cloud Architect, and Tools Engineer.<\/span><\/li><li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Social Media Specializations: in some cases, certain digital marketing roles fall under the purview of technology. &nbsp;These span roles such as Marketing\/SEO Technologist, Digital Media Marketer, and Growth Hacker.<\/span><\/li><\/ul>\n\n\n\n<h3 id=\"senior-and-seniorer\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Senior and Seniorer<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">With any of these roles, remember that as your experience or level of managerial responsibility increases, so does the title! &nbsp;Two possible pathways, for example:<\/span><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"371\" src=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/chart-1.png?resize=600%2C371&#038;ssl=1\" alt=\"\" class=\"wp-image-1546\" srcset=\"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/chart-1.png?w=600&amp;ssl=1 600w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/chart-1.png?resize=120%2C74&amp;ssl=1 120w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/chart-1.png?resize=90%2C56&amp;ssl=1 90w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/chart-1.png?resize=320%2C198&amp;ssl=1 320w, https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2022\/08\/chart-1.png?resize=560%2C346&amp;ssl=1 560w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<h3 id=\"dont-be-the-titanic\" class=\"wp-block-heading\"><span style=\"font-weight: 400;\">Don\u2019t be the Titanic<\/span><\/h3>\n\n\n\n<p><span style=\"font-weight: 400;\">Job title is the just the tip of an iceberg that makes up a technology opportunity. \u00a0We can make some generalities on primary, functional responsibility from a title, but hopefully this post clarifies that <a href=\"https:\/\/www.craigperler.com\/blog\/2016\/10\/27\/web-scraping-part-1\/\">code-writing<\/a> is but one sliver of what goes into delivering software solutions and the product development process<\/span>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Or: do Ninja Coders Write in Invisible Ink? The following is a copy of a post I authored about the product development process for Scouted &#8211; see the original over&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1550,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[251],"tags":[],"powerkit_post_featured":[],"class_list":{"0":"post-1257","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-product-management"},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.craigperler.com\/blog\/wp-content\/uploads\/2017\/02\/pexels-photo-1089438.jpeg?fit=1880%2C1253&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1SwZ6-kh","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/posts\/1257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/comments?post=1257"}],"version-history":[{"count":5,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/posts\/1257\/revisions"}],"predecessor-version":[{"id":1583,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/posts\/1257\/revisions\/1583"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/media\/1550"}],"wp:attachment":[{"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/media?parent=1257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/categories?post=1257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/tags?post=1257"},{"taxonomy":"powerkit_post_featured","embeddable":true,"href":"https:\/\/www.craigperler.com\/blog\/wp-json\/wp\/v2\/powerkit_post_featured?post=1257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}