About the Role
You will be working closely with our product development team and technology experts in a high-performance environment. You will be working on building a Cybersecurity software that will make enterprise grade cybersecurity accessible to SMBs. We believe in #TechforGood where our base product will be offered as a free download with users having the ability to upgrade to paid versions that meet their needs.
As a full stack developer, you will get the opportunity to develop new functionalities for both Linux and Windows platforms. While this role does not require you to have many years of experience, you will have the opportunity to rapidly deepen your skills on the project and working with high-performance teammates. You may also have the exciting opportunity to work across multiple industries and use cases, and potentially grow your career further with us!
Role and Responsibilities
The candidate is expected to perform the following duties:
· Perform product systems analysis and design.
· Analyze systems specifications and develop our product to support the use cases and user stories.
· Prepare detailed specifications from which complex programs will be written.
· Deliver a complete full stack application
· Ensure high performance on mobile and desktop
· Write tested, idiomatic, and documented JavaScript, HTML and CSS
· Coordinate the workflow between the graphic designer, the HTML coder, and yourself
· Resolve abstract problems with the back-end applications in the process of building the RESTful API
· Collaborate with the stakeholders, the users, the build team and other development partners to implement state-of-the-art user experiences.
· Design, code, test, debug, document and maintain the software.
· Evaluate and resolve software development modelling issues and coordinate implementation of modifications or enhancements. Evaluate interrelationships in immediate programming area to determine how changes in one program will affect another related area. Analyze and revise system logic. Recommend the development of new code or reuse of existing code.
· Responsible for process modelling, code generation via rapid application toolkits, testing, implementing, maintaining and supporting the software to be delivered on time (in sprints) and within budget.
· Work closely with Product management team to understand business requirements that drive the analysis and design of quality technical solutions. Participate in component and data architecture design, and performance monitoring.
Experience and Personality Ideals
· At least 2 years of experience in the front-end development framework, application development, systems testing or other job-related experience.
· Good understanding of front-end development tools and technologies.
· Experienced in web technologies such as HTML5, CSS3(Bootstrap), JavaScript, jQuery and Ajax.
· Experience building REST APIs using Python and NodeJS and familiarity with OpenAPI.
· Experience building web applications using AngularJS, ReactJS, NodeJS, html, css, jquery/javascript and Redux.
· Experience with Windows Powershell and Linux shell, writing shell scripts in bash, python, ps scripting.
· Experience with Regular expressions for log entry pattern matching.
· Familiarity with Git and NPM.
· Familiarity with Serverless or microservices design and implementation.
· Basic understanding of Cloud technologies - AWS or Microsoft Azure.
· Web development quality assurance: automated testing, code linters (ESLint, Pylint), cross-browser compatibility, responsive design.
· Experience with Elastic (ELK) Stack will be advantageous.
· Understands coding best practices and writing clean code.
· Strong understanding of applications/development, quality assurance and integration methodologies, concepts, and facilities in a cloud environment.
· Interest or familiarity with Cybersecurity concepts will be advantageous although not essential.
· Strong analysis, decision-making, and problem-solving skills.
· Demonstrates logical abstract thinking and assimilating/adhering to project goals and deadlines.
· Ability to establish and maintain effective working relationships with employees, clients, vendors etc.
· Strong knowledge of relevant operating systems, rapid application development tools and their usage.
· Resourceful and able to manage your own work with minimal supervision.
· Ability to communicate effectively verbally and in writing.
· Able to work well under pressure and as part of a team.
· Good interpersonal skills
· Pays attention to detail.
· Know how to have fun in challenging situations
Qualifications and Education Requirements
· Degree or Diploma in Infocomm Technology would be advantageous
· Fluent in English, written and spoken