{"id":111545,"date":"2021-06-13T17:46:20","date_gmt":"2021-06-13T17:46:20","guid":{"rendered":"http:\/\/www.timestored.com\/b\/?p=111545"},"modified":"2021-06-13T17:46:20","modified_gmt":"2021-06-13T17:46:20","slug":"what-skills-does-a-financial-software-developer-need","status":"publish","type":"post","link":"https:\/\/www.timestored.com\/b\/what-skills-does-a-financial-software-developer-need\/","title":{"rendered":"What skills does a financial software developer need?"},"content":{"rendered":"<p>The below network diagram is intended as an outline of the skill set required for a financial software developer.<br \/>\nNote:<\/p>\n<ul>\n<li>Most individuals should aim to have a strong core. Think of it like a pyramid, where the height is the strength of a skill. Core skills like general computing principles, probability, communication should be built &#8220;tall&#8221; and very strong.\u00a0 peripheral skills such as python\/monitoring will be weaker. An individual will typically only learn 1 or 2 niche areas strongly (<a href=\"https:\/\/en.wikipedia.org\/wiki\/T-shaped_skills\">T shaped<\/a>)<\/li>\n<li>Notice the rough relative sizes of the areas. 55% computing, 10% math, 15% soft skills, 20% finance. This is intended to represent the rough allocation of effort.\n<ul>\n<li>If you only bring 95% techinical skills, you are going to waste time building the wrong thing, build something no one wants or build something useful but no one will know as you haven&#8217;t the soft skills to sell it.<\/li>\n<\/ul>\n<\/li>\n<li>The management branch on the bottom left is optional.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.timestored.com\/b\/wp-content\/uploads\/2021\/06\/financial-software-developer-skills.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-111550\" src=\"https:\/\/www.timestored.com\/b\/wp-content\/uploads\/2021\/06\/financial-software-developer-skills-1024x641.png\" alt=\"Financial Software Developer Skill Mindmap\" width=\"1024\" height=\"641\" srcset=\"https:\/\/www.timestored.com\/b\/wp-content\/uploads\/2021\/06\/financial-software-developer-skills-1024x641.png 1024w, https:\/\/www.timestored.com\/b\/wp-content\/uploads\/2021\/06\/financial-software-developer-skills-300x188.png 300w, https:\/\/www.timestored.com\/b\/wp-content\/uploads\/2021\/06\/financial-software-developer-skills-768x481.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<h2><span style=\"color: #ff6600;\">Computing<\/span><\/h2>\n<table width=\"972\">\n<tbody>\n<tr>\n<td width=\"88\"><strong>Skill<\/strong><\/td>\n<td width=\"117\"><strong>Topic<\/strong><\/td>\n<td width=\"89\"><strong>Sub-Topic<\/strong><\/td>\n<td width=\"88\"><strong>Links<\/strong><\/td>\n<td width=\"590\"><strong>Requirement<\/strong><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"5\">basics<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>linux<\/td>\n<td><\/td>\n<td><a href=\"http:\/\/www.ee.surrey.ac.uk\/Teaching\/Unix\/\">surrey<\/a><\/td>\n<td>Change Directories, edit config files, kill processes, copy\/move files, check disk space.<\/td>\n<\/tr>\n<tr>\n<td>bash<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/tldp.org\/LDP\/abs\/html\/\">tldp.org<\/a><\/td>\n<td>Write a script to periodically sync a directory between servers and schedule it using cron.<\/td>\n<\/tr>\n<tr>\n<td>git<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/git-scm.com\/docs\/gittutorial\">git-scm<\/a><\/td>\n<td>Checkout, branch, commit, push code.<\/td>\n<\/tr>\n<tr>\n<td>Common Tools: jira\/jenkins<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/www.atlassian.com\/agile\/project-management\/user-stories\">user-stories<\/a><\/td>\n<td>Write a good jira, assign owner. Kick off a build on a common CD platform.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\">Programming Language<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Knowledge of 2 different programming paradigms.<\/td>\n<\/tr>\n<tr>\n<td>kdb<\/td>\n<td><\/td>\n<td><a href=\"http:\/\/www.timestored.com\/kdb-training\/customized-onsite-course\">kdb-tree<\/a><\/td>\n<td>Write efficient selects for pulling back a subset of data.<\/td>\n<\/tr>\n<tr>\n<td>python<\/td>\n<td><\/td>\n<td><\/td>\n<td>Download data from a REST api, calculate average\/mean\/median for certain metrics.<\/td>\n<\/tr>\n<tr>\n<td>java<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/www.amazon.co.uk\/Core-Java-I-Fundamentals-Cay-Horstmann\/dp\/0135166306\/ref=sr_1_6?dchild=1&amp;qid=1623604549&amp;refinements=p_27%3ACay+Horstmann&amp;s=books&amp;sr=1-6&amp;text=Cay+Horstmann\">book<\/a><\/td>\n<td>Write a java program to count the number\u00a0 of words in a file.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">Databases<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Be aware of the major types of database available and when to use each.<\/td>\n<\/tr>\n<tr>\n<td>kdb<\/td>\n<td><\/td>\n<td><a href=\"http:\/\/www.timestored.com\/kdb-training\/customized-onsite-course\">kdb-tree<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>mysql\/postgresql\/oracle\/ms<\/td>\n<td><\/td>\n<td><\/td>\n<td>Know standard SQL.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"11\">Software Engineeering<\/td>\n<td><\/td>\n<td><\/td>\n<td><a href=\"https:\/\/ryan-h.com\/2017\/07\/09\/peopleware-productive-projects-and-teams-book\/\">peopleware<\/a><\/td>\n<td>How to grow good software.<\/td>\n<\/tr>\n<tr>\n<td>Good Software<\/td>\n<td><\/td>\n<td><\/td>\n<td>Properties of good software with examples.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">Architecture<\/td>\n<td><\/td>\n<td><\/td>\n<td>Common Enterprise software patterns.<\/td>\n<\/tr>\n<tr>\n<td>Distributed Systems<\/td>\n<td><\/td>\n<td>Difficulties with distributed systems and common patterns to solve them.<\/td>\n<\/tr>\n<tr>\n<td>Data Processing Pipelines<\/td>\n<td><\/td>\n<td>Common processing Pipeline Patterns<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"5\">Site Reliability Engineering<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/sre.google\/sre-book\/table-of-contents\/\">SRE<\/a><\/td>\n<td>How reliable should software be?<\/td>\n<\/tr>\n<tr>\n<td>Metrics<\/td>\n<td><\/td>\n<td>Ccommon metrics used to measure reliability and when to use each<\/td>\n<\/tr>\n<tr>\n<td>Monitoring<\/td>\n<td><\/td>\n<td>What monitoring systems\/tools are available? What are monitoring best practices?<\/td>\n<\/tr>\n<tr>\n<td>Releases<\/td>\n<td><a href=\"https:\/\/ryan-h.com\/2019\/10\/22\/accelerate-the-science-of-lean-software-and-devops-book\/\">Accelerate<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Support<\/td>\n<td><\/td>\n<td>Handling outages. Engaging with users.<\/td>\n<\/tr>\n<tr>\n<td>Software Concepts<\/td>\n<td>Testing<\/td>\n<td><\/td>\n<td>Testing Methods and knowledge of one test framework<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>User Interfaces<\/td>\n<td><\/td>\n<td><\/td>\n<td><a href=\"https:\/\/www.amazon.co.uk\/Dont-Make-Think-Revisited-Usability-dp-0321965515\/dp\/0321965515\/ref=dp_ob_title_bk\">dont-think<\/a><\/td>\n<td>What makes a good user interface?<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">Networking<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>How computers connect. Expected latency\/bandwidth.<\/td>\n<\/tr>\n<tr>\n<td>TCP\/IP<\/td>\n<td><\/td>\n<td><\/td>\n<td>ports, switches, racks, data centres, windows.<\/td>\n<\/tr>\n<tr>\n<td>Middleware<\/td>\n<td><\/td>\n<td><\/td>\n<td>Messaging midddleware: solace\/JMS\/kafka\/MQ.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"5\">Software Development<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">agile<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>scrum<\/td>\n<td><a href=\"https:\/\/www.amazon.co.uk\/Essential-Scrum-Practical-Addison-Wesley-Signature\/dp\/0137043295\/ref=pd_lpo_card_2?pd_rd_i=0137043295&amp;psc=1\">book<\/a><\/td>\n<td>Sprints, iterations, standups, restrospectives, story-time.<\/td>\n<\/tr>\n<tr>\n<td>Lean Development<\/td>\n<td><a href=\"https:\/\/www.amazon.co.uk\/Lean-Startup-Innovation-Successful-Businesses\/dp\/0670921602\/ref=sr_1_1?dchild=1&amp;keywords=lean+startup&amp;qid=1623604798&amp;s=books&amp;sr=1-1\">lean-startup<\/a><\/td>\n<td>When, why and how to develop lean.<\/td>\n<\/tr>\n<tr>\n<td>Code Reviews<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/blog.pragmaticengineer.com\/good-code-reviews-better-code-reviews\/\">pragma<\/a><\/td>\n<td>Code review best practices.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Soft Skills<\/h2>\n<table width=\"972\">\n<tbody>\n<tr>\n<td width=\"88\"><strong>Skill<\/strong><\/td>\n<td width=\"117\"><strong>Topic<\/strong><\/td>\n<td width=\"89\"><strong>Sub-Topic<\/strong><\/td>\n<td width=\"88\"><strong>Links<\/strong><\/td>\n<td width=\"590\"><strong>Requirement<\/strong><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">IT Skills<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>excel<\/td>\n<td><\/td>\n<td><\/td>\n<td>Create a table with conditional formatting, calculate sum\/average of column, use vlookup<\/td>\n<\/tr>\n<tr>\n<td>outlook<\/td>\n<td><\/td>\n<td><\/td>\n<td>Filter emails, create meetings.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"5\">Communication<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Emails<\/td>\n<td><\/td>\n<td><\/td>\n<td>How to write an email to users, team mates, managers, senior management.<\/td>\n<\/tr>\n<tr>\n<td>Meetings<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/www.atlassian.com\/blog\/teamwork\/how-to-run-effective-meetings\">atlassian<\/a><\/td>\n<td>What is a meeting meant to accomplish? How to achieve that.<\/td>\n<\/tr>\n<tr>\n<td>powerpoint<\/td>\n<td><\/td>\n<td><\/td>\n<td>Prepare a presentation for management.<\/td>\n<\/tr>\n<tr>\n<td>visio<\/td>\n<td><\/td>\n<td><\/td>\n<td>Draw an architectural diagram of your system.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\">Sales<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Marketing<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/www.amazon.co.uk\/Traction-Startup-Achieve-Explosive-Customer\/dp\/0241242533\/ref=sr_1_1?dchild=1&amp;keywords=traction+bullseye&amp;qid=1623605342&amp;s=books&amp;sr=1-1\">Traction<\/a><\/td>\n<td>How to get your software used and appreciate by more users.<\/td>\n<\/tr>\n<tr>\n<td>Support<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Networking<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>Building a network to get things done.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"9\">Management<\/td>\n<td><\/td>\n<td><\/td>\n<td><a href=\"https:\/\/ryan-h.com\/2019\/10\/21\/andrew-grove-high-output-management-book\/\">Grove<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Building a Team<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/ryan-h.com\/2018\/08\/22\/the-five-dysfunctions-of-a-team-book\/\">Dysfunctions<\/a><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>One to Ones<\/td>\n<td><\/td>\n<td><\/td>\n<td>What makes a good one-to-one<\/td>\n<\/tr>\n<tr>\n<td>Interviews<\/td>\n<td><\/td>\n<td><\/td>\n<td>How to evaluate cnadidates effectively.<\/td>\n<\/tr>\n<tr>\n<td>Quality<\/td>\n<td><\/td>\n<td><\/td>\n<td>How to ensure quality of product.<\/td>\n<\/tr>\n<tr>\n<td>Organizational Structures<\/td>\n<td><\/td>\n<td><a href=\"https:\/\/ryan-h.com\/2017\/07\/09\/the-phoenix-project-book\/\">phoenix<\/a><\/td>\n<td>Different structures for management.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">Project Management<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Roadmaps<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Decision Making<\/td>\n<td><\/td>\n<td>Which approach to decision making to\u00a0 use when.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>The below network diagram is intended as an outline of the skill set required for a financial software developer. Note: Most individuals should aim to have a strong core. Think of it like a pyramid, where the height is the strength of a skill. Core skills like general computing principles, probability, communication should be built [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[99,108],"tags":[107],"_links":{"self":[{"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/posts\/111545"}],"collection":[{"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/comments?post=111545"}],"version-history":[{"count":7,"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/posts\/111545\/revisions"}],"predecessor-version":[{"id":111557,"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/posts\/111545\/revisions\/111557"}],"wp:attachment":[{"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/media?parent=111545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/categories?post=111545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.timestored.com\/b\/wp-json\/wp\/v2\/tags?post=111545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}