Mid to Senior Level Front-End Developer

Team Overview / Purpose

Agile is a powerful mindset for software development, not only providing benefits to the development team, but also providing a number of important business benefits overall. Agile enables teams to deal with the evolution of requirements and solutions in a more controlled manner. By reorganizing and re-envisioning the activities involved in custom software development, Agile achieves those same objectives in a leaner and more business-focused way. The team at Suntech Innovation have a wealth of Agile experience and are constantly looking to improve the way we work.

Opportunity

As a Front-End Developer, you will design and develop software using JavaScript and associated frameworks to run on a variety of mobile and desktop platforms. You will also leverage lean and agile techniques to ensure that new ideas are rapidly iterated and are pushing forward the state of the art in quality, automation and simplicity of all code and processes. We are particularly focused on leveraging rapid feedback loops to guide ongoing development. You will expect to work collaboratively with the Product Owner, Business and a skilled development team to ensure product cycles are kept as efficient as possible.

Key Responsibilities

• Writing front-end code and tests (with an eye for full stack) as well as leveraging open source technologies to get reliable results
• Improving code quality through testing, refactoring, peer-reviews, and pair programming while emphasizing simplicity
• Championing software quality, innovation and appropriate technology choices.
• Working effectively in an agile team using Scrum, XP and Lean practices, e.g. participating in daily stand-ups, planning sessions, showcases and retrospectives.
• Collaborating with business stakeholders and internal users to design and deliver products that attract new customers and keep them coming back
• Writing end-to-end user stories that steer a technical design that can be iteratively developed by the entire team
• Performing root cause analysis to ensure that mistakes are properly understood and not repeated
• Contributing to coding standards and guidelines as well as setting a good example of adhering to them


Behavioural Competencies Required

• Delivering Tasks Effectively
• Applying Critical Thinking
• Engendering Team Spirit
• Providing Commitment

Essential Skills and Experience

• Extensive knowledge and proficient in the use of Modern web technologies: HTML5, CSS3, Responsive Design and the JavaScript ecosystem e.g. Angular, AngularJS, TypeScript, Webpack, npm, ES6, Jasmine, Selenium
• Thorough Understanding of vanilla JavaScript, and • Object Oriented and Functional programming
•••• MVC/MV* architectures
•••• asynchronous server communication
•••• Experiences using Ionic or a similar framework for mobile site development
• Confident using backend application servers, designing and developing RESTful web services and calling them from JavaScript via JSON
• Able to use Git and understand distributed version control strategies
• Software craftsman, with a rigorous and disciplined approach to writing simple and effective software but not afraid to learn from failure and tell others about mistakes
• Knowledgeable in web software architectures and design patterns
• You champion agile principles and are a strong advocate for Continuous Delivery, TDD, Refactoring and Pair Programming
• Are familiar with using a tracking system such as JIRA.
• Have an aptitude and willingness to learn the business domain and new technologies
• Are a genuinely nice person, opinionated but humble enough to work with anyone

Beneficial Skills and Experience

• Experience of using Google Analytics to track product usage and drive feature prioritisation as well as 0familiarity with applying A/B testing techniques.
• Track record of delivering responsive and accessible applications that are optimised for search and performant under high traffic volumes.
• Knowledge of multi-threaded programming and concurrency
• Experience using virtual services like Docker to automatically build new environments for development and testing
• Comfortable working in a Linux environment with scripting languages
• Interested in full stack development and a dev-ops approach to delivery