Key Accountabilities:
- Conducts analysis to determine system requirements and system impacts for new or enhanced applications in order to plan and provide estimates for development tasks
- Determines development approach options and recommends the most effective approach
- Engages with business users, business/technical analysts, solution architects and others to understand needs and requirements for project and maintenance development tasks
- Designs and codes quality programs of all levels of complexity in alignment with business requirements and solution architecture for project and maintenance activities
- Conducts unit testing, support during system testing and implementation activities for difficult and complex programs
- Provides emergency technical support and resolution of production problems and other maintenance activities to ensure that applications are performing well and as designed to ensure high system availability, strong data integrity and accurate/timely reporting
- Provides input to the programming practices and standard to ensure these are up-to-date and of a high-quality standard
- Challenges existing processes and practices to continuously drive efficiencies and technology delivery performance
- Mentors and develops analyst programmers to support achievement of key performance indicators, ensuring further development of technical knowledge and service delivery standards
Knowledge, Skills and Experience:
- Bachelor’s degree in computer science or related field gained through 8 or more years of experience in a similar development environment
- Significant knowledge of object-oriented programming, applying SOLID principals and design patterns
- Excellent knowledge of system development lifecycle methodologies including agile
- Proven track record in integration and development of distributed software applications including cloud-based applications
- Highly skilled in analysis, problem solving, troubleshooting, debugging and performance tuning
- Strong verbal and written communication skills
Must Have:
- Strong experience with JavaScript, especially familiar with ES6
- Strong Node JS knowledge; know how to build up RESTful endpoint with Express framework
- Strong SQL skill, familiar with at least one DB product, better to be PostgreSQL
- Has knowledge of microservices; familiar with at least one message queue product, better to be RabbitMQ
- Familiar with Redis
- Heroku platform experience – know how to configure dyno – upgrade / downgrade / attach resources; know how to deploy and monitor app status / logs
- Knowledge with Heroku Connect – know how to setup mapping / bi-way writing / troubleshooting skills
- Strong Git knowledge together with CI/CD experience
Nice to Have:
- SFMC experience, especially know AMPScript / SSJS / GTL for communication via API
- Heroku platform setup – domain, SSL, user access, creating pipelines
- Familiar with Heroku CLI / LogDNA operation
- Familiar with Docker / Kubernates (bonus points)