Interview Logistics: Phone Interview F2F Interview
We are looking for functional programming language enthusiasts to work on a high-reliabilityindustrial cable control system. This is a coding intensive job requiring knowledge of a wide range of programming paradigms. Extensive knowledge of Java with demonstrable skills in one of the functional programming languages such as Scala, F#, Erlang, Self, Scheme, OCaml, Haskell, Clojure is a requirement. We use agile development techniques such as test-driven development, pair-programming, continuous build and automated testing, adapting these to our needs as necessary at regularly held retrospectives involving developers, operators, support staff, and product owners. We are committed to on-going training. We expect our developers to develop rapidly, deploy new code regularly, test constantly, and help us continuously to improve our development processes. We keep our teams small and filled with smart people, who work interactively with our customers and with our internal business analysts.
Required Skills Set:
Years of Experience: 8+ Education Required: Bachelors Degree Core Responsibilities Producing technical designs and documentation at varying levels of granularity Writing production-quality, tested code
Performing code reviews Collaborating with our technical operations teams to provide outstanding customer service Working with business stakeholders to understand their roadmaps and identify critical technical capabilities that need development.
Resisting the accrual of 'technical debt' in our systems. Working with product development teams to assist them in meeting their business goals through judicious application of CAP technologies.
Building proof-of-concept systems or conducting exploratory experiments with new technology.
8+ years of relevant work experience, including extensive programming experience and strong object-oriented skills. BS in Computer Science, Computer Engineering or related technical field.
Excellent software development skills, in a diverse set of programming styles (procedural, objected-oriented, functional).
Experience with Java, Scala, Akka, Python/Ruby, and bash shell scripting a plus.
Experience developing service oriented architectures and an understanding of design for scalability, performance and reliability.
Experience with high-scale, distributed web service development (hands-on experience with RESTful web services) Experience with Agile development methodologies and practices (refactoring, TDD, pair programming).
UNIX/Linux background: facility with command-line utilities;
familiarity with system administration tools and concepts a plus.
Familiarity with distributed systems, asynchronous messaging, and network protocols.
Familiarity with data serialization formats like XML, JSON and protocol buffers