Senior Full-Stack Developer
- Gathers/analyzes requirements, prototypes, develops, tests, modifies, and documents complex systems requiring thorough knowledge of client applications and business processes with little or no supervision
- Transform software designs and specifications into high functioning code in the appropriate language
- Works effectively as a senior technical team member and serves as a mentor by providing advice, coaching and educational opportunities to other developers in the processes and used patterns
- Work with sensitive and proprietary information with discretion and confidentiality
- Collaboratively creates/update architectural frameworks to develop and enhance the approach used for software design and analyze existing and new technologies for all applications
- Managing external team i.e. freelancers and ensuring they followed company polices i.e. code quality
- Staying up to date with new technologies and teaching other developers how to incorporate them
- Generating ideas with team members and offering insightful solutions
- Attending meetings and briefings with clients, designers, developers and project staff for progress update
- Develops solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
- Documents and demonstrates solutions by documentation, problem definition, requirements flowcharts, layouts, diagrams, charts, code comments and clear code
- Updates job knowledge by studying state-of-the-art development tools, programming techniques, and software development; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations; attending technical trainings, seminars, users’ groups, and conferences, as appropriate
- Shows appetite and aptitude for owning responsibility of technical decisions and direction for projects/teams and shows willingness to delegate technical execution/responsibilities when appropriate.
- Acts as a liaison or primary point of contact for communicating with client-side technical expertise.
- Attends to both business and technical considerations when designing solutions to project/team or company related issues.
- Evaluate company level of best practices, standards, and policies as it related to software development.
- Provides thought-leadership as it relates to emerging technologies and readying our company and engineers for productively integrating the same into our business
- Attend and speak at web development conferences and workshops
Qualifications and Skills
- BSc/BA in computer science, software engineering or relevant discipline
- Stay plugged with emerging technologies/industry trends software innovations and apply them into projects and committed to continually building on existing knowledge and skills
- A desire to innovate and create cutting edge programs
- Self-confident, leadership, fast learner, energetic, upbeat, proactive, responsible, trustworthy, teamwork, creative problem-solving, decision making, analytical mindset, critical thinking, Strong work ethic i.e. discretion and confidentiality, exceptional attention to detail and excellent concentration ability
- Fluent in English
- Project management, presentation and reporting skills
- Mastery knowledge of web development principles, object oriented programming, and best practices i.e. HTML, CSS, PHP, Laravel PHP framework, JavaScript, React js
- Mobile development using React Native
- Strong understanding of security principles, UI, UX, cross-browser compatibility, and SEO
- Excellent knowledge with relational databases, SQL and ORM technologies
- Experience with automation, dependency management (NPM, Composer) and Git version control, CI/CD (GitLab, GitHub, Jenkins)
- Build and test Application Program Interfaces (APIs) for applications to exchange data
- Experience of development methodologies (such as Agile and Waterfall)
- Ability to work independently with minimal supervision and reliable professional judgment, as well as collaboratively with a team and across the organization to achieve desired results.
- Enthusiasm for and experience in team building and skills in a collaborative working environment.
- Possesses outstanding interpersonal relationship and communication skills, along with an understanding of the inherent need to establish and maintain effective and collegial relationships with staff, customer, and stockholders.
- Time management and strong organizational skills to efficiently prioritize and juggle multiple tasks within the constraints of timelines in a fast-paced environment.
- Ability to remain calm, work and thrive in a fast-paced, dynamic, high-pressure environment, learn rapidly and master diverse web and mobile technologies and techniques