Getting code into production: Ability to get code of all types including new features, configuration changes, bug fixes, and experiments?into production, or into the hands of users, safely and quickly in a sustainable way
Front end web development : Ability to design, create and evolve user-facing applications to be scalable, maintainable, secure, aesthetic and usable within the constraints imposed by the browser using a combination of languages, design skills, and client-side scripts and frameworks
Backend development : Ability to write, maintain and design the business logic of a software application, the data or services requested are available as well as create and maintain the core databases, data and application program interfaces (APIs) to other backend processes
Requirement Analysis and Articulation: Ability to use relevant artifacts, approaches and processes to understand and communicate what is required and why it is required
Estimation: Ability to apply various estimation techniques to predict the most realistic amount of effort required to develop or maintain software based on incomplete, uncertain and noisy input
Test Driven Development: designs and develops tests so as to specify and validate what the code will do with the goal to make the code clearer, simple and bug-free
Clean Code: applies state-of-art practices of software design and programming
The understanding of the principles, patterns and practices of writing clean code that is easy to evolve
Continuous Integration: Ability to write code in a way that supports Continuous Integration of code, that is, frequently committing changes to a single trunk or master
Performance & Scalability Engineering: Ability to assess, recommend, design, implement, optimize, and troubleshoot measures to ensure systems perform as needed
This includes responsiveness, coping with traffic load, coping with large data sets, and processing times
Securing Applications: Ability to design and implement software which exhibits good security properties and which avoids common weaknesses and vulnerabilities
Key Responsibilities
Legacy remediation: Ability to operate in or around older systems, and devise and execute strategies for modernizing and improving them
This includes awareness of a range of legacy architectures and the patterns and tactics for the stabilization, remediation or replacement of them
The ability to analyze the technical, business, and operational pain-points of applications and broader systems
Identifying incremental steps towards a future state architecture, including techniques for stabilizing with test harnesses, intercepting and rerouting or duplicating functional and data flows, extraction of services or tiers, wrapping with facades or adapters, refactoring, and strangulation and end-of-life
Emotional Intelligence: recognizes, understands and manages their own emotions and recognizes, understands, shares and influences the emotions of others
Collaboration: works jointly with others to co-create and achieve a common goal
This includes learning, practising and experimenting with tools, techniques and frameworks that foster collaborative working environments