• To design, test and develop new features from internal and external customer requests
• Improve and maintain internal and external software systems for data analysis, website delivery, data transfer and big data analytics framework
• Participate in code review of own and other developer's code in accordance with code review guidelines.
• Manage own workload of jobs as tasked by the R&D Manager and Software Developer Team Leader using JIRA task management tools.
• Identify and propose process and system improvements.
• Apply agile software development and test driven development methods to software development activities.
• Configure and maintain software / system deployment scripts.
• Develop and maintain a Windows and Linux based data transfer unit (DTU), including interfacing with USB device drivers and transforming low level data formats.
• Develop and maintain data export formats for third party applications.
• Develop integrations with third party applications (mostly web-based).
• Provide internal and external training of internally developed software systems.
• Produce and maintain technical product documentation.
• Mentor junior developers' technical product understanding and provide coaching to meet internal coding best practices.
• Plan software releases and follow the release procedures.
You'll be great for this role if you have the following experience:
• Proven experience as a Python programmer
• Ability to create SQL queries
• SQL database administration, in particular PostgreSQL
• Website front-end development, specifically in responsive web design
• Experience with JavaScript, jQuery, HTML and CSS (they use Less)
• Agile development methodology
If you have experience with the following it is a bonus:
• Use of Django web framework
• Experience with big data analysis . Spark, AWS/Azure, Map Reduce, Elastic Search
• Knowledge of deployment frameworks . Fabric, Docker
• Use of Continuous Integration frameworks . Jenkins, Travis, Bamboo