Roster of candidates: Software engineering (Java and Javascript) 

The Basque Centre for Climate Change (BC3) is building a software task force to support its strategic activities related to integrated data science and collaborative, integrated modeling on the semantic web. The team will contribute to the development and maintenance of the k.LAB software stack, a semantic web infrastructure that uses artificial intelligence to build computational solutions to environment, policy and sustainability problems. The open source k.LAB software includes client and server components that connect data and models from distributed repositories, guided by machine reasoning over a set of shared ontologies. This technology, based on machine reasoning, machine learning, distributed computing and high-performance, multi-disciplinary and multi-paradigm system modeling, is the flagship product of the Integrated Modelling (IM) Partnership (http://www.integratedmodelling.org) which is expected to serve a growing number of worldwide users (from academia, governments, NGOs and industry) in the years to come.

Profiles sought

We are building a roster of potential candidates who we’ll be contacted when the next call opens.  Candidates could match any of three professional profiles dedicated to different components of the k.LAB technology:

  1. Back-end developer. The candidate will contribute to designing the REST API and its implementation for the modeling and communication services that coordinate distributed computations and queries for data and model components driven by semantics. The skills required involve Java and Spring technologies, experience with authentication, load balancing and distributed computation, with an eventual involvement of Spark or comparable distributed data platform.
  2. Modeling engine (middleware) developer. The candidate will contribute to the design and implementation of the modeling engine, which assembles network-available model components and data and compiles the assembled graph into a runnable dataflow. The candidate should be conversant with simulation modeling principles, machine reasoning using OWL and its Java implementations (OWLAPI), open source GIS (e.g. Geotools), machine learning (Weka), and be aware of, or open to quickly learn, corresponding technologies on the Java platform. Understanding of REST, Spring and Websockets (for communication with the front-end) will be necessary.
  3. Front-end (Web UI) developer and release engineer. The candidate will contribute to designing and developing components that interface with the users, both for modelers and for non-technical end users. Technologies involved will include the Eclipse platform (PDE development) and advanced skills in modern, progressive Javascript frameworks, particularly Vue.js using an npm-based toolchain. Web mapping technologies (e.g. OpenLayers), UI design skills and the ability of incorporating feedback from non-technical end users will be important.

The contractor will be required to dedicate a percentage of time (no higher than 20%) to supporting external users and adopters through online support channels and issue tracking. The following requirements describe a general profile that could suit all candidates.

Key Responsibilities:

  • Collaborate to developing, strengthening and debugging the back-end and/or the client components of the k.LAB software stack (including a semantic web node server, a modeling engine, an Eclipse-based modeler IDE and a web-based interface for end users).
  • Collaborate to the definition of unit tests and code review policies for both k.LAB and the associated data/model products.
  • Participate in all aspects of the development life cycle including analysis, design, development, documentation, release and deployment.
  • Communicate and coordinate with both technical and non-technical stakeholders.
  • Collaborate to the administration of the core network components of the k.LAB network in support of active projects (such as ARIES: http://aries.integratedmodelling.org).

The software engineering capabilities sought include:

  • Strong analytical skills and an ability to learn quickly and to think outside the box. Our work is very innovative and you should expect your job to be as intellectually challenging as rewarding. A strong motivation and a desire to learn and explore new technologies are a must.
  • A degree in computer science (or similar), or very good reasons not to have one!
  • Great communication skills, including a very good knowledge of the English language both written and spoken. Most of our communication is in English although knowledge of Spanish and/or Italian will be an asset.
  • An understanding of artificial intelligence, in particular knowledge representation, formal semantics and machine reasoning.
  • A working knowledge of geomatics (OGC services etc.) and dynamic system modelling.
  • An ability to work independently on projects and issues, with projects that include multiple and diverse technologies and scope.
  • An ability to work with a diverse, multi-location and multi-lingual team.

Three or more years of experience in as many as possible of these technologies:

  • 3+ years of experience in developing Java and JavaScript software, with mature design, coding, testing and debugging skills in a JVM environment, but also comfortable and happy to work in a multi-language environment.
  • Full fluency with Git and Maven technologies across the entire build-test-release cycle.
  • Experience with an agile development process with industry-standard issue tracking, continuous development and deployment (BC3 uses the Atlassian toolchain: Jira, Bamboo, Confluence).
  • Experience in designing and implementing high-performance REST service APIs and back-ends, preferably with Spring.
  • A firm grasp of modern web technologies and experience with progressive Javascript framework, ideally Vue.js.
  • Knowledge and experience developing with and for the Eclipse environment.
  • Experience building and delivering “big data” solutions in a production environment (handling large data-sets or working with Hadoop, HDFS and Apache Spark).

 

Location: Basque Centre for Climate Change (BC3), Bilbao, Spain. UPV/EHU Campus in Leioa.  http://www.bc3research.org

BC3 is an internationally recognized research center on climate change, with a multidisciplinary team of high-profile researchers, aims to foster the creation of knowledge with a multidisciplinary scientific approach in order to support better decisions for a more sustainable society.

Interested candidates should send their CV, preferably in English, by electronic mail to us, including the words “IM developer” in the subject. Informal enquiries can be made to Prof. Ferdinando Villa (Ferdinando.villa@bc3research.org), Javier Martinez Lopez (javier.martinez@bc3research.org) and Stefano Balbi (stefano.balbi@bc3research.org). All information received during this process will be handled confidentially.