Research Associate, Centre for Computational Law

29 Sep 2022
End of advertisement period
28 Oct 2022
Contract Type
Fixed Term
Full Time
  • Contract
  • Manager
  • Bachelor's Degree or equivalent
  • Singapore | Closing On 28 Oct 2022

2-year contract

About Us

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.

Job Description

Help us build open-source tools and technologies that do for legal and qualitative reasoning what the spreadsheet has done for quantitative reasoning.

At SMU's research programme in Computational Law, researchers develop open-source languages and libraries to be shared on Github and used by a future generation of web and mobile apps. We have three to five years to accomplish this goal.

As a member of the team, you will have the opportunity to participate in software projects. This involves:

  • Learning foundational areas of computer science, including data structures, algorithms, programming language theory, and logic
  • Learning how to use third party tools, including editors, IDEs, databases, business process modelling software, programming languages, specification 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
  • Writing user-facing applications throughout the "full stack

Success metrics: You can measure your (external) success in this job by the number and quality of contributions accepted into the research programme's Github repositories. Numerous software development assignments will be available. You can measure (internal) success by how frequently you find yourself in a flow state; by how many new ways of thinking you have mastered; and by how well you can get computers to help you and other people achieve important goals.

Learning opportunities

During your time with us, you will be exposed to areas of computing that lie beyond web/mobile app development, data science, and machine learning. You will learn to see the world as a computer scientist does – in terms of logics, languages, and libraries – and acquire, on the job, many of the skills on Matt Might’s list of “what every computer science major should know”. Working with other junior and senior researchers, you will learn technologies and skills which will be valued across a range of future careers.

You will be exposed to an on-the-job crash course in computer science that includes Unix development; languages like Javascript/Typescript, Python, and Haskell; model-driven architecture with DMN; open-source culture; and cloud computing. You will get to observe senior engineers at work and learn from them. We work with many of the technologies listed below. In your cover letter, please list any items where you already possess some familiarity. You are welcome to add new keywords to better represent your skill set. We list these not as hard requirements but as examples of the things you will have the opportunity to learn.

Open-Source Software & Open-Standard Infrastructure Engineering: Internet infrastructure · Unix · Raspberry Pi · TCP/IP · HTTP(S) · XML · JSON · Schemas · YAML · Git · Github · REST APIs · RFCs · IETF · StackOverflow · Hacker News · Technical Writing · Developer Relations and Evangelism

Software 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

Programming Languages and Frameworks: Javascript · ECMAscript · TypeScript · React · Node · Deno · Python · PHP · Perl · CoffeeScript · PureScript · Elm · Java · Clojure · Scheme · Haskell · OCaml · Common Lisp · Scheme · Unix shell · PowerShell

Documentation: ReStructuredText · LaTeX · Jekyll · Markdown · Org-Mode

Parsers, Compilers, and Programming Language Theory:

Lex/YACC · alex/happy · Bison · CFGs · EBNF · BNFC

Similar jobs

Similar jobs