Senior Software Engineer (Team Lead)
- Full-time
Company Description
Portonics is a team of technology consultants that specialize in application design, software & mobile application development. Our goal is to help clients understand and make full use of digital technology that can heighten brand awareness and lead to better business.
We are a diverse team of engineers, analysts, and solution architects working on the latest technologies, and running a wide range of projects from business-critical applications to applications serving a large number of customers daily.
We build and manage in-house, client products, and end-to-end services locally and globally. Services include server management, software management, networking, development, deployments, information security, and consultancy.
We are an agile team who are very passionate about what we build. We design solutions to reduce/automate operations. Along with building custom solutions, we leverage open-source technologies. Our teams build, manage, and automate monitoring systems, alerting, and deployments.
As a digital transformation team, we are big on Dev, DevOps culture, and collaboration.
Job Description
ABOUT THIS POSITION
As a Team Lead at Portonics, you will play a pivotal role in leading development projects and ensuring the success of both your team and client engagements. You will oversee the full software development lifecycle, guiding your team in translating business requirements and user stories into robust, scalable solutions.
As a strategic leader, you will articulate design decisions, mentor junior engineers, and collaborate closely with stakeholders to ensure alignment on project goals. We're looking for proactive individuals who stay informed about industry trends and emerging technologies and are eager to tackle complex development challenges while driving the team’s success.
You will be able to,
- Employ secure coding practices including familiarity with OWASP top ten or similar.
- Maintaining coding standards and documentation for developed features such as Class Diagrams, API Documentation, and Sequence Diagrams.
- Write unit tests and work closely with Quality Assurance Teams & Automated Deployments to incorporate unit tests as part of the build pipelines.
- Create scripts to facilitate client systems to meet performance and objectives.
- Test and develop software for client applications.
- Create software documentation created.
- Utilize source debuggers and write or modify client software.
- Work with teams together to estimate and plan the development of features.
- Produce results effectively and within the deadlines set.
- Manage a team of software engineers within a project.
Qualifications
- Preferably B.Sc in Computer Science or a similar discipline, educational qualifications will be relaxed for experienced candidates;
- At least 7 years of experience in software engineering with at least one MVC framework (Laravel, Symphony, etc);
- Experience working with ELK / EFK stack;
- Strong Experience with web services, and AWS technologies;
- Experience in development, and deployment using Docker;
- Experience with peer code review practices, such as the use of GitHub Pull Requests;
- Experience working with issue and task management software, such as Atlassian JIRA or similar;
Must have:
- Must have sound knowledge of object-oriented PHP (PHP 7 and above);
- Strong Knowledge of Javascript and Node.js;
- Strong knowledge of MySQL & PostgreSQL, including writing and optimizing queries;
- Strong knowledge of Redis or Memcached;
- Classes, interfaces, design patterns, encapsulation, inheritance, polymorphism. object-oriented programming is a must;
- Knowledge and experience in a Scrum/Kanban, Agile development environment;
- Knowledge of Machine learning, NLP, model development and deployment;
- Strong analytical and problem-solving skills with the ability to leverage ML/NLP solutions for business impact;
Good to have:
- Experience with PHPUnit, mocha, jest, or similar;
- Experience in server technologies;
- Familiarity with open-source software a plus;
- Familiarity with JIRA, Jenkins, Elasticsearch, Grafana, and Kibana is a plus;
- Experience in Kubernetes will be a plus;
Additional Information
- Communication is extremely important; our team members work across every team in the organization. Candidates need to be able to communicate not only with other developers but also with management, non-tech team members & external parties.
- Someone who will take ownership of a feature or application from initial conception through release while also assisting others when the need arises.
- Have an understanding of virtualization and containerization as a tool for growing scalability, reliability, and expediency.
- Ability to learn and teach new technologies and skills as new technology is introduced.
- Sound mature judgment and decision-making ability.
- Strong analytical and problem-solving skills.
- We are looking for honest, dedicated, and responsible individuals.
- This is a hybrid position and will require you to come to the office and work from home.