You’re being taken to an external site to apply.Enter your email below to receive job recommendations for similar positions.
Assistant Research Engineer (till 31 Dec 2024), Centre for Computational Law
Work done will be at the direction of the PI, and where relevant, the Industry Director and Centre Director.As the Programme is interdisciplinary and multidisciplinary by nature, you will be expected to convey yourdomain expertise and edify others (and vice versa) in as productive, constructive, and collaborative a manner as possible.
You may be asked to participate in the development of use cases and delivery of proof-of-concept prototypesfor government and industry partners in the areas of computable contracts and "rules as code". Experience inrequirements analysis and agile, iterative methodologies will be useful at this stage.The work of the team will be largely determined by these use cases and customers. We will work with multipleuse cases so that we can abstract across them and develop generalized, reusable infrastructure. We will workwith specific customers so we can build useful applications on top of that infrastructure.You will contribute to the design and development of open-source software written to serve those use cases.You will work as part of a team of research engineers, developers, and domain expertise and you will beexpected to actively participate in team meetings and text-based communications. You will be expected to beactive members of the applied research community, by validating and contributing to advances incomputational law.
You may be asked to conduct use-inspired research at the direction of the Principal Investigator. This includes
- reading academic papers, standards publications, and related material such as blog posts and presentations;
- coming up to speed in fields which may be new to you, such as computational linguistics, mathematical logic, programming language design, formal verification, and model-based architecture;
- reading (and updating/commenting, relevant) existing software documentation;
- creating presentations, video recordings, walkthroughs, etc. to document and explain research work done;
- writing (and presenting, if so decided by the PI) academic papers and materials for publication; and
- documenting in a sufficiently-detailed manner so as to share what you've learned.
You will be expected to participate in software development; this includes
- learning how to use third party tools, including editors, IDEs, databases, business process modeling software, programming languages, and libraries;
- evaluating competing software systems for suitability;
- building infrastructure to enable application development;
- managing yourself, and managing fellow team members;
- engaging in product, project, and program management as needed;
- reading books and consuming such other media forms about software development;
- writing documentation such as user/developer-facing manuals, tutorials;
- delivering community support to users and customers;
- preparing presentations to represent the project before external audiences; and
- writing actual user-facing applications throughout the "full stack", in each case, documenting, reporting, and/or presenting the same in clearly and efficiently, both internally and externally.
Researchers under the Programme should possess both mastery of their academic speciality, anddemonstrated practical experience producing and supporting high-quality open-source code throughcommunity engagement across multiple media. Candidates must have Bachelor's, Master's, Ph.D., oralternative qualifications in computer science, software engineering, (symbolic) artificial intelligence,computational linguistics, or formal methods.
Fluency in multiple natural languages, and any experience with law, are a plus.
Open-Source Software & Open-Standard Infrastructure EngineeringInternet ꞏ Unix ꞏ TCP/IP ꞏ HTTP(S) ꞏ XML ꞏ JSON ꞏ Schemas ꞏ YAML ꞏ Git ꞏ Github ꞏ TechnicalWriting ꞏ Developer Relations and Evangelism
Parsers, Compilers, and Programming Language TheoryLex/YACC ꞏ alex/happy ꞏ Bison ꞏ CFGs ꞏ EBNF ꞏ BNFC
App DevelopmentTest-Driven Development ꞏ Continuous Integration ꞏ Software Project Management ꞏ Agile / XP / Scrum ꞏ PairProgramming ꞏ Literate Programming ꞏ Unit Testing ꞏ Amazon Web Services ꞏ Docker ꞏ Full-StackDevelopment
Computational Linguistics – Natural Language GenerationComputational Semantics (in Haskell, Prolog, or Lisp) ꞏ Montague Semantics ꞏ Grammatical Framework ꞏ Textplanning ꞏ Surface realizationFamiliarity with: WordNet ꞏ FrameNet ꞏ SenseNet ꞏ Controlled Natural Languages ꞏ Attempto ControlledEnglish ꞏ ACErules
Formal Verification and Specification LanguagesSome familiarity with any of: TLA+ ꞏ Alloy ꞏ IVy ꞏ B Method ꞏ Z notation ꞏ VDM++ ꞏ LTL ꞏ
Theorem Proving and Strongly Typed Languages:CoQ ꞏ Agda ꞏ Idris ꞏ Lean Prover ꞏ F* ꞏ Advanced Haskell (Templateetc) ꞏ OCaml ꞏ Elm ꞏ Isabelle/HOL ꞏ StrangeLoop ꞏ Pony
Model Checkers and SAT/SMT solvers: Z3 ꞏ PAT ꞏ SMTlib ꞏ NuSMV ꞏ SPIN ꞏ Sentient
IDEs, Language Workbenches, and PLT frameworks: K Framework ꞏ JetBrains MPS ꞏ IDEs (Vim, Emacs,Visual Studio Code, Atom, Sublime Text) ꞏ Language Server ProtocolRule Systems and Logics
Formalization of Contracts, Rules, and Business Logic: Akoma Ntoso ꞏ LegalRuleML ꞏ PetriNets ꞏ Drools ꞏ iLog ꞏ OPA ꞏ Neota Logic ꞏ Constraint Handling Rules ꞏ ICAIL ꞏ JURIX ꞏ RuleML+RR
Model Driven Architecture: UML ꞏ BPMN ꞏ DMN ꞏ OCL ꞏ SBVR ꞏ Statecharts ꞏ Activity Diagrams ꞏ ParnasTables
Logics: Hoare Logic ꞏ Kripke structures ꞏ Modal mu-calculus ꞏ Dynamic Logic ꞏ Deontic, Temporal, andEpistemic modals ꞏ Situation Calculus ꞏ Process Calculi ꞏ Multivalent logics ꞏ Defeasible Logic ꞏ BDI ꞏ AbductiveLogic ꞏ F-Logic ꞏ Intuitionistic ꞏ Non-monotonic Logics ꞏ Skolemization ꞏ Well-Founded SemanticsGood Old-Fashioned Artificial Intelligence and Semantic Web
Knowledge Representation and Reasoning: Lisp ꞏ Prolog ꞏ F-Logic ꞏ Flora-2 ꞏ Datalog ꞏ Answer-SetProgramming ꞏ Defeasible Logic ꞏ Expert Systems ꞏ DocAssemble ꞏ lps.doc.ic.ac.uk
Semantic Web and Ontologies:RDFa ꞏ RDFt ꞏ RDF ꞏ RIF ꞏ SWRL ꞏ OWL ꞏ Cyc ꞏ KBpedia ꞏ SUMO ꞏ UFO ꞏ Protégé
- Agile Methodology
- Amazon Web Services
- Artificial Intelligence
- Business Process Models
Help us improve Jobscentral by providing feedback about this job:
For your privacy and protection, when applying to a job online, never give your social security number to a prospective employer, provide credit card or bank account information, or perform any sort of monetary transaction. Learn more.
By applying to a job using Jobscentral you are agreeing to comply with and be subject to the Jobscentral Terms and Conditions for use of our website. To use our website, you must agree with the Terms and Conditions and both meet and comply with their provisions.