{"id":139225,"date":"2019-01-23T20:18:06","date_gmt":"2019-01-24T02:18:06","guid":{"rendered":"https:\/\/artisantalent.com\/?page_id=139225"},"modified":"2023-07-07T12:21:26","modified_gmt":"2023-07-07T17:21:26","slug":"software-engineer-job-description","status":"publish","type":"page","link":"https:\/\/artisantalent.com\/job-descriptions\/software-engineer-job-description\/","title":{"rendered":"Software Engineer"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Software Engineers are big technology geeks. They like to build software, working in computer languages like JavaScript or C# all day long. But don\u2019t be surprised when they go straight home to another computer screen and dial up a game or another application. Software engineers eat, sleep, and breathe in the technology space. Fortunately for them, there\u2019s a lot of technology out there to play with.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A decade ago, software was relegated to a back office server room, maintained by IT teams. Over time, the internet has caused the evolution of software-as-a-service (SaaS) applications, and other digital mediums, including e-commerce, social, and phone apps. What that\u2019s meant for Software Engineers is that they are no longer sent to the office building\u2019s annex with Toby Flenderson, but instead are at the forefront of business. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Software Engineers are the experts behind the tools we use every day. They design, write, edit, and test computer programs. There was a Software Engineer (or two) behind the website you\u2019re looking at right now.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As you might imagine, that makes the demand for these professionals very high.<\/span><\/p>\n<h2><b>Software Engineer Skills Needed<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">A Software Engineer must be simultaneously meticulous and creative. They must have a strongly focused attention to detail because computer coding is all about learning, reading, and writing in a different language. One little bracket or dash that\u2019s out of alignment could break the code and cause the computer software to fail. So, they must have a very precise way of solving problems. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">On the flip side, problems can be solved in all kinds of ways, so Programmers must also be creatively elegant in writing code that gets the computer to perform properly.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Because there are dozens of languages, frameworks, and tools, Software Engineers often specialize in applications, databases, operating systems, or networks. They may specialize in cybersecurity. They may also have skills in both computer hardware and software. <\/span><\/p>\n<h4><strong>A good Software Engineer must have the following skills:<\/strong><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/h4>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A patient and meticulous attention to detail<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Creative persistence for solving problems<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Flexibility in the face of obstacles<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Intellectual curiosity<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">High Intelligence<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A desire to learn new things<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Great reading comprehension and retention<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Good short- and long-term memory<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Skills as a troubleshooter and problem solver<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Enjoyment solving detailed mathematical problems<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Collaborating with other programmers, project managers, and end-users<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Solid communication and documentation skills<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Data analytics skills; able to spot patterns in data<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A keen interest in technology and science<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A desire to improve their skills<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The Software Engineer works in a constant environment of performance improvement. That\u2019s because the technology is always evolving, the languages are changing, and new breakthroughs are happening at the speed of the Internet. This means the Software Engineer must be willing and able to learn new things all the time.<\/span><\/p>\n<h4><strong>Suggested Software Proficiency<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Software Engineering uses programming languages to teach computers what to do. But each piece of software has multiple layers: <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The front-end where users interface with the software program<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The middle layer where Application Program Interfaces (APIs) link programs together<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">And the back-end that connects to a database of information<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Each of these layers has different frameworks and languages that the software engineer must be able to read and write. They usually know a methodology such as Agile, which is a framework for organizing large projects with lots of moving parts.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The software proficiency of these professionals varies depending on the projects they work on. Let\u2019s say that the goal is to create a customized website for a company. Here are some of the programming languages and frameworks the Software Engineer should probably know:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">They may use a wireframing program to create a prototype for the website, and there are a handful on the market<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The software may be written initially in a programming language like Java, JavaScript, C# &#8212; or something else<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">On the front-end of the website design, the Software Engineer may also need to know HTML or CSS to stylize the graphics on the website \u2013 or something else<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">The website may need to connect to a database, so the Software Engineer may need to know something about MySQL or PostgreSQL or MongoDB \u2014 or something else<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">But what if the product the Software Engineer is building is a phone app? In this case, there would be an entirely new set of tools to use. For example, <\/span><a href=\"https:\/\/dzone.com\/articles\/top-6-programming-languages-for-mobile-app-develop\"><span style=\"font-weight: 400;\">DZone<\/span><\/a><span style=\"font-weight: 400;\"> says Object-C and Swift, C++, or HTML5 may be good programs to know. But keep in mind that programming for Android is different from iOS. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Also, each programming language comes with its own framework. So, when building a mobile app using JavaScript, the Software Engineer would also use HTML, CSS, and maybe AJAX on the front-end. But they may also need to know JavaScript frameworks such as jQuery or Ionic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To make you even more confused, there are still legacy software applications out there that use older programming languages such as COBOL. Federal and state governments are full of platforms that are decades old \u2014 \u00a0and they always need help maintaining them. <\/span><a href=\"https:\/\/www.nextgov.com\/cio-briefing\/2016\/05\/10-oldest-it-systems-federal-government\/128599\/\"><span style=\"font-weight: 400;\">Check out this article<\/span><\/a><span style=\"font-weight: 400;\"> to see 10 of the oldest software applications in government today. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Software Engineering is a complex field with a lot of tools to potentially learn. When looking for a Software Engineer, we generally start with what application they\u2019ll be working on and then work our way backward to figure out what software proficiency they should have.<\/span><\/p>\n<p><a href=\"https:\/\/artisantalent.com\/jobs\/\"><img decoding=\"async\" class=\"aligncenter wp-image-138911 size-full\" src=\"https:\/\/artisantalent.com\/wp-content\/uploads\/2018\/09\/nowHiring-SoftwareEngineer.gif\" alt=\"Software Engineer\" width=\"500\" height=\"500\" loading=\"lazy\" \/><\/a><\/p>\n<h2><b>Find Your Software Engineer Here<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Despite the high demand for Software Engineers, we know people. Artisan Talent can help you find the perfect match. \u00a0Contact us to discuss how Artisan\u2019s creative employment team can help find you find the Software Engineer with just the right mix of skills for your next project. (<\/span><a href=\"https:\/\/artisantalent.com\/find-talent\/\"><span style=\"font-weight: 400;\">click here to find talent<\/span><\/a><span style=\"font-weight: 400;\">).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you\u2019re a Software Engineer looking for greener pastures, we should talk. View our creative employment agency\u2019s list of available opportunities or submit your resume (<\/span><a href=\"https:\/\/artisantalent.com\/jobs\/\"><span style=\"font-weight: 400;\">click here to find jobs<\/span><\/a><span style=\"font-weight: 400;\">).<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Software Engineers are big technology geeks. They like to build software, working in computer languages like JavaScript or C# all [&hellip;]<\/p>\n","protected":false},"author":36,"featured_media":0,"parent":107951,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-139225","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/pages\/139225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/comments?post=139225"}],"version-history":[{"count":6,"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/pages\/139225\/revisions"}],"predecessor-version":[{"id":141754,"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/pages\/139225\/revisions\/141754"}],"up":[{"embeddable":true,"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/pages\/107951"}],"wp:attachment":[{"href":"https:\/\/artisantalent.com\/wp-json\/wp\/v2\/media?parent=139225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}