Postdocs / Research Programmer for Compositional Learning via Generalized Automatic Differentiation: NUI Maynooth, Co. Kildare, Ireland

Postdocs / Research Programmer
for
Compositional Learning via Generalized Automatic Differentiation

The goal of this project is to make a qualitative improvement in our
ability to write sophisticated numeric code, by giving numeric
programmers access to _fast_, _robust_, _general_, _accurate_
differentiation operators.

To be technical: we are adding exact first-class derivative
calculation operators (Automatic Differentiation or AD) to the lambda
calculus, and embodying the combination in a production-quality fast
system suitable for numeric computing in general, and compositional
machine learning methods in particular. Our research prototype
compilers generate object code competitive with the fastest current
systems, which are based on FORTRAN. And the combined expressive
power of first-class AD operators and function programming allows very
succinct code for many machine learning algorithms, as well as for
some algorithms in computer vision and signal processing. Specific
sub-projects include: compiler and numeric programming environment
construction; writing, simplifying, and generalising, machine learning
and other numeric algorithms; and associated Type Theory/Lambda
Calculus/PLT/Real Computation issues.

TO THE PROGRAMMING LANGUAGE COMMUNITY, we seek to contribute a way to
make numeric software faster, more robust, and easier to write.

TO THE MACHINE LEARNING COMMUNITY, in addition to making it easier to
write efficient numeric codes, we seek to contribute a system that
embodies “compositionality”, in that gradient optimisation can be
automatically and efficiently performed on systems themselves
consisting of many components, even when such components may
internally take derivatives or perform optimisation. (Examples of
this include, say, optimisation of the rules of a multi-player game to
cause the players’ actions to satisfy some desiderata, where the
players themselves optimise their own strategies using simple models
of their opponents which they optimise according to their opponents’
observed behaviour.)

To this end, we are seeking to fill three positions (postdoctoral or
research programmer, or in exceptional cases graduate students) with
interest and experience in at least one of: programming language
theory, automatic differentiation, machine learning, numerics,
mathematical logic.

Informal announcement: http://www.bcl.hamilton.ie/~barak/ad-fp-positions.html

Formal job postings on http://humanresources.nuim.ie/vacancies.shtml, in
particular
http://humanresources.nuim.ie/documents/JobSpecPostdoc2_Final.pdf and

http://humanresources.nuim.ie/documents/JobSpecProgrammer_Final.pdf

Inquiries to:

Barak A. Pearlmutter
Hamilton Institute & Dept Computer Science
NUI Maynooth, Co. Kildare, Ireland

Contract Lisp Programmer via Recruiter, Cambridge MA

(I don’t usually post requests for recruiters, but this one might be ok. Send me a note or make a comment if you find out otherwise. Looks like it’s really a Lisp and Python position).

Job Title: LISP Developer
Work Location: Cambridge, MA 02142
Openings: 1
Hourly Pay Rate Range: $60-$70/hr
Employment Terms: 1 year W2 Contract
No corp-to-corp

Job Details:
BS degree preferred (or equivalent experience) in an Engineering or IT-related field. At least 4 years experience in software development delivering and maintaining production quality code. Familiarity with testing, QA, version control and delivery technologies. Experience in multi-tiered distributed application environments.

Demonstrable expertise in: Lisp, XML, Oracle, SQL

Strong analytical, problem-solving, negotiation, and organizational skills. High attention to detail, the ability to focus and deliver, and agility under pressure. Strong communication and collaboration skills.

[Note that this position requires demonstrated expertise and skills in the Lisp programming language.]

Notes from the Manager:
Seeking experience in supporting and maintaining data bases and for mission critical software. Must have python. Seeking someone assertive to manage client expectations and deadlines. Take ownership of the projects

Contact: Tyler Goulet | tgoulet@nelsontechnology.com | 650-598-5603

Clojure engineers, Staples Innovation Lab (Runa), San Mateo, CA

Runa is now Staples Innovation Lab. For the past 5+ years, Runa has been a visible member of the Clojure community, having built their entire e-commerce optimization stack on Clojure. We were recently acquired by Staples, the second largest internet retailer in the world.

We now have the resources to take the Clojure + Big Data + Machine Learning + Real Time Predictive Modeling engine to the next level. We’re looking for experienced engineers with knowledge of Clojure. More details at www.staplesinnovationlab.com

Lisp Developer, Kyiv, Ukraine

We’re looking for a talented algorithmic developer with solid Lisp skills and an interest in linguistics and natural language processing.

At Grammarly, we use Common Lisp, but if you’ve worked with some other Lisp flavour, that’s fine, as long as you’re willing to learn and master Common Lisp. It goes without saying that you should be well versed in both object-oriented and functional paradigms. You also have to be comfortable with the idea of coding some Java and, preferably, have some hands-on experience with it. We’ll give you bonus points if you have a broad technical background and notable achievements beyond Lisp, contribute to open-source, write a blog or are otherwise active in the tech community.

As a member of our NLP team, you will have the luxury to focus on challenging following tasks, such as:

  • driving development of new features for our grammar checking engine, improving its accuracy and speed
  • implementing of data crunching tools for linguists and fellow engineers
  • creating of fast and scalable distributed network services in Lisp and Java, working closely with our DevOps team
  • brainstorming with us on ways to make Grammarly even smarter, explore new technologies at the forefront of modern natural language processing and machine learning

You will get to work with amazing engineers, linguists, and business minds from all over the world and experience the magic of direct access within a small team that pays attention to your ideas and contributions. In turn, we expect you to continuously learn, strive for perfection and optimum performance, as well as derive joy from sharing with and helping your peers.

Requirements:

  • passion for software development
  • 2+ years of experience with Lisp (preferably Common Lisp)
  • 2+ years of commercial experience with mainstream languages, preferably Java/Python strong algorithmic skills
  • interest in the English language
  • participation in open-source or commercial Lisp projects with a real user base Unix as the primary development platform
  • good written and spoken English

The following are desirable:

  • background in NLP or at least one of the following fields: ML, AI/Robotics, Information Retrieval, Data Mining and Analysis, Digital Signal Processing, Theoretical Computer Science
  • completion/enrollment in AI-related online courses (AI, ML, NLP, etc.)

Goodies we provide:

  • Work in a unique product company (no outsourcing!) with exceptional people
  • Paid attendance of conferences and seminars
  • Free lunches
  • Medical insurance and sport
  • Superb office space in the city center with a great view over Taras Shevchenko Park
  • Two-minute walk from metro Lva Tolstogo, Kyiv
  • One month of annual vacation and paid sick-leave
  • Relocation support for people willing to move to Kyiv, including transportation costs, first month’s rent, etc.
  • Competitive salary, reviewed regularly

We love people who are open, honest, kind, cheerful and have a decent sense of humor.

If you are interested, drop us a line at jobs@grammarly.com.

Software Developer, D-Wave, Burnaby, BC, Canada

D-Wave is seeking an experienced Software Developer with extensive Common Lisp (or equivalent) programming and UNIX-based system administration experience to join the Processor Development group. The successful candidate will be responsible for architecting, designing, programming, testing and maintaining the entire suite of software necessary to support the testing and operation of D-Wave’s quantum computing hardware. The software is predominantly Common Lisp-based and is an integral part of the quantum computing system. It is used for a variety of purposes including calibration, operation, testing and benchmarking.

For more details please see http://www.dwavesys.com/en/files/13PD09_Software_Developer.pdf

Postdoc or research programmers, Maynooth, Co. Kildare Ireland

Postdocs or research programmers sought for “automatic differentiation meets functional programming” project.  Our true aim is to displace FORTRAN-like imperative languages as the kings of big iron.

Inquiries to: “Barak A. Pearlmutter” <barak@cs.nuim.ie>

For more details: http://www.bcl.hamilton.ie/~barak/ad-fp-positions.html

(The listed qualifications is daunting, but if you’re enthusiastic and smart, please do get in touch.)

Clojure and Clojurians at Factual : Various Locations

Clojure and Clojurians at Factual

How We Use It

Factual began deploying Clojure to production in October of 2009. We used it cautiously and experimentally at first, confining ourselves to a narrow corner of our stack related to query interpretation.

As we experimented further with Clojure and applied it to more problems, we formed a very favorable impression of the overall language and related technologies. It’s true that Lisp is seen by many as a “weird” language, and to be sure, Clojure is not without its warts. On the other hand, if you’re looking for a fun and productive functional language that runs seamlessly on the JVM, Clojure brings massive value to the table.

SOME THINGS WE LIKE:

  • Significant developer productivity gains for certain use cases

  • Capitalizes on the superior power of Lisp

  • Everything Leo Polovets, Factual engineer, wrote in his answer on Quora: “Why would someone learn Clojure?”.

  • Often allows large reduction in code bloat vs. the equivalent Java solution. An unscientific survey of selected projects where we ported functionality suggests that we need 3X the code when working in Java.

SOME THINGS WE DON’T LIKE:

  • Not always super easy for non-Lispers to pick up

  • Some immaturity around things like tooling, stack traces, and the library ecosystem

  • May not be as performant as Java if you really, really need fast code

Aaron Crow, one of Factual’s early Clojure advocates, has a nuanced take on the matter:

“Please don’t make me write any more Java.”

Before long, we discovered Cascalog, a Clojure-based query language that runs on top of Hadoop. For certain use cases, we found Cascalog to be a huge win over the alternatives, especially when considering clarity of code and developer productivity. Since Cascalog queries provide a higher level of abstraction than pure Java-based MapReduce jobs, there may be concessions made to performance, but the code is also much easier to understand and maintain.

Chun Kok, author of “Clojure on Hadoop: A New Hope“, is philosophical about the trade-offs:

“Why not use Hive?”

Evan Gamble, our most seasoned Lisp veteran, applies Clojure to solve some of Factual’s more challenging Machine Learning problems. He explains his love of Clojure thusly:

“It’s still not as good as Common Lisp.”

Zach Tellman, creator of Aleph, is currently helping us build an engineering team in Factual’s Palo Alto office. Zach describes his seasoned, measured approach to using Clojure to conquer Factual’s complex engineering challenges:

“Yeah, I can hack that together this weekend.”

Of course, like every tool, Clojure is not a silver bullet and we don’t treat it as such. Our broader goal is to have a wide variety of tools in our toolbox, and carefully choose the best tool for each job. Boris Shimanovsky, Factual’s Director of Engineering, clarifies the subtlety here:

“Have you shipped yet?”

Fortunately for those of us who love us some parentheses (and who doesn’t (right?)), Clojure is often chosen as the right tool for a project. We’re now using Clojure and related tech throughout our stack, including:

  • Drake, our open-sourced “Make for data” tool

  • Various Machine Learning solutions

  • An internal API server on top of our entity data

  • An internal task management and resource queueing system

  • Ad hoc querying of data housed in HBase

We’ve also fielded Clojure-based libraries for using Factual’s public API:

We’re becoming more confident in when and where it’s most appropriate to apply Clojure as a solution, and we’re excited about the possibilities and potential gains. Boris elucidates:

“Sometimes, the Lisp weenies are right.”

Read More

Work with Us

If you’re an engineer and interested in helping Factual with hard stuff, check out our current openings.