Software Engineer Intern
ROKA Technology is working on modern machine learning and artificial intelligence algorithms to build next generation multi-channel commerce platform. We are also building community of innovators and makers to tackle modern challenges faced by humanity with technology. We are based in Singapore at NUS BLK71/
Write design/development/implementation proposal document using restructured text (rst format) template following guidelines (similar to Python enhancement proposals).
Divide the proposal into implementation tasks in lightweight project management system called Taiga (https://taiga.io/)
Write code or do setup as required in the tasks with relevant Python language framework or other tools necessary.
Use mercurial (hg) distributed version control system to manage all the source code with every commit linked to tasks in taiga.
Use Kallithea Source Code Management for code reviews.
Use python pytest framework to write automated tests.
Write necessary build scripts or continuous integration scripts as required.
Update tasks in trac as completed.
Work on other tools if necessary to help other team member, may involve helping with testing, writing code, debugging, design user interface etc.
Frontend UI/UX design using Polymer Web Starter Kit from google.
Designing a frontend application for backend REST API's.
Generate front-end deployable code using vulcanize and crisper using Polymer Web Components.
Knowledge of english language to write effective enhancement for platform.
Python language programming with emphasis on data structures, decorators and meta programming.
PostgreSQL database server with SQLAlchemy ORM framework (especially use of JSONB, UUID datatype).
Python WSGI and related framework like flask, falcon, django.
Knowledge of REST API and http protocol version 1.1 and 2.0
Asynchronous and synchronous task management using celery framework.
Writing tests using python pytest framework.
Writing scripts for continuous integration.
Working knowledge of continuous integration using buildbot or jenkins.
Desirable to have knowledge of asyncio in python 3.
Knowledge of UI/UX design principle, especially in line with the book "Don't make me think".
Very good understanding of w3c standards especially:
HTML5 - Web Components, Web Workers
ES5 (ES6 optional)
Knowledge of token based authentication especially using JSON Web Tokens (JWT).
Working knowledge of Polymer Web Components (http://www.polymer-project.org/) is desirable
Knowledge of distributed version control like git or mercurial.
Knowledge of code reviews, pull requests.
Knowledge of ecommerce and retail commerce desirable.