COMPANY DESCRIPTION
Singapore Management University is a place where high-level professionalism blends together with a healthy informality. The 'family-like' atmosphere among the SMU community fosters a culture where employees work, plan, organise and play together building a strong collegiality and morale within the university.
Our commitment to attract and retain talent is ongoing. We offer attractive benefits and welfare, competitive compensation packages, and generous professional development opportunities all to meet the work-life needs of our staff. No wonder, then, that SMU continues to be given numerous awards and recognition for its human resource excellence.
RESPONSIBILITIES
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 manneras 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 andpresentations;
- coming up to speed in fields which may be new to you, such as computational linguistics, mathematicallogic, 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 modelingsoftware, 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 andexternally.
QUALIFICATIONS
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.
This specialist role requires skills in the following areas (one or two in each category is sufficient):
Open-Source Software & Open-Standard Infrastructure Engineering Internet Unix TCP/IP HTTP(S) XML JSON Schemas YAML Git Github Technical Writing Developer Relations and Evangelism
Programming Languages and Frameworks: Preferred: Haskell or OCaml. Python. Possible alternatives: Common Lisp Racket Scheme Javascript / Typescript / Node.
Formalization of Contracts, Rules, and Business Logic: Akoma Ntoso LegalRuleML Petri Nets Drools iLog OPA Neota Logic Constraint Handling Rules ICAIL JURIX RuleML+RR
Semantic Web and Ontologies: RDFa RDFt RDF RIF SWRL OWL Cyc KBpedia SUMO UFO Protg or a commercial rules engine with ontology support
Model Driven Architecture: UML BPMN DMN OCL SBVR Statecharts Activity Diagrams Parnas Tables Logics: Hoare
Logic Kripke structures Modal mu-calculus Dynamic Logic Deontic, Temporal, and Epistemic modals Situation Calculus Process Calculi Multivalent logics Defeasible Logic BDI Abductive Logic F-Logic Intuitionistic Non-monotonic Logics Skolemization Well-Founded Semantics Good Old-Fashioned Artificial Intelligence and Semantic Web
Knowledge Representation and Reasoning: Lisp Prolog F-Logic Drools Oracle Policy Manager Flora-2 Datalog Answer-Set Programming Defeasible Logic Expert Systems DocAssemble lps.doc.ic.ac.uk
Skills listed below this line are preferred but not required:
Theorem Proving and Strongly Typed Languages: CoQ Agda Idris Lean Prover F* Advanced Haskell (Template etc) 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 Protocol Rule Systems and Logics
Computational Linguistics Natural Language Generation Computational Semantics (in Haskell, Prolog, or Lisp) Montague Semantics Grammatical Framework Text planning Surface realization Familiarity with: WordNet FrameNet SenseNet Controlled Natural Languages Attempto Controlled English ACErules
Parsers, Compilers, and Programming Language Theory Lex/YACC alex/happy Bison CFGs EBNF BNFC
Formal Verification and Specification Languages Some familiarity with any of: TLA+ Alloy IVy B Method Z notation VDM++ LTL CTL
App Development Test-Driven Development Continuous Integration Software Project Management Agile / XP / Scrum Pair Programming Literate Programming Unit Testing Amazon Web Services Docker Full-Stack Development
OTHER INFORMATION
#LI-JN2
Please note that your application will be sent to and reviewed by the direct employer - Singapore Management University