horsefield 0.4.67 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 93e72a6864cce8fa191a6c97abcadc1e2c090217
4
- data.tar.gz: b89eb7855ddcc2fe0227fe16bc5d93f43d04daf1
2
+ SHA256:
3
+ metadata.gz: 7233d84653e5fb4eb1183f6f12f4c2a8fb8d4fbec40a103a0d60cdfea85e215c
4
+ data.tar.gz: 308033f17e37939d4f60da0a3ef431afd123cd2399c82673bab7376ed6808b8b
5
5
  SHA512:
6
- metadata.gz: 1e5fd3d37d4fbc46445a258cc6666bf8d6dc9318ad4c4187b0c9edde2eea839c33165be1bcbfede28a991125e59927c4a80bc6f55ecd4dfd1e54040ce19c5d8c
7
- data.tar.gz: cc25d8f07c61e54d0e162bd9663fa7708a015a925012ff8b8897604125226ed5f0737ae3b0c371bf1aa22cb718f7fd379d82778826a8aa557134ef3fb1be0499
6
+ metadata.gz: e0b42e0f74571b90b5e369efdc48eb3e225984d54e4f8a9eed4edf81b44c6d240d36a3fb5f6cd23d0d1d53bf047fe6f8555bd2bc8a24fe46d5dd1c743eb82303
7
+ data.tar.gz: 3f5374c3f6f843ab29e21e95eb6c723eefd10a8c4be7cf3daa9698ca172961056f6eb5102e4cdd14e7912fe771b98690014e6e1ed39edcf19424e873c68491ab
@@ -0,0 +1,40 @@
1
+ with (import <nixpkgs> {});
2
+
3
+ let
4
+ rubyenv = bundlerEnv {
5
+ name = "rb";
6
+ inherit ruby;
7
+ gemfile = ./Gemfile;
8
+ lockfile = ./Gemfile.lock;
9
+ gemset = ./gemset.nix;
10
+ groups = ["default" "development" "test"];
11
+ };
12
+ in stdenv.mkDerivation {
13
+ name = "horsefield";
14
+ version = "0.0.1";
15
+
16
+ buildInputs = [
17
+ stdenv
18
+ git
19
+
20
+ # Ruby deps
21
+ ruby
22
+ # bundler
23
+ bundix
24
+
25
+ # Rails deps
26
+ clang
27
+ libxml2
28
+ libxslt
29
+ readline
30
+ sqlite
31
+ openssl
32
+
33
+ rubyenv
34
+ ];
35
+
36
+ shellHook = ''
37
+ export LIBXML2_DIR=${pkgs.libxml2}
38
+ export LIBXSLT_DIR=${pkgs.libxslt}
39
+ '';
40
+ }
@@ -0,0 +1,177 @@
1
+ {
2
+ coderay = {
3
+ source = {
4
+ remotes = ["https://rubygems.org"];
5
+ sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
6
+ type = "gem";
7
+ };
8
+ version = "1.1.2";
9
+ };
10
+ ffi = {
11
+ source = {
12
+ remotes = ["https://rubygems.org"];
13
+ sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
14
+ type = "gem";
15
+ };
16
+ version = "1.9.25";
17
+ };
18
+ formatador = {
19
+ source = {
20
+ remotes = ["https://rubygems.org"];
21
+ sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
22
+ type = "gem";
23
+ };
24
+ version = "0.2.5";
25
+ };
26
+ guard = {
27
+ dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"];
28
+ source = {
29
+ remotes = ["https://rubygems.org"];
30
+ sha256 = "0v9izfzpb3sckmdi9zjgil23dxzz3rli9zjvrc4br25jfjc3dbwy";
31
+ type = "gem";
32
+ };
33
+ version = "2.14.2";
34
+ };
35
+ guard-compat = {
36
+ source = {
37
+ remotes = ["https://rubygems.org"];
38
+ sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis";
39
+ type = "gem";
40
+ };
41
+ version = "1.2.1";
42
+ };
43
+ guard-minitest = {
44
+ dependencies = ["guard-compat" "minitest"];
45
+ source = {
46
+ remotes = ["https://rubygems.org"];
47
+ sha256 = "0whmaqpyilqw9535w9rd80gfcbvf9g98b42rj6qi6z24578877nq";
48
+ type = "gem";
49
+ };
50
+ version = "2.4.6";
51
+ };
52
+ listen = {
53
+ dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
54
+ source = {
55
+ remotes = ["https://rubygems.org"];
56
+ sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
57
+ type = "gem";
58
+ };
59
+ version = "3.1.5";
60
+ };
61
+ lumberjack = {
62
+ source = {
63
+ remotes = ["https://rubygems.org"];
64
+ sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n";
65
+ type = "gem";
66
+ };
67
+ version = "1.0.13";
68
+ };
69
+ method_source = {
70
+ source = {
71
+ remotes = ["https://rubygems.org"];
72
+ sha256 = "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn";
73
+ type = "gem";
74
+ };
75
+ version = "0.9.0";
76
+ };
77
+ mini_portile2 = {
78
+ source = {
79
+ remotes = ["https://rubygems.org"];
80
+ sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
81
+ type = "gem";
82
+ };
83
+ version = "2.3.0";
84
+ };
85
+ minitest = {
86
+ source = {
87
+ remotes = ["https://rubygems.org"];
88
+ sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
89
+ type = "gem";
90
+ };
91
+ version = "5.11.3";
92
+ };
93
+ nenv = {
94
+ source = {
95
+ remotes = ["https://rubygems.org"];
96
+ sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr";
97
+ type = "gem";
98
+ };
99
+ version = "0.3.0";
100
+ };
101
+ nokogiri = {
102
+ dependencies = ["mini_portile2"];
103
+ source = {
104
+ remotes = ["https://rubygems.org"];
105
+ sha256 = "0l7s9q3nj0sfdazw17jn0ry0qhh3ak87dc66rr84g4vs9icd61ya";
106
+ type = "gem";
107
+ };
108
+ version = "1.8.3";
109
+ };
110
+ notiffany = {
111
+ dependencies = ["nenv" "shellany"];
112
+ source = {
113
+ remotes = ["https://rubygems.org"];
114
+ sha256 = "0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx";
115
+ type = "gem";
116
+ };
117
+ version = "0.1.1";
118
+ };
119
+ pry = {
120
+ dependencies = ["coderay" "method_source"];
121
+ source = {
122
+ remotes = ["https://rubygems.org"];
123
+ sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
124
+ type = "gem";
125
+ };
126
+ version = "0.11.3";
127
+ };
128
+ rake = {
129
+ source = {
130
+ remotes = ["https://rubygems.org"];
131
+ sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
132
+ type = "gem";
133
+ };
134
+ version = "10.5.0";
135
+ };
136
+ rb-fsevent = {
137
+ source = {
138
+ remotes = ["https://rubygems.org"];
139
+ sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
140
+ type = "gem";
141
+ };
142
+ version = "0.10.3";
143
+ };
144
+ rb-inotify = {
145
+ dependencies = ["ffi"];
146
+ source = {
147
+ remotes = ["https://rubygems.org"];
148
+ sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
149
+ type = "gem";
150
+ };
151
+ version = "0.9.10";
152
+ };
153
+ ruby_dep = {
154
+ source = {
155
+ remotes = ["https://rubygems.org"];
156
+ sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
157
+ type = "gem";
158
+ };
159
+ version = "1.5.0";
160
+ };
161
+ shellany = {
162
+ source = {
163
+ remotes = ["https://rubygems.org"];
164
+ sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
165
+ type = "gem";
166
+ };
167
+ version = "0.0.1";
168
+ };
169
+ thor = {
170
+ source = {
171
+ remotes = ["https://rubygems.org"];
172
+ sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl";
173
+ type = "gem";
174
+ };
175
+ version = "0.20.0";
176
+ };
177
+ }
@@ -20,7 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.add_dependency 'nokogiri'
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.7"
23
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "rake", ">= 12.3.3"
24
+ spec.add_development_dependency "guard"
24
25
  spec.add_development_dependency "guard-minitest"
25
26
  spec.add_development_dependency "pry"
26
27
  end
@@ -1,19 +1,11 @@
1
1
  require 'nokogiri'
2
2
 
3
3
  module Horsefield
4
- class Nokogiri::HTML::Document
5
- include Diggable
6
- end
7
-
8
- class Nokogiri::XML::Element
9
- include Diggable
10
- end
11
-
12
- class Nokogiri::XML::Attr
13
- include Diggable
14
- end
15
-
16
- class Nokogiri::XML::Text
17
- include Diggable
4
+ [Nokogiri::HTML::Document,
5
+ Nokogiri::XML::Document,
6
+ Nokogiri::XML::Element,
7
+ Nokogiri::XML::Attr,
8
+ Nokogiri::XML::Text].each do |klass|
9
+ klass.send(:include, Diggable)
18
10
  end
19
11
  end
@@ -15,8 +15,16 @@ module Horsefield
15
15
  base.extend(ClassMethods)
16
16
  end
17
17
 
18
- def initialize(html_or_url)
19
- @doc = Nokogiri::HTML(html_or_url =~ /\A#{URI::regexp}\Z/ ? open(html_or_url).read : html_or_url)
18
+ def initialize(html_xml_or_url, remove_namespaces: false)
19
+ html_xml_or_url = open(html_xml_or_url).read if html_xml_or_url =~ /\A#{URI::regexp}\Z/
20
+
21
+ @doc = if html_xml_or_url =~ /\A<\?xml/
22
+ doc = Nokogiri::XML(html_xml_or_url)
23
+ doc = doc.remove_namespaces! if remove_namespaces
24
+ doc
25
+ else
26
+ Nokogiri::HTML(html_xml_or_url)
27
+ end
20
28
  end
21
29
 
22
30
  def [](field)
@@ -49,7 +57,7 @@ module Horsefield
49
57
  end
50
58
  end
51
59
 
52
- def one(name, selector, lookup = :optional, &block)
60
+ def one(name, selector = nil, lookup = :optional, &block)
53
61
  self.lookups << lambda { |doc| doc.one(name, selector, lookup, &block) }
54
62
  end
55
63
 
@@ -1,3 +1,3 @@
1
1
  module Horsefield
2
- VERSION = "0.4.67"
2
+ VERSION = "0.6.1"
3
3
  end
@@ -19,11 +19,11 @@ end
19
19
 
20
20
  class TestScraper < Minitest::Test
21
21
  def setup
22
- @html = File.read(File.expand_path('../../reddit_source.html', __FILE__)).force_encoding('UTF-8')
22
+ @reddit_html = File.read(File.expand_path('../../reddit_source.html', __FILE__)).force_encoding('UTF-8')
23
23
  end
24
24
 
25
25
  def test_scraper
26
- reddit = RedditScraper.new(@html).scrape
26
+ reddit = RedditScraper.new(@reddit_html).scrape
27
27
  p reddit[:posts].first[:tagline]
28
28
  end
29
29
  end
@@ -0,0 +1,763 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <feed xmlns="http://www.w3.org/2005/Atom">
3
+ <title type="html" ><![CDATA[Functional Jobs: All Jobs]]></title>
4
+ <link href="https://functionaljobs.com/" ></link>
5
+ <id>urn:uuid:50e619eb-15a8-f501-e0ba-bf6b6c4772f4</id>
6
+ <updated>2018-06-23T02:46:39-04:00</updated>
7
+ <author><name>FunctionalJobs.com</name>
8
+ </author>
9
+ <entry>
10
+ <title type="html" ><![CDATA[Senior Software Engineer at Habito (Full-time)]]></title>
11
+ <link href="https://functionaljobs.com/jobs/9095-senior-software-engineer-at-habito" ></link>
12
+ <id>urn:uuid:7e6c4532-0715-8661-9b48-f275d70b5bb9</id>
13
+ <updated>2018-06-18T08:34:25-04:00</updated>
14
+ <summary type="html" ><![CDATA[<p>Launched in 2016, Habito is transforming the mortgage industry through innovation and cutting-edge technology. We are the UK&#039;s free online mortgage broker backed by Atomico, Ribbit Capital and Mosaic Ventures, with angel investors including Transferwise CEO Taavet Hinrikus, Funding Circle&rsquo;s founder Samir Desai and Yuri Milner, influential tech investor.</p>
15
+
16
+ <p>We are building a great brand synonymous with great customer service, ease and transparency. Simple, fast and honest, coupled with no fees, and no misinformation.</p>
17
+
18
+ <p>Our team is super-smart, ambitious, collaborative and friendly. We work hard, play hard and learn fast. This is a great opportunity to help steer, shape and mould our business.</p>
19
+
20
+ <p><strong>Are you excited? Come and make your home at Habito!</strong></p>
21
+
22
+ <p><strong>The Role</strong></p>
23
+
24
+ <p>We are looking for a full-time senior software engineer to join our team of full-stack engineers. Our core development values are strong, static typing and correctness, rigorous automation (in both testing and infrastructure) and everyone having a say.</p>
25
+
26
+ <p>The stack: On the back end we have an HTTP API written in Haskell (and built using stack) with PostgreSQL serving as the persistence layer. All of our data is event sourced thanks to PostgreSQL&#039;s great support for relational and blob data (e.g. jsonb) and some in-house libraries for handling ES/CQRS in a type-safe (or what we believe to be, as far as possible) manner. We lean heavily on GHC and its extensions and are also using some of the bigger power-to-weight-ratio players like lens and conduit.</p>
27
+
28
+ <p>The front end is written in PureScript on top of React and Redux (the bindings to which are our own but are both quite thin and based on the design of purescript-react and later pux).</p>
29
+
30
+ <p>Infrastructure wise we are sitting atop AWS and using Docker to manage containment. Jenkins manages continuous integration and deployment using a combination of AWS&#039; Java SDK and some management code written in Scala</p>
31
+
32
+ <p>While we&#039;re a technology company first and foremost, initially we&#039;re trying to make the UK mortgage brokering market a better place. This means building and maintaining our website, but it also involves a slurry of behind-the-scenes work integrating lenders, insurers, conveyancers and all the other players in the space as we seek to introduce robust automation into what is currently so many manual processes. Slack bots, job queues, working around the fact that some actors don&#039;t have APIs -- you&#039;ll get to handle it all!</p>
33
+
34
+ <ul>
35
+ <li>Work on our back-end software, written in Haskell and our front-end web
36
+ applications, written in PureScript, HTML and CSS.</li>
37
+ <li>Help maintain and extend our infrastructure, hosted in AWS using technologies such as Docker and Kubernetes.</li>
38
+ <li>Use tools such as QuickCheck, Tasty and HUnit to produce reliable, well-tested software.</li>
39
+ <li>Work with our product and design teams to produce customer-centric experiences that excite and delight.</li>
40
+ </ul>
41
+
42
+ <p><strong>The Candidate</strong></p>
43
+
44
+ <ul>
45
+ <li>A passionate developer who cares about clean code and code quality; a full-stack polyglot</li>
46
+ <li>An experienced engineer familiar with automated testing and deployment</li>
47
+ <li>Experienced with functional programming and domain-driven design or simply interested and capable of learning on the job</li>
48
+ <li>Someone who cares about UX and UI; you have a fundamental aversion to ugliness in product</li>
49
+ </ul>
50
+
51
+ <p><strong>And Finally......</strong></p>
52
+
53
+ <ul>
54
+ <li>Competitive salary &amp; share options</li>
55
+ <li>Career development, coaching &amp; training</li>
56
+ <li>Free catered lunches, snacks &amp; team bonding</li>
57
+ <li>Bupa Healthcare &amp; Life Assurance</li>
58
+ <li>Contributory pension scheme</li>
59
+ <li>Bi-weekly massages with Urban Massage</li>
60
+ <li>Unlimited Holiday</li>
61
+ <li>Cycle to Work Scheme</li>
62
+ <li>Childcare Vouchers</li>
63
+ </ul>
64
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9095-senior-software-engineer-at-habito">how to apply</a> for this position.</p>]]></summary>
65
+ </entry>
66
+ <entry>
67
+ <title type="html" ><![CDATA[Senior Scala Developer at Fauna (Full-time)]]></title>
68
+ <link href="https://functionaljobs.com/jobs/9094-senior-scala-developer-at-fauna" ></link>
69
+ <id>urn:uuid:1ff470ec-6c1d-2508-fb4e-2ed0983f54e9</id>
70
+ <updated>2018-06-03T09:53:14-04:00</updated>
71
+ <summary type="html" ><![CDATA[<p>Come join the engineering team at Fauna, where you&rsquo;ll be working directly on our core product, FaunaDB, which is implemented in Scala. You&#039;ll help expand FaunaDB&#039;s feature surface area, ease of use, performance, and enterprise-readiness while keeping its promises of ACID-compliance and cloud-native fault tolerance.</p>
72
+
73
+ <p>Building an enterprise distributed database requires disciplined engineering. Our software is four years in the making and we&rsquo;ve taken the time to build things right. You&rsquo;ll be working with a team of engineers who have been tech leads for service teams, built other distributed systems, contributed to popular open source, and worked at engineering leaders like Amazon, Twitter, and Oracle.</p>
74
+
75
+ <p>You&rsquo;ll be familiar with the following:</p>
76
+
77
+ <ul>
78
+ <li>Scala and SBT</li>
79
+ <li>Asynchronous programming</li>
80
+ <li>Fault-tolerant network services</li>
81
+ <li>Linux operations</li>
82
+ </ul>
83
+
84
+ <p>Fauna is a well-funded Series A startup building the first mission critical NoSQL database. We&#039;re backed by Point 72 Ventures, GV (formerly Google Ventures), CRV, Data Collective, Quest Venture Partners, and many more leading Silicon Valley firms. We are remote-first (but not remote-only), and based in San Francisco and Boston.</p>
85
+
86
+ <p>Benefits include fully paid medical, vision, and dental insurance, as well as company-sponsored life insurance.</p>
87
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9094-senior-scala-developer-at-fauna">how to apply</a> for this position.</p>]]></summary>
88
+ </entry>
89
+ <entry>
90
+ <title type="html" ><![CDATA[Staff Frontend Engineer at CircleCI (Full-time)]]></title>
91
+ <link href="https://functionaljobs.com/jobs/9093-staff-frontend-engineer-at-circleci" ></link>
92
+ <id>urn:uuid:0d686ea6-a591-ecd1-f424-d0c75fe0901b</id>
93
+ <updated>2018-05-30T12:53:53-04:00</updated>
94
+ <summary type="html" ><![CDATA[<p>CircleCI is looking for an experienced front end software engineer to help us design and build a rich web experience. You will work closely with Product and Design to help shape industry standards for how developers both visualize and interact with their continuous integration and deployment workflows.</p>
95
+
96
+ <p>At CircleCI you will be working with a team who values trust, respect, and diversity. We are a globally distributed team working towards the common goal of being the standard bearer for continuous integration and deployment software. We are remote friendly, and are looking for people who are passionate about helping shape software engineer best practices for the industry as a whole.</p>
97
+
98
+ <p>To thrive in this role you are someone who works well in teams, and enjoys collaborating. Furthermore you are opinionated about UI, UX, as well as web development technologies and best practices. You enjoy working with Product and Design to find the best solution to the problem at hand, and balance technical tradeoffs with delivering customer value quickly and iteratively.</p>
99
+
100
+ <p>About CircleCI
101
+ CircleCI is the best platform for software teams looking to rapidly build quality projects, at scale. Our intelligent continuous integration and delivery tools are simple yet powerful. Our aim is to provide the wisdom of a connected development ecosystem to every team member making technology decisions.</p>
102
+
103
+ <p>We run 7M+ builds a month on our platform for companies like Spotify, Kickstarter, Sony, and Coinbase. Over 25,000 organizations and 300,000 developers actively build, test, and deploy on CircleCI. We&rsquo;ve raised $59.5M in venture capital from Industry Ventures, Top Tier Capital, Scale Venture Partners, DFJ, Harrison Metal Capital, and Baseline Ventures. </p>
104
+
105
+ <p>About this role:
106
+ - Work closely with Product and Design to brainstorm the best way to visually represent our customer&rsquo;s code to software process
107
+ - Drive the direction of the UI and UX of our web app, as well as the technical direction of our front end architecture
108
+ - Work on cross-functional, feature-driven engineering teams
109
+ - Work in JavaScript and React on a daily basis</p>
110
+
111
+ <p>You Have:
112
+ - 3+ years of single page application development experience
113
+ - 6+ years of front end engineering experience
114
+ - Articulate UI and UX opinions
115
+ - Extensive knowledge of web technologies
116
+ - Experience with and appreciation for the functional programming paradigm
117
+ - A deep appreciation for and ability to support your development with appropriate testing</p>
118
+
119
+ <p>You Enjoy:
120
+ - Working in a highly collaborative environment
121
+ - Supporting an environment that values trust, respect, and diversity
122
+ - Exploring different methods for efficiently delivering code and customer value
123
+ - Delivering value to customers
124
+ - Sharing your expertise and encouraging best practices</p>
125
+
126
+ <p>CircleCI is a Bay Area Best Places to Work 2018 award winner. Founded in 2011 and headquartered in beautiful downtown San Francisco with a global remote workforce, CircleCI is venture backed by Scale Venture Partners, DFJ, Baseline Ventures and Harrison Metal Capital.</p>
127
+
128
+ <p>We care deeply about diversity and inclusivity. We&rsquo;re hiring at all experience levels, and seek talented teammates from a wide variety of backgrounds and experiences who are equally committed to cultivating a work environment of respect and kindness. We carefully consider every applicant that takes the time to apply.</p>
129
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9093-staff-frontend-engineer-at-circleci">how to apply</a> for this position.</p>]]></summary>
130
+ </entry>
131
+ <entry>
132
+ <title type="html" ><![CDATA[Senior Frontend Engineer at CircleCI (Full-time)]]></title>
133
+ <link href="https://functionaljobs.com/jobs/9092-senior-frontend-engineer-at-circleci" ></link>
134
+ <id>urn:uuid:70f33836-d926-6e28-e79f-841da83c4429</id>
135
+ <updated>2018-05-30T12:53:51-04:00</updated>
136
+ <summary type="html" ><![CDATA[<p>CircleCI is looking for an experienced front end software engineer to help us design and build a rich web experience. You will work closely with Product and Design to help shape industry standards for how developers both visualize and interact with their continuous integration and deployment workflows.</p>
137
+
138
+ <p>At CircleCI you will be working with a team who values trust, respect, and diversity. We are a globally distributed team working towards the common goal of being the standard bearer for continuous integration and deployment software. We are remote friendly, and are looking for people who are passionate about helping shape software engineer best practices for the industry as a whole.</p>
139
+
140
+ <p>To thrive in this role you are someone who works well in teams, and enjoys collaborating. Furthermore you are opinionated about UI, UX, as well as web development technologies and best practices. You enjoy working with Product and Design to find the best solution to the problem at hand, and balance technical tradeoffs with delivering customer value quickly and iteratively.</p>
141
+
142
+ <p>About CircleCI
143
+ CircleCI is the best platform for software teams looking to rapidly build quality projects, at scale. Our intelligent continuous integration and delivery tools are simple yet powerful. Our aim is to provide the wisdom of a connected development ecosystem to every team member making technology decisions.</p>
144
+
145
+ <p>We run 7M+ builds a month on our platform for companies like Spotify, Kickstarter, Sony, and Coinbase. Over 25,000 organizations and 300,000 developers actively build, test, and deploy on CircleCI. We&rsquo;ve raised $59.5M in venture capital from Industry Ventures, Top Tier Capital, Scale Venture Partners, DFJ, Harrison Metal Capital, and Baseline Ventures. </p>
146
+
147
+ <p>About this role:
148
+ - Work closely with Product and Design to brainstorm the best way to visually represent our customer&rsquo;s code to software process
149
+ - Drive the direction of the UI and UX of our web app, as well as the technical direction of our frontend architecture
150
+ - Work on cross functional, feature driven engineering teams
151
+ - Work in JavaScript and React on a daily basis</p>
152
+
153
+ <p>You Have:
154
+ - 3+ years of single page application experience
155
+ - Articulate UI and UX opinions
156
+ - Extensive knowledge of web technologies
157
+ - A deep appreciation for and abilities to support your development with appropriate testing
158
+ - Experience with functional programming a plus</p>
159
+
160
+ <p>You Enjoy:
161
+ - Working in a highly collaborative environment
162
+ - Supporting an environment that values trust, respect, and diversity
163
+ - Exploring different methods for efficiently delivering code and customer value
164
+ - Delivering value to customers
165
+ - Sharing your expertise and encouraging best practices</p>
166
+
167
+ <p>CircleCI is a Bay Area Best Places to Work 2016 award winner. Founded in 2011 and headquartered in beautiful downtown San Francisco with a global remote workforce, CircleCI is venture backed by Scale Venture Partners, DFJ, Baseline Ventures and Harrison Metal Capital.</p>
168
+
169
+ <p>We care deeply about diversity and inclusivity. We&rsquo;re hiring at all experience levels, and seek talented teammates from a wide variety of backgrounds and experiences who are equally committed to cultivating a work environment of respect and kindness. We carefully consider every applicant that takes the time to apply.</p>
170
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9092-senior-frontend-engineer-at-circleci">how to apply</a> for this position.</p>]]></summary>
171
+ </entry>
172
+ <entry>
173
+ <title type="html" ><![CDATA[Expert-Grade Software Engineer for Enterprise Software on Distributed Ledger Technology (Blockchain) at MCZ Moschin Executive AG (Full-time)]]></title>
174
+ <link href="https://functionaljobs.com/jobs/9091-expert-grade-software-engineer-for-enterprise-software-on-distributed-ledger-technology-blockchain-at-mcz-moschin-executive-ag" ></link>
175
+ <id>urn:uuid:7b6a92f1-5bc6-bfaf-443e-917e6ca4f199</id>
176
+ <updated>2018-05-28T17:34:51-04:00</updated>
177
+ <summary type="html" ><![CDATA[<p>MCZ Moschin Executive AG is a headhunting agency located in Zurich-City with over 30 years of experience. </p>
178
+
179
+ <p>At the moment we are looking for a Software Engineer for one of our clients. </p>
180
+
181
+ <p><strong>The Company Profile</strong></p>
182
+
183
+ <ul>
184
+ <li>They are a rapidly growing Swiss
185
+ startup developing fundamentally new
186
+ kind of enterprise ecosystem software
187
+ for global players in the digital age
188
+ based on unique breakthrough
189
+ Distributed Ledger Technology (DLT).</li>
190
+ <li>The company culture is &ldquo;with
191
+ passion&rdquo;: a young, innovative and
192
+ transparent leadership and people
193
+ culture. </li>
194
+ <li>Their success is based on a
195
+ radically process-oriented
196
+ Distributed Ledger Technology stack,
197
+ a laser focused vision and strategy,
198
+ a truly international team of
199
+ outstanding collaborating business
200
+ and technology experts, an excellent
201
+ cross-industry client base of global
202
+ players as well as a strong external
203
+ partner network of consulting
204
+ companies and integrators. </li>
205
+ <li>Their headquarters is in Switzerland with a
206
+ subsidiary in Germany. Further
207
+ openings across Europe to follow
208
+ clients and talent are planned.</li>
209
+ </ul>
210
+
211
+ <p><strong>The Vision</strong></p>
212
+
213
+ <p>Today, globally and cross-industry business processes and whole business models are under disruption by a combination of new mega trend technologies such as AI, DLT and IoT leading to an end-to-end digitalization of ecosystems with new market structures, products and customer experiences.</p>
214
+
215
+ <p>Completely new software architectures based on formal protocols (often called Smart Contracts) and DLT (often called Blockchain) platforms will unleash the second digitalization wave allowing the agile, fast, secure and low cost implementation of new processes, applications and automations across enterprises and ecosystems.</p>
216
+
217
+ <p>At the heart of the new architectures are formal protocols (such as contracts, processes, regulations or policies) defining agreed processes and obligations including involved objects, mandatory or possible actions. The execution of these protocols is transparent/analyzable for all parties involved and synchronized on a distributed ledger.</p>
218
+
219
+ <p><strong>Your Opportunity</strong></p>
220
+
221
+ <p>We are looking for exceptional personalities with large-scale distributed software development skills in enterprise environments to take mission-critical leading roles within the software engineering team to further expand our business.</p>
222
+
223
+ <ul>
224
+ <li>Rare opportunity to join a rapidly
225
+ growing cutting-edge Swiss startup
226
+ delivering real-world enterprise
227
+ software to international tier-1
228
+ industry clients with a unique
229
+ revolutionizing technology.</li>
230
+ <li>Take a key technical lead role to
231
+ shape the software and have a
232
+ critical and direct impact on the
233
+ company success.</li>
234
+ <li>Deliver real-world enterprise
235
+ software on distributed ledger
236
+ technology for ecosystems in the
237
+ digital age. Change the way whole
238
+ industries do business.</li>
239
+ <li>Combine nascent technologies such as
240
+ distributed ledger technology
241
+ (blockchain), formal multiparty
242
+ protocols (smart contracts),
243
+ functional programming and domain
244
+ specific languages, new development
245
+ and testing tools (such as formal
246
+ verification), high-performance
247
+ computing, IoT and workflow
248
+ automation.</li>
249
+ <li>Build cross-silo software for
250
+ enterprises and whole ecosystems by
251
+ formalizing contracts, queries and
252
+ individual workflows that seamlessly
253
+ automate collaboration between
254
+ people, companies and machines.</li>
255
+ <li>Work with top-tier clients across
256
+ different industries e.g. in the
257
+ energy, automotive, chemical and
258
+ health care industries.</li>
259
+ <li>Work in an international team of
260
+ highly collaborative exceptional
261
+ engineers.</li>
262
+ </ul>
263
+
264
+ <p><strong>Your Responsibilities</strong></p>
265
+
266
+ <ul>
267
+ <li>Design and develop high quality
268
+ software efficiently and rapidly,
269
+ using functional and non-functional
270
+ languages, within an agile
271
+ development environment.</li>
272
+ <li>Refine the specification, make
273
+ critical design decisions and concept
274
+ software architecture.</li>
275
+ <li>Develop enterprise scale distributed
276
+ ledger technology that will be
277
+ deployed at global players.</li>
278
+ <li>Technological responsibility for the
279
+ delivery of software for customer
280
+ projects product development and
281
+ research projects.</li>
282
+ <li>Depending on your preferences and
283
+ focus bring in your exceptional
284
+ technical expertise, people
285
+ management and/or product delivery
286
+ skills.</li>
287
+ </ul>
288
+
289
+ <p><strong>Your Qualifications</strong></p>
290
+
291
+ <ul>
292
+ <li>10+ years experience as a software
293
+ engineer, working in large-scale
294
+ software development environments.</li>
295
+ <li>Proven back-end work experience with
296
+ functional and non-functional
297
+ programming languages including but
298
+ not limited to: Kotlin, Scala, and
299
+ Haskell, Java, C/C++, C#, Objective
300
+ C, Python, JavaScript, or Go.</li>
301
+ <li>Basic knowledge of Web protocols,
302
+ including JavaScript, HTML, CSS and
303
+ HTTP. Knowledge of front-end
304
+ development including Typescript,
305
+ React, Angular or similar.</li>
306
+ <li>Recently worked in an Agile/Scrum
307
+ environment.</li>
308
+ <li>Affinity with formal verification
309
+ methods and technology (e.g. Coq) is
310
+ a plus.</li>
311
+ <li>Knowledge of cloud services and
312
+ containers.</li>
313
+ <li>Experience with distributed and
314
+ concurrent systems, scalable and
315
+ high-availability computing.</li>
316
+ <li>Deep understanding of secure coding,
317
+ testing and releasing. Strong
318
+ enterprise grade delivery
319
+ orientation.</li>
320
+ <li>Strong communication skills.</li>
321
+ <li>BS, MS or PhD in computer science.</li>
322
+ </ul>
323
+
324
+ <p><strong>The Offer for you</strong></p>
325
+
326
+ <ul>
327
+ <li>Work as part of our young, energy
328
+ sparkling, innovative core team at
329
+ our headquarters in Switzerland.</li>
330
+ <li>Work in Switzerland for at least one
331
+ year required. Subsidiary in Germany
332
+ and further subsidiaries in Europe
333
+ planned so that remote work or moving
334
+ to another office could be possible
335
+ in the future.</li>
336
+ <li>Work in picturesque crypto-valley
337
+ with lowest income taxes in Europe.</li>
338
+ <li>Swiss citizen or holder of a valid
339
+ Swiss work permit type B or C, or
340
+ EU/EFTA citizen required.</li>
341
+ <li>Highly competitive compensation
342
+ package plus participation shares in
343
+ the company.</li>
344
+ <li>Excellent personal and career growth
345
+ potential.</li>
346
+ </ul>
347
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9091-expert-grade-software-engineer-for-enterprise-software-on-distributed-ledger-technology-blockchain-at-mcz-moschin-executive-ag">how to apply</a> for this position.</p>]]></summary>
348
+ </entry>
349
+ <entry>
350
+ <title type="html" ><![CDATA[Distributed Systems Engineer at Fauna (Full-time)]]></title>
351
+ <link href="https://functionaljobs.com/jobs/9089-distributed-systems-engineer-at-fauna" ></link>
352
+ <id>urn:uuid:faef4791-48ab-e31f-afef-c19b48d9a5f3</id>
353
+ <updated>2018-05-24T20:07:40-04:00</updated>
354
+ <summary type="html" ><![CDATA[<p>Come join the engineering team at Fauna, where you&rsquo;ll be working directly on our core product, FaunaDB. You&#039;ll help expand FaunaDB&#039;s feature surface area, ease of use, performance, and enterprise-readiness while keeping its promises of ACID-compliance and&nbsp;cloud-native fault tolerance.</p>
355
+
356
+ <p>The creation of an enterprise and cloud-ready distributed database requires disciplined engineering. Our software is four years in the making and we&rsquo;ve taken the time to build things right. You&rsquo;ll be working with a team of engineers who have been tech leads for service teams, built other distributed systems, contributed to popular open source, and worked at engineering leaders like Amazon, Twitter, and Oracle.</p>
357
+
358
+ <p>You&rsquo;ll be well-versed in the following:</p>
359
+
360
+ <ul>
361
+ <li>Scala (or another functional programming language)</li>
362
+ <li>Asynchronous programming</li>
363
+ <li>Fault-tolerant network services</li>
364
+ <li>Performance analysis with Linux or the JVM</li>
365
+ <li>Familiarity with on-disk storage engines (LSM trees, B+ trees, etc.) is a plus</li>
366
+ <li>Familiarity with distributed consensus protocols (RAFT, Paxos, Viewstamped Replication) is a plus</li>
367
+ </ul>
368
+
369
+ <p>Fauna is a well-funded Series A startup building the first mission critical NoSQL database. We&#039;re backed by Point 72 Ventures, GV (formerly Google Ventures), CRV, Data Collective, Quest Venture Partners, and many more leading Silicon Valley firms. We are a remote-first and based in San Francisco and Boston.</p>
370
+
371
+ <p>Benefits include fully paid medical, vision, and dental insurance, as well as company-sponsored life insurance.&nbsp;</p>
372
+
373
+ <p>Fauna is proud to be an equal opportunity employer. Our company is committed to fair hiring practices, and building a diverse environment for our employees. You will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, disability, age, or veteran status.</p>
374
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9089-distributed-systems-engineer-at-fauna">how to apply</a> for this position.</p>]]></summary>
375
+ </entry>
376
+ <entry>
377
+ <title type="html" ><![CDATA[Software Engineer at LetsGetChecked (Full-time)]]></title>
378
+ <link href="https://functionaljobs.com/jobs/9088-software-engineer-at-letsgetchecked" ></link>
379
+ <id>urn:uuid:e011eb13-0b30-37f0-989a-16150c173479</id>
380
+ <updated>2018-05-23T12:19:28-04:00</updated>
381
+ <summary type="html" ><![CDATA[<p><strong>LetsGetChecked</strong> is becoming a global leader in personal health testing. Our medical technology platform provides connectivity between customers and our global network of laboratories. We are enabling customers to order, manage and track their own clinical outcomes through a personal online account.</p>
382
+
383
+ <p>Due to continued success and growth, we have the need to expand our Technical Team. You will join us in building and maintaining a large scale, distributed system spanning across multiple geographic locations. Our platform resides fully in AWS, operates in dozens of markets and focuses on ease of use for our customers along with integrity &amp; security for the data they trust us with.</p>
384
+
385
+ <p>To deliver these results, the team utilizes cutting-edge technology including the latest .NET stacks, automated tests, functional programming, infrastructure as code, continuous integration and automated deployments. If you are looking for more exposure to this tech, we can provide this within a very dedicated and expanding team environment, where you can help shape the future with us.</p>
386
+
387
+ <p>We are experiencing an exciting expansion phase and are adding to our existing team, having recently closed off a series A funding round.</p>
388
+
389
+ <p><strong>What you&#039;ll do:</strong></p>
390
+
391
+ <ul>
392
+ <li>Write clean, maintainable code using best industry standards in .NET and Web languages</li>
393
+ <li>Be flexible to changing requirements and priorities, while managing own task list and time</li>
394
+ <li>Development and implementation of mission critical services</li>
395
+ <li>Write automated tests to validate your own code</li>
396
+ <li>Integrate systems, by building APIs as well as connecting to other services</li>
397
+ <li>Write server-side code for web-based applications and develop prototypes quickly</li>
398
+ <li>Be a team player - take ownership of code and its operations</li>
399
+ <li>Help the team to continuously improve their practices and technology</li>
400
+ </ul>
401
+
402
+ <p><strong>What we expect from you:</strong></p>
403
+
404
+ <ul>
405
+ <li>Functional Programming mindset</li>
406
+ <li>SQL</li>
407
+ <li>Experience developing and integrating to API&rsquo;s</li>
408
+ <li>Distributed Systems</li>
409
+ <li>Writing automated tests for your own code</li>
410
+ <li>Strong written and oral English communication skills</li>
411
+ <li>OOP Design and Patterns</li>
412
+ <li>Passion for best quality practice and continuous professional development</li>
413
+ <li>Permission to work in Ireland</li>
414
+ </ul>
415
+
416
+ <p><strong>What will help you in this job:</strong></p>
417
+
418
+ <ul>
419
+ <li>F#</li>
420
+ <li>Microservices</li>
421
+ <li>Domain Driven Design</li>
422
+ <li>Knowledge of asynchronous programming in .NET (async / await)</li>
423
+ <li>RESTful architectures</li>
424
+ <li>AngularJS</li>
425
+ <li>Working with Continuous Integration and Continuous Delivery</li>
426
+ <li>Working knowledge of ASP.NET MVC</li>
427
+ <li>Exposure to cloud (especially AWS)</li>
428
+ <li>DevOps</li>
429
+ <li>NoSQL</li>
430
+ <li>Infosec</li>
431
+ <li>Git</li>
432
+ </ul>
433
+
434
+ <p><strong>What we offer:</strong></p>
435
+
436
+ <ul>
437
+ <li>Training and support to improve as professionals</li>
438
+ <li>Lovely office in Dun Laoghaire close to People&#039;s Park, the Pier, DART stations, etc.</li>
439
+ <li>Free testing kits monthly to monitor your own health</li>
440
+ <li>International project setting in a dynamic market</li>
441
+ <li>Lots of interesting technology</li>
442
+ <li>Taxsaver DART scheme</li>
443
+ <li>Competitive compensation including share option scheme</li>
444
+ </ul>
445
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9088-software-engineer-at-letsgetchecked">how to apply</a> for this position.</p>]]></summary>
446
+ </entry>
447
+ <entry>
448
+ <title type="html" ><![CDATA[Frontend Engineer at Trivium Real Estate (Full-time)]]></title>
449
+ <link href="https://functionaljobs.com/jobs/9087-frontend-engineer-at-trivium-real-estate" ></link>
450
+ <id>urn:uuid:7c97d921-c61f-ae69-de43-b713e5b55494</id>
451
+ <updated>2018-05-21T12:42:37-04:00</updated>
452
+ <summary type="html" ><![CDATA[<p>TriviumRE is an investor-backed, data-mining startup for the commercial real estate industry; we&#039;re making data entry jobs less painful. Our MVP is moments away from launching and customers are queuing to take it for a spin. As such, we&#039;re growing our team to tackle the challenges ahead.</p>
453
+
454
+ <p><strong>What about the team?</strong> We have a high emphasis on continual learning. If you&#039;re not learning something new on the job its time for a new one. Our tech stack reflects this; Haskell and Elm are the main languages. We don&#039;t mind if its your first exposure to either. We&#039;re not afraid of experimenting or making mistakes. The most important quality of anyone on our team is their ability to learn and teach.</p>
455
+
456
+ <p>Since we&#039;re still young, working with us means you have a lot of influence in shaping the culture and direction of the company. You&#039;ll also a chance to grow your skill set faster than somewhere else. </p>
457
+
458
+ <p><strong>The product</strong> We&#039;re building a data mining tool that can explicitly learn a relational data model based on sample inputs. It&#039;s radically improves data entry and data cleaning for financial analysts. Customers have loved our demos and we&#039;re understandably coy in our public descriptions.</p>
459
+
460
+ <h1>Front-End Engineer</h1>
461
+
462
+ <p>This is for someone who:</p>
463
+
464
+ <ul>
465
+ <li>is comfortable in functional programming, especially <strong>Elm</strong>; and</li>
466
+ <li>is experienced shipping front-end software to production; and</li>
467
+ <li>has empathy for users and loves friendly UX; and</li>
468
+ <li>has an eagerness to learn and willingness to share knowledge.</li>
469
+ </ul>
470
+
471
+ <h2>Benefits</h2>
472
+
473
+ <ul>
474
+ <li>&pound;50-70k DOE. + Equity.</li>
475
+ <li>Highly intelligent, supportive team.</li>
476
+ <li>20+ holidays per year. </li>
477
+ <li>Support for conferences &amp; other tech related education. </li>
478
+ </ul>
479
+
480
+ <h2>A Typical Day</h2>
481
+
482
+ <ul>
483
+ <li><p>Start off writing a feature that requires elm-ports. These can be tricky, so you
484
+ pair with another developer who has shipped such code before.</p></li>
485
+ <li><p>After lunch you&#039;re requested to review a Pull Request that fixes a bug you accidentally
486
+ introduced a couple weeks back. There&#039;s no blame, instead some discussion about
487
+ how our tests and review process could have caught this earlier.</p></li>
488
+ <li><p>The afternoon is spent with the Product guys around a whiteboard. You&#039;re helping
489
+ them sketch out a realistic wire-frame for a feature we plan to deliver in a couple
490
+ of weeks.</p></li>
491
+ </ul>
492
+
493
+ <h1>Some Tech we like:</h1>
494
+
495
+ <p>We&#039;re more interested in a willingness and ability to learn than what you currently know. But in case you&#039;re interested in the stack we&#039;re using:</p>
496
+
497
+ <ul>
498
+ <li>Haskell</li>
499
+ <li>Elm</li>
500
+ <li>PostgreSQL</li>
501
+ <li>Javascript</li>
502
+ <li>Python / scikit-learn </li>
503
+ <li>Tensorflow / Deep learning</li>
504
+ <li>AWS</li>
505
+ <li>CircleCI</li>
506
+ <li>Automated Testing</li>
507
+ </ul>
508
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9087-frontend-engineer-at-trivium-real-estate">how to apply</a> for this position.</p>]]></summary>
509
+ </entry>
510
+ <entry>
511
+ <title type="html" ><![CDATA[Software Developer (Flowerpilot) (m/f) at LambdaWerk GmbH (Full-time)]]></title>
512
+ <link href="https://functionaljobs.com/jobs/9086-software-developer-flowerpilot-m-f-at-lambdawerk-gmbh" ></link>
513
+ <id>urn:uuid:03aad8b8-1cb0-751a-bd19-1ac2ea13d31a</id>
514
+ <updated>2018-05-17T03:18:49-04:00</updated>
515
+ <summary type="html" ><![CDATA[<p>Join us as a software developer to grow a new product in the agricultural analytics field. Our client is a startup in the United States who is working on a plant identification system based on Ion Mobility Spectroscopy (IMS). We&#039;re looking for a lead programmer to work on scientific measurement workflow support systems, mobile applications and embedded integration system integrat</p>
516
+
517
+ <p><strong>What you&#039;ll do:</strong></p>
518
+
519
+ <p>Develop lab workflow support and demonstrator applications</p>
520
+
521
+ <p>Evaluate technology and implement prototypes</p>
522
+
523
+ <p>Integrate systems with existing deployment infrastructure</p>
524
+
525
+ <p>Support data science development for measurement classification</p>
526
+
527
+ <p><strong>What we expect from you:</strong></p>
528
+
529
+ <p>A desire to program</p>
530
+
531
+ <p>Professional experience with functional programming</p>
532
+
533
+ <p>Be comfortable with multiple programming languages</p>
534
+
535
+ <p>Experience with Clojure and the JVM is a plus</p>
536
+
537
+ <p>Willingness to embrace XML</p>
538
+
539
+ <p>Knowledge of web technology and internet protocols</p>
540
+
541
+ <p>Experience with GIT, Linux shell</p>
542
+
543
+ <p>Ability to communicate efficiently with your colleagues in English (written and spoken)</p>
544
+
545
+ <p><strong>What we offer:</strong></p>
546
+
547
+ <p>A nice office in Berlin</p>
548
+
549
+ <p>International project setting in a dynamic market</p>
550
+
551
+ <p>A small, focused and experienced team</p>
552
+
553
+ <p>Lots of interesting technology to learn and use</p>
554
+
555
+ <p>Training seminars and conference visits</p>
556
+
557
+ <p>A competitive salary</p>
558
+
559
+ <p><strong>About LambdaWerk</strong></p>
560
+
561
+ <p>We are a software development shop specializing in the implementation of data processing systems for healthcare and insurance companies. We are owned by a major US player in the dental healthcare space and our systems play a crucial role in their day-to-day operations.
562
+ This is a permanent, full-time position in Berlin, Germany, requiring on-site presence; we are not presently offering visa sponsorship.
563
+ We are very interested in increasing the diversity of our team, so please do not hesitate to apply especially if you&#039;re not a white male!ion to pave the path from prototype to product.</p>
564
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9086-software-developer-flowerpilot-m-f-at-lambdawerk-gmbh">how to apply</a> for this position.</p>]]></summary>
565
+ </entry>
566
+ <entry>
567
+ <title type="html" ><![CDATA[Senior Full Stack Software Engineer at CircleCI (Full-time)]]></title>
568
+ <link href="https://functionaljobs.com/jobs/9085-senior-full-stack-software-engineer-at-circleci" ></link>
569
+ <id>urn:uuid:dd11d3cf-aaf0-056a-9246-33ebfa1957b3</id>
570
+ <updated>2018-05-12T16:27:05-04:00</updated>
571
+ <summary type="html" ><![CDATA[<p>CircleCI is looking for an experienced full stack software engineer to help us develop a seamless user experience. You will work closely with Product and Design to ensure developers who interact with CircleCI via the web have a consistent and streamlined experience from the first time they touch the site.</p>
572
+
573
+ <p>At CircleCI you will be working with a team who values trust, respect, and diversity. We are a globally distributed team working towards the common goal of being the standard bearer for continuous integration and deployment software. We are remote friendly, and are looking for people who are passionate about helping shape software engineering best practices for the industry as a whole.</p>
574
+
575
+ <p>To thrive in this role you are someone who works well in teams, and enjoys collaborating. Furthermore you have experience in onboarding, engaging, and retaining users through their journey on various platforms. You enjoy working with Product and Design to find the best solution to the problem at hand, and balance technical tradeoffs with delivering customer value quickly and iteratively. Experience with Growth Engineering a plus.</p>
576
+
577
+ <p><strong>About CircleCI</strong></p>
578
+
579
+ <p>CircleCI is the best platform for software teams looking to rapidly build quality projects, at scale. Our intelligent continuous integration and delivery tools are simple yet powerful. Our aim is to provide the wisdom of a connected development ecosystem to every team member making technology decisions.</p>
580
+
581
+ <p>We run 7M+ builds a month on our platform for companies like Spotify, Kickstarter, Sony, and Coinbase. Over 25,000 organizations and 300,000 developers actively build, test, and deploy on CircleCI. We&rsquo;ve raised $59.5M in venture capital from Industry Ventures, Top Tier Capital, Scale Venture Partners, DFJ, Harrison Metal Capital, and Baseline Ventures. </p>
582
+
583
+ <p><strong>About This Role</strong></p>
584
+
585
+ <ul>
586
+ <li>Work closely with Product to ensure delivery of high value customer facing features</li>
587
+ <li>Work on cross-functional, feature-driven engineering teams</li>
588
+ <li>Drive the direction of the UI and UX of our web app, as well as the technical direction of our frontend architecture</li>
589
+ <li>Own microservices throughout their entire lifecycle, from the first lines of code through deployment, production monitoring, and maintenance</li>
590
+ <li>Help shape how we design, release, and maintain microservices, and our single page application</li>
591
+ <li>Work in Clojure on the backend, and JavaScript in React on the frontend, on a daily basis</li>
592
+ </ul>
593
+
594
+ <p><strong>You Have</strong></p>
595
+
596
+ <ul>
597
+ <li>3+ years of production development experience</li>
598
+ <li>Experience developing single page applications</li>
599
+ <li>Experience working on server side application code</li>
600
+ <li>Experience with and appreciation for the functional programming paradigm</li>
601
+ <li>Articulate UI and UX opinions, especially in regards to platforms and funnel dynamics</li>
602
+ <li>A deep appreciation for and abilities to support your development with appropriate testing</li>
603
+ </ul>
604
+
605
+ <p><strong>You Enjoy</strong></p>
606
+
607
+ <ul>
608
+ <li>Working in a highly collaborative environment</li>
609
+ <li>Supporting an environment that values trust, respect, and diversity</li>
610
+ <li>Exploring different methods for efficiently delivering code and customer value</li>
611
+ <li>Delivering value to customers</li>
612
+ <li>Sharing your expertise and encouraging best practices</li>
613
+ </ul>
614
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9085-senior-full-stack-software-engineer-at-circleci">how to apply</a> for this position.</p>]]></summary>
615
+ </entry>
616
+ <entry>
617
+ <title type="html" ><![CDATA[Principal Software Engineer at CircleCI (Full-time)]]></title>
618
+ <link href="https://functionaljobs.com/jobs/9084-principal-software-engineer-at-circleci" ></link>
619
+ <id>urn:uuid:702b955e-f5ba-613d-56b5-86a6de410f89</id>
620
+ <updated>2018-05-12T16:27:04-04:00</updated>
621
+ <summary type="html" ><![CDATA[<p>CircleCI is looking for an experienced engineering leader to help us guide the evolution of our platform architecture. In this role, you will work with the entire Engineering organization to help cross-functional teams create designs that fit their business and technical needs while ensuring architectural consistency.</p>
622
+
623
+ <p>At CircleCI you will be working with a team who values trust, respect, and diversity. We are a globally distributed team working towards the common goal of being the standard bearer for continuous integration and deployment software. We are remote-friendly, and are looking for people who are passionate about helping shape software engineering best practices for the industry as a whole. While we can support a remote role anywhere you also have the option to work out of our Toronto or San Francisco office. </p>
624
+
625
+ <p>To thrive in this role you are someone who works well in teams and enjoys collaborating. Furthermore, you understand the business impact of your code and enjoy incorporating the business objectives into your approach to development. You enjoy working with Product to find the best solution to the problem at hand, and can balance technical tradeoffs with delivering customer value quickly and iteratively.</p>
626
+
627
+ <p><strong>About CircleCI</strong></p>
628
+
629
+ <p>CircleCI is the best platform for software teams looking to rapidly build quality projects, at scale. Our intelligent continuous integration and delivery tools are simple yet powerful. Our aim is to provide the wisdom of a connected development ecosystem to every team member making technology decisions.</p>
630
+
631
+ <p>We run 7M+ builds a month on our platform for companies like Spotify, Kickstarter, Sony, and Coinbase. Over 25,000 organizations and 300,000 developers actively build, test, and deploy on CircleCI. We&rsquo;ve raised $59.5M in venture capital from Industry Ventures, Top Tier Capital, Scale Venture Partners, DFJ, Harrison Metal Capital, and Baseline Ventures. </p>
632
+
633
+ <p><strong>About this role</strong></p>
634
+
635
+ <ul>
636
+ <li>Map technology trends into technical requirements</li>
637
+ <li>Evaluate products and make buy vs build decisions</li>
638
+ <li>Coach/train teams on complex technical subjects</li>
639
+ <li>Scope initiatives based on high-level product conversations</li>
640
+ <li>Shape how we design, release, and maintain microservices</li>
641
+ <li>Work closely with Product to ensure delivery of high value customer facing features</li>
642
+ <li>Work on cross-functional, feature-driven engineering teams</li>
643
+ </ul>
644
+
645
+ <p><strong>About you</strong></p>
646
+
647
+ <ul>
648
+ <li>Experience designing across architectural styles to fit the needs of the business</li>
649
+ <li>Deep understanding of modern software development, including agile,</li>
650
+ <li>CI/CD, and infrastructure-as-code</li>
651
+ <li>Strong understanding of the business impact of your work</li>
652
+ <li>Experience with microservice architectures</li>
653
+ <li>Experience with functional programing</li>
654
+ <li>10+ years of development experience</li>
655
+ </ul>
656
+
657
+ <p><strong>You enjoy</strong></p>
658
+
659
+ <ul>
660
+ <li>Working in a highly collaborative environment</li>
661
+ <li>Supporting an environment that values trust, respect, and diversity</li>
662
+ <li>Exploring different methods for efficiently delivering code and customer value</li>
663
+ <li>Delivering value to customers</li>
664
+ <li>Sharing your expertise and encouraging best practices</li>
665
+ </ul>
666
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9084-principal-software-engineer-at-circleci">how to apply</a> for this position.</p>]]></summary>
667
+ </entry>
668
+ <entry>
669
+ <title type="html" ><![CDATA[Damn Good Developer at Reaktor (Full-time)]]></title>
670
+ <link href="https://functionaljobs.com/jobs/9083-damn-good-developer-at-reaktor" ></link>
671
+ <id>urn:uuid:a6509ad0-df04-6f43-9daf-0dacd1a61e3d</id>
672
+ <updated>2018-05-02T04:42:04-04:00</updated>
673
+ <summary type="html" ><![CDATA[<p>Reaktor is a global strategy, design, and engineering company, with a one-year-old (yay!) office in Amsterdam. <strong>Our team is currently looking for developers who are really, truly, damn good.</strong></p>
674
+
675
+ <p>We are in the business of making our clients (AFKLM, HBO, Michael Kors, Supercell, Sanoma, to name a few) succeed in their digital ventures. Our teams in Amsterdam, New York City, Helsinki, and Tokyo consist of propellerheads who do everything from hardcore software development to sophisticated brand and concept design.</p>
676
+
677
+ <p>The Amsterdam squad is essentially a small bunch of settlers who operate with the support of an international company. We love going to meetups, drinking sour ales in De Pijp, and kicking it with some of the biggest consumer brands out there.</p>
678
+
679
+ <p><strong>What we&rsquo;ve got for you:</strong></p>
680
+
681
+ <ul>
682
+ <li>Let&rsquo;s be real. Compared to the mothership in Helsinki, we&rsquo;re still on the side of minuscule. But! Our projects are bigger than us, and you will be working in a team of 4 to 8 top-notch Reaktorians.</li>
683
+ <li>When we hire you, we trust you. That means you call the shots when it comes to selecting your gear, tech, and ways of working.</li>
684
+ <li>We try our darnedest to make sure that every morning, you&rsquo;ll come to work with a smile on your face, feeling like you can make a difference.</li>
685
+ <li>Naturally, necessities like equipment and compensation will be taken care of in a manner that all parties maintain said smile.</li>
686
+ <li>We promise to send you to the Great White North (Finland) for orientation (bring a winter jacket). There&rsquo;s a chance we&rsquo;ll send you somewhere else as well if you like (jacket recommendation still open).</li>
687
+ </ul>
688
+
689
+ <p><strong>What you need to win the game:</strong></p>
690
+
691
+ <p>Mad skill in at least a few programming languages you like. Here are some things we are currently drooling over: <strong>functional programming, Node.js, Clojure, React, Swift, SQL, NoSQL, general bleeding edge stuff.</strong>
692
+ - Willingness to be responsible for your work, development and career path. Don&rsquo;t worry: we&rsquo;ll have your back in whatever you want to achieve, only it&rsquo;s up to you to keep the end goal straight.
693
+ - Burning desire to improve, grow, get better, <em>insert more synonyms</em>. It&rsquo;s okay to not be perfect.</p>
694
+
695
+ <p>All in all, we&rsquo;re a simple lot. We believe in continuous learning, rapid iterations, and <a href="https://www.reaktor.com/blog/dear-client-our-autonomy-competitive-advantage/">fully autonomic teams that have the means to accomplish their goals and make their own decisions</a>. We don&rsquo;t believe in unnecessary hierarchy, bureaucracy, staying in the comfort zone.</p>
696
+
697
+ <p>Does all this resonate with you? If so, we can&rsquo;t wait to meet up.</p>
698
+
699
+ <p>Details of any open source projects, GitHub/GitLab/Bitbucket repositories, and whatever else you deem necessary, are highly regarded. If you&rsquo;re still unsure, <a href="https://www.reaktor.com/blog/magical_fairy_land/">let Adam explain what you can expect from interviewing with us</a>.</p>
700
+
701
+ <p>Love,</p>
702
+
703
+ <p>Your new team</p>
704
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9083-damn-good-developer-at-reaktor">how to apply</a> for this position.</p>]]></summary>
705
+ </entry>
706
+ <entry>
707
+ <title type="html" ><![CDATA[OCaml server-side developer at Ahrefs (Full-time)]]></title>
708
+ <link href="https://functionaljobs.com/jobs/9026-ocaml-server-side-developer-at-ahrefs" ></link>
709
+ <id>urn:uuid:cd0aa60f-367a-6a20-cf75-da1cbadc517c</id>
710
+ <updated>2017-06-30T15:59:39-04:00</updated>
711
+ <summary type="html" ><![CDATA[<h2>What we need</h2>
712
+
713
+ <p>Ahrefs is looking for a backend developer with a deep understanding of networks, distributed systems, OS fundamentals and taste for simple and efficient architectural designs. Our backend is implemented mostly in OCaml and some C++, as such proficiency in OCaml is very much appreciated, otherwise a strong inclination to intensively learn OCaml in a short term will be required. Understanding of functional programming in general and/or experience with other FP languages (F#,Haskell,Scala,Scheme,etc) will help a lot. Knowledge of C++ and/or Rust is a plus.</p>
714
+
715
+ <p>Every day the candidate will have to deal with:</p>
716
+
717
+ <ul>
718
+ <li>10+ petabytes of live data</li>
719
+ <li>OCaml</li>
720
+ <li>linux</li>
721
+ <li>git</li>
722
+ </ul>
723
+
724
+ <p>The ideal candidate is expected to:</p>
725
+
726
+ <ul>
727
+ <li>Independently deal with bugs, schedule tasks and investigate code</li>
728
+ <li>Make argumented technical choice and take responsibility for it</li>
729
+ <li>Understand the whole technology stack at all levels : from network and userspace code to OS internals and hardware</li>
730
+ <li>Handle full development cycle of a single component - i.e. formalize task, write code and tests, setup and support production (devops), resolve user requests</li>
731
+ <li>Approach problems with practical mindset and suppress perfectionism when time is a priority</li>
732
+ <li>Write flexible maintainable code and adapt to post-launch requirements&rsquo; tweaks </li>
733
+ </ul>
734
+
735
+ <p>These requirements stem naturally from our approach to development with fast feedback cycle, highly-focused personal areas of responsibility and strong tendency to vertical component splitting.</p>
736
+
737
+ <h2>Who we are</h2>
738
+
739
+ <p>Ahrefs runs an internet-scale bot that crawls the whole Web 24/7, storing huge volumes of information to be indexed and structured in a timely fashion. Backend system is powered by a custom petabyte-scale distributed key-value storage to accommodate all that data coming in at high speed. The storage system is implemented in OCaml with thin performance-critical low-level part in C++. On top of that Ahrefs is building various analytical services for end-users.</p>
740
+
741
+ <p>We are a small team and strongly believe in better technology leading to better solutions for real-world problems. We worship functional languages and static typing, extensively employ code generation and meta-programming, value code clarity and predictability, and are constantly seeking to automate repetitive tasks and eliminate boilerplate, guided by DRY and following KISS. If there is any new technology that will make our life easier - no doubt, we&#039;ll give it a try. We rely heavily on opensource code (as the only viable way to build maintainable system) and contribute back, see e.g. https://github.com/ahrefs . It goes without saying that our team is all passionate and experienced OCaml programmers, ready to lend a hand and explain that intricate ocamlbuild rule or track a <a href="https://tech.ahrefs.com/skylake-bug-a-detective-story-ab1ad2beddcd">CPU bug</a>.</p>
742
+
743
+ <p>Our motto is &quot;first do it, then do it right, then do it better&quot;.</p>
744
+
745
+ <h2>What you get</h2>
746
+
747
+ <p>We provide:</p>
748
+
749
+ <ul>
750
+ <li>Competitive salary</li>
751
+ <li>Informal and thriving atmosphere</li>
752
+ <li>First-class workplace equipment (hardware, tools)</li>
753
+ <li>Medical insurance</li>
754
+ </ul>
755
+
756
+ <h2>Locations</h2>
757
+
758
+ <p>Singapore : modern office in CBD</p>
759
+
760
+ <p>USA : cozy loft in San Francisco downtown</p>
761
+ <p>Get information on <a href="https://functionaljobs.com/jobs/9026-ocaml-server-side-developer-at-ahrefs">how to apply</a> for this position.</p>]]></summary>
762
+ </entry>
763
+ </feed>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: horsefield
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.67
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Strömberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-23 00:00:00.000000000 Z
11
+ date: 2020-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -42,16 +42,30 @@ dependencies:
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: 12.3.3
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 12.3.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
53
60
  - !ruby/object:Gem::Version
54
- version: '10.0'
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: guard-minitest
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -93,6 +107,8 @@ files:
93
107
  - LICENSE.txt
94
108
  - README.md
95
109
  - Rakefile
110
+ - default.nix
111
+ - gemset.nix
96
112
  - horsefield.gemspec
97
113
  - lib/horsefield.rb
98
114
  - lib/horsefield/diggable.rb
@@ -100,6 +116,7 @@ files:
100
116
  - lib/horsefield/scraper.rb
101
117
  - lib/horsefield/version.rb
102
118
  - test/horsefield/test_scraper.rb
119
+ - test/jobs.xml
103
120
  - test/recipe_source.html
104
121
  - test/reddit_source.html
105
122
  - test/test_helper.rb
@@ -122,13 +139,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
139
  - !ruby/object:Gem::Version
123
140
  version: '0'
124
141
  requirements: []
125
- rubyforge_project:
126
- rubygems_version: 2.4.5
142
+ rubygems_version: 3.1.2
127
143
  signing_key:
128
144
  specification_version: 4
129
145
  summary: It's a scraper
130
146
  test_files:
131
147
  - test/horsefield/test_scraper.rb
148
+ - test/jobs.xml
132
149
  - test/recipe_source.html
133
150
  - test/reddit_source.html
134
151
  - test/test_helper.rb