{"id":2,"date":"2016-09-20T16:36:47","date_gmt":"2016-09-20T16:36:47","guid":{"rendered":"https:\/\/rlthomas.me\/hotcoder\/?page_id=2"},"modified":"2016-09-27T10:29:07","modified_gmt":"2016-09-27T10:29:07","slug":"cv-sumary","status":"publish","type":"page","link":"https:\/\/rlthomas.me\/hotcoder\/cv-sumary\/","title":{"rendered":"CV"},"content":{"rendered":"<p>I&#8217;m not going to put my full CV here, but will limit the page to a summary of what I am working on at the moment.<\/p>\n<p>My current contract is with a government agency (not allowed to say precisely which one) where I am writing automated tests in Ruby for apps and services in a micro-service environment.<\/p>\n<p>The tools of choice are:<\/p>\n<ul>\n<li>RubyMine for scripted tests in Cucumber<\/li>\n<li>Capybara for GUI testing in Ruby<\/li>\n<li>Ruby with HTTParty for service-level testing in Ruby<\/li>\n<li>Soap UI for ad hoc and interactive service tests<\/li>\n<li>Burp Suite for security testing of web apps<\/li>\n<li>Gatling<\/li>\n<\/ul>\n<p>The key architecture features which I have had to understand and work with are:<\/p>\n<ul>\n<li>CQRS model<\/li>\n<li>Event Sourcing (using Event Store)<\/li>\n<li>ELK stack<\/li>\n<li>Amazon AWS for RESTful web micro-services<\/li>\n<li>Mongo for document-oriented NoSQL databases<\/li>\n<li>Kibana over Elasticsearch for service level log inspection<\/li>\n<\/ul>\n<p>Some of this technology is quite new, and all of it is interesting. \u00a0For example, here&#8217;s Martin Fowler on CQRS:<\/p>\n<blockquote><p>CQRS stands for <b>Command Query Responsibility Segregation<\/b>. It&#8217;s a pattern that I first heard described by <a href=\"http:\/\/codebetter.com\/gregyoung\/\">Greg Young<\/a>. At its heart is the notion that you can use a different model to update information than the model you use to read information<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m not going to put my full CV here, but will limit the page to a summary of what I am working on at the moment. My current contract is with a government agency (not allowed to say precisely which [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/pages\/2"}],"collection":[{"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/comments?post=2"}],"version-history":[{"count":10,"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":34,"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/pages\/2\/revisions\/34"}],"wp:attachment":[{"href":"https:\/\/rlthomas.me\/hotcoder\/wp-json\/wp\/v2\/media?parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}