JOB DESCRIPTION Title: Programmer GENERAL PURPOSE: Performs complex professional work in systems development, working as part of one of several small development teams using the Scrum Agile development methodology.
EXAMPLE OF DUTIES: ♠ Works at the highest level of all technical phases of programming; requires a high degree of creative thinking and the ability to use the accumulated knowledge and experience of others as well as their own ♠ Conducts thorough problem analysis in regard to technical system and application programs; documents findings and proposes problem resolution alternatives ♠ Unafraid to make mistakes and willing to try out and develop their own ideas without fear of reprisal ♠ Works as part of a team and embraces the strengths and weaknesses of those around them
MINIMUM QUALIFICATIONS Required: ♠ Experience in Haskell programming
Preferred: ♣ Basic knowledge about Scrum (agile software development methodology) ♣ Knowledge of Computer Science (Computer Science degree preferred but not essential) ♣ Experience in programming distributed, highly available, high-throughput and high performance (HTC/HPC/MTC), concurrent, big data processing infrastructures ♣ Good knowledge of 2D and 3D graphic processing (especially Nvidia CUDA) ♣ Knowledge of Computer Vision (CV) and Artificial Intelligence (AI) in graphic processing ♣ Experience in web application development [ES5/6, CSS3, HTML5, OAUTH, Angular.js] ♣ Verilog knowledge ♣ Experience in software testing
TOOLS AND EQUIPMENT USED ♦ Gentoo Linux operating system ♦ Glasgow Haskell Compiler ♦ Git versioning system ♦ Phabricator project management platform ♦ Jenkins continuous integration server ♦ Hypertable database ♦ ElasticSearch index ♦ Redis key-value store ♦ Nvidia CUDA technology ♦ OpenGL stack ♦ LLVM
WORK ENVIRONMENT
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Accommodations may be made to enable individuals with disabilities to perform the essential functions. ♥ We intend to provide each programmer 15m2 of private walled office space with a door to keep noise to an absolute minimum. Each private space will have 3.5m2 desk space with an additional desk provided for when working in pairs. ♥ The private space is the domain of the employee and may be decorated and set up in whatever way the employee sees fit. The only requirement being the space is kept hygienically clean. ♥ Each team will have a team room (with their own drinks facilities) and each team member’s private space will be attached to this. The team room will have meeting facilities and be the centre of that team’s Scrum activities. ♥ A communal area for all employees will be provided with basic cooking facilities for lunches and dinners and refrigerated storage too. ♥ It is estimated that 24 employees in total will work from the office.
FINANCIAL
REWARD Wages shall be discussed in interview. Those candidates showing outstanding performance and company loyalty will have the possibility of being awarded share capital in the company in the future.