Job Description :
Determine and identify high-level functional and technical requirements on the basis of interactions with the our end users and internal business teams and knowledge of enterprise architecture.
Design architectures, including the software, hardware and communications, to support the total requirements, as well as to provide for present and future cross-functional requirements and interfaces.
Interact with project management to plan project schedules and technical direction. Provide quality assurance review and the evaluation of existing and new software products. Develop high-level system design diagrams for program design, coding, testing, debugging and documentation. Develop, implement and maintain moderate to complex web applications on one or more platforms.
Required Candidate profile
- Has mentored junior software developers on design patterns, development best practices and DevOps trade-offs
- Bachelor's Degree in appropriate field of study or equivalent work experience
- Understand emerging web and mobile development models
- Experienced with all ancillary technologies necessary for Internet applications: HTTP, TCP/IP, POP/SMTP, etc.
- High scalability projects involving cloud-based infrastructure design and implementation
- Working knowledge of object-oriented design and development skills
- Successful track record of developing quality software products and shipping production ready software
- Good understanding of Web Services protocols such as REST, SOAP and API design for extensibility and portability
- Experience debugging distributed systems with high data loads
- Deep understanding of distributed data model
- Solid understanding of the Software as a Service (SaaS) model in the online environment
- Design, develop and implement unit and scenario testing for existing code base and for new functionality under development
- Experience with Scrum/Agile development methodologies
- Have used MVC frameworks and Queue based architectures in production contexts
- Extensive knowledge of Node.js with MongoDB
- Ability to use version control software such as GIT and SVN
- Working knowledge of commonly used web servers
- Experience as an applications programmer on large-scale data base management systems.
- Experience writing SQL queries for SQL Server or another Relational Database is required
- Knowledge of computer equipment and ability to develop complex software to satisfy design objectives.