Duties and Responsibility
· Experience in design and development of Full Stack applications using one or more JS frameworks like ReactJS, AngularJS, NodeJS etc.
· Good architectural & design skills.
· Strong coding, data structures and algorithms.
· The ability to own end to end responsibility – right from requirement to release.
· The ability to produce bug-free and production grade code.
· Experience with third-party libraries, social media integration, and APIs.
· Knowledge / Experience in NodeJS or Python will be a plus.
· Strong Experience with API’s, RestFul API
· Strong Knowledge of PHP, WordPress, JQuery.
· Databases – MySQL / MongoDB
· Experience with Cloud-based (AWS) deployment is a plus Participation in open source projects
· Active involvement in solving problems on Github, StackOverflow and similar other community groups
· Experience working on Agile Methodologies.
· Working knowledge of Drupal CMS will be an add on.
· Responsible for design and development of UI and related Tiers in multi-tiered, scalable applications in the traditional as well as Cloud based environments.
· Extensive experience with object-oriented UI Tier software development methodologies and practices. Ability to design and implement Multi Browser UI Frameworks development, UI Unit Tests, UI Diagnostics, and Performance, Control development.
· Provides knowledge leadership in UI technology standards and architectural governance. Provides guidance to project teams regarding UI guiding principles, system and application design, coding and design standards, best practices, and system performance and availability.
· Technical assessment at all (e.g. platforms, tool proliferation, age of underlying technologies, uptime/availability, business processes)
· Drive the technical strategy and lead team(s) in meeting the strategic objectives. Foster high performing technical teams. Identify and recruit technical leaders into the organization
· Designs complex systems at the component level makes strategic technology choices and directly supervises the quality of designs and implementation inside and between components
· Influence development managers to ensure appropriate levels of quality on owned architecture(s)
· Collaborates effectively with peer architects to solve complex problems spanning their respective areas and resolves a technological disagreement. Arbitrates disagreements among engineers and make decisions where needed convincing the team.
· Support and create a standard Framework for development projects, Common Library of Re-use components.
· Lead collaboration efforts and Mentor other developers, programmers, and designers in conceptualizing and developing new software programs and applications. Liaise with network administrators, systems analysts, and software engineers to assist in resolving problems with software products or company software systems.
· Analyze and assess existing business systems and procedures.
· Research, identify, analyze, and fulfill requirements of all internal and external program users.
· Directives and Framework to consistently write, translate, and code software programs and applications according to specifications.
· Design, run and monitor software performance tests on new and existing programs for the purposes of correcting errors, isolating areas for improvement, and general debugging.
· Participate in critical analysis of test results and deliver solutions to problem areas.
· Generate statistics and write reports for management and/or team members on the status of the programming process.
· Conduct research on emerging application development software products, languages, and standards in support of procurement and development efforts.
· Serve as a technical expert in one or more areas and provide technical guidance and reviews to junior team members.