Designs, implements, tests and documents complex software applications
Provides effective communication with geographically distributed team members
Ensures quality through design/code reviews, TDD and BDD practices
Escalates urgent issues to Engineering Management
Can provide peer advisement to other Software and Associate Software Engineers, through code/design reviews and peer-programming efforts
Interacts with Business Analyst to ensure that specifications are satisfied
Communicates design, reliability and maintenance problems to appropriate internal resources
A Software Engineer may function in a Support Role with the following added responsibilities:
Responsible for debugging, troubleshooting and developing technical solutions in the form of software patches related to software and setup errors
Creates workaround solutions when product procedures have failed and ensures issues are resolved in a timely fashion
Escalates urgent problems requiring more in-depth knowledge to appropriate internal resources
Minimum Requirements:
BS in Computer Science, Software Engineering or other related degrees, or relevant experience
Minimum of 5 years of experience in software development
Strong proficiency in HTML, CSS and core JavaScript concepts
Experience with JavaScript frameworks
Experience with JavaScript libraries management using NPM
Professional experience of ReactJS (functional components)
Strong experience with TypeScript
Experience with Redux and/or Context API
Solid understanding of core web concepts
Experience consuming REST-based web services
Experience of browser dev tools for debugging and trouble shooting
Knowledge of cross-browser compatibility concerns
Knowledge of an IDE e.g. WebStorm or VS Code
Experience of distributed version control systems such as GitHub
Experience with writing automated tests (Jest or other test frameworks)
Experience of continuous integration systems
Ability to work both independently as well as in a dynamic, distributed team environment
Successful completion of a background screening process including, but not limited to, employment verifications, criminal search, OFAC, SS Verification, as well as credit and drug screening, where applicable and in accordance with federal and local regulations
Preferred Requirements:
Knowledge of Windows and Linux.
Experience of frontend performance tuning
Experience with SQL and/or NoSQL databases.
Cloud-based development experience with Amazon Web Services or similar
Experience with Docker, Kubernetes
Experience with build tools such as GitLab CI/CD, Jenkins is a plus
Experience with Monitoring/Logging/Visualization systems such as Datadog, Prometheus, Grafana
Ability to learn third-party documentation while designing and writing code based on this documentation as a sole source of information
Experience with larger-scale software development projects
Knowledge of various Software Development Methodologies (particularly Agile) and experience in all stages of the software development lifecycle is a plus
Knowledge of C++, C#, Python or other languages is a plus