Software Engineer (Node.js)

  • Full-time

Company Description

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

We are seeking a highly skilled and experienced Senior Node.js Developer to join our team. You will play a key role in developing and maintaining our core backend infrastructure and applications, ensuring scalability, performance, and reliability. You will have the opportunity to work on challenging and impactful projects, collaborate with talented engineers, and contribute to the overall success of our company.

  • Design, develop, and maintain robust, scalable, and efficient Node.js applications using industry best practices.
  • Collaborate with front-end developers to ensure seamless integration between the client and server sides.
  • Implement clean, well-documented, and maintainable code adhering to our coding standards.
  • Write unit and integration tests to ensure code quality and stability.
  • Stay up-to-date with the latest Node.js technologies, frameworks, and libraries.
  • Contribute to the overall architecture and design of our applications.
  • Participate in code reviews and provide mentorship to junior developers.
  • Identify and troubleshoot performance bottlenecks and implement solutions for optimization.
  • Work collaboratively in a fast-paced, agile environment.
  • Be proactive in identifying and proposing improvements to our development processes.

Qualifications

Bachelor's Degree in Computer Science or related field; with 3+ years of industry experience or equivalent combination of education, training, and experience;

Must have:

  • Excellent JavaScript, and NodeJS development experience;
  • In-depth knowledge of Node.js core concepts and frameworks (Express, NestJS, etc.)
  • Experience with various databases (MySQL, PostgreSQL, MongoDB, etc.)
  • Strong understanding of RESTful APIs and API design principles
  • Experience in containerization technology such as  Docker
  • Experience with testing frameworks (Jest, Mocha, etc.)
  • Excellent problem-solving and debugging skills
  • Strong communication and collaboration skills
  • Demonstrated experience supporting enterprise-level, mission-critical applications;
  • Exceptional written and oral communication skills, able to synthesize complex information into succinct executive summaries for internal and external audiences;
  • Good verbal and written communication skills in English;

Good to have:

  • Experience with PHP (8+)
  • Experience with Next.js
  • Experience with Redis/Memcached
  • Experience in server technologies, specifically AWS/Azure/GCP
  • 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 engineers 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.