Role and Duties:
Performs as a key contributor to an engineering team that builds and supports exceptional products that provide innovative solutions to challenging business use cases, existing system and operational problems.
Participates in architectural design, system analysis, and programming activities on application software; this may often require independent research and study.
Develops high-quality and production-ready software by using best-practice data structures, algorithms, design patterns, and frameworks that are maintainable, scalable, responsive, and secure.
Writes highest quality code with utmost attention to scalability, security and performance and with an end-to-end mindset from conception to delivery and production support, owning specifications, quality, release deployments and monitoring of production health.
Produces complete, simple, and readable technical documentation for everything developed and maintains a team culture of documenting everything.
Tests and ensures quality of all code that developed in line with principles of test-driven development and continuous delivery, utilizing test automation frameworks wherever possible.
Participates in code-reviews, provides technical guidance and mentors software engineers.
Collaborates closely with Engineering leadership, Product Managers, Designers, Test Automation and other teams and business units to define, prioritize, sequence and scope business and functional requirements and drive results.
Instruments infrastructure and application performance monitoring, capacity management, alerting, tools instrumentation and metrics (KPI) management.
Performs impact assessment of product (hardware, software) upgrades.
Assists in planning, coordinating, and executing engineering projects.
Supports and collaborates with other Engineers through evaluation, design analysis, and development phases.
Maintains knowledge, ensures competency and compliance with policies and procedures, in order to be the technical expert while collaborating with cross-functional teams.
- Bachelors degree in Computer Science
- 4+ years experience developing software
- Expertise in building User Interfaces (UI) for externally facing applications.
- Expertise using React to create fast and scalable user interfaces.
- Expertise with Node.js for server-side development.
- Experience with Angular (4+) is nice to have but not required.
- Ability to understand business plans and apply that information into the development of an IT business case.
- Ability to guide, train and mentor associate engineers.
- Highly skilled in developing quantitative cost/benefit analysis to measure improvements.
- Proficient in organizational processes as well as capable of assessing and initiating change of such processes.
- Demonstrates an in-depth knowledge and application of competency and can consult as well as lead others in its application.
- Strong communication (written and verbal) and presentation skills.
- Knowledge of agile development methodologies.
- Ability to develop and maintain key vendor relationships with a focus on technology currency and best practices.
- Life-long learner, process improver.