As a Team Lead/ Engineering Manager within the ClickSend Core Messaging domain, your job would be to work closely with the product lead and enable your engineering team to own the continuous delivery of high quality solutions to our customers. You will be expected to provide both strong people, delivery and technical leadership across your team in order to achieve these.
What you will do:
- Shapes and drive the direction and priorities of the team, actively seeking ways on how the team can better help their stakeholders and maintain focus on delivering customer value.
- Ability to work closely with product manager to prioritise initiatives, take proactive approach in outlining risks/ trade offs and prepare for the upcoming features and customer needs.
- Directly manage a team of full stack engineers using servant leadership approach to engage, grow, challenge and empower engineers to do their best work.
- Lead the team’s ownership of technical architecture, design and requirements of solutions in the team’s business domain.
- Lead the team’s effective breakdown of solutions into work items and the efficient delivery of required changes at high quality.
- Own the team’s end to end delivery of work from creation to production deployment, support and monitoring.
- Effectively delegate tasks, optimise team productivity and consistently achieve fortnightly sprint goals and quarterly goals.
- Liaise with team members, management, and other development stakeholders to ensure projects are completed to standard.
- Identify risks and form contingency plans as soon as possible.
- Own the team’s ways of working and processes, identifying and implementing improvements over time.
- Establish and grow the team’s autonomy, sense of psychological safety and team culture to engage and build motivation within the team.
- Cultural model for the team and company, demonstrating humility, accountability and willingness to admit mistakes and learn from them.
- Grow and maintain a team of full stack engineers sufficiently skilled across the stack (architecture, frontend, backend, database, devops, security, test automation, monitoring) to deliver streams of work with minimal dependencies outside the team.
- Identify and address skill gaps, and participate in hiring decisions and team composition changes.
- Responsible for coaching and managing team members' career and performance.
- Keep up-to-date with industry trends, best engineering practices and new technology platforms.
How success will be measured:
- Your ability to form a productive working relationship with product counterpart to shape the direction of the product and deliver value to our customers.
- Your team’s ability to deliver high quality features and fixes to customers continuously and with minimal dependencies outside the team.
- Your technical ability to architect, design technical solutions, provide technical leadership and deliver high quality software/ features.
- Your ability to shape the direction, focus and priorities of the team to continuously grow the team’s performance, morale and collaboration.
- Your ability to provide effective people, performance management and career development to engineers who directly report to you.
- Your ability to understand your team’s skill gaps and supporting recruitment or upskilling activities to close such gaps within your teams over time.
Required Skills and Qualifications:
- Track record of shaping and driving significant team deliveries with quality, adopting best engineering practices and following Agile principles.
- Experience working with Product Manager to shape the team’s objectives and deliver key results.
- At least 8 years of commercial hands-on experience in NodeJS/Typescript programming
- At least 3 year of experience in the following areas:
- Leading, growing and managing a team of t-shaped full stack engineers
- Software design and architecture in scalable services
- Full stack development including Devops and test automation (BDD & TDD)
- Hands-on commercial experience with NodeJS & Typescript
- Design and implementation of Microservices
- Implementing REST API's and integrating third party API services
- Experience in container technologies and services such as Docker and ECS
- Database experience including NoSQL and RDBMS systems
- At least 1 year of hands-on, real world experience in the following areas:
- AWS Serverless cloud computing technology, frontend framework such as VueJS or similar UI frameworks
- Strong fundamental software development skills and strong proficiency in web-based applications and architecture
- Experience with cloud monitoring particularly Datadog and AWS CloudWatch
- Passion for a clean and beautiful code and best engineering practices
- Excellent verbal and written English communication skills
- Strong analytical skills and ability to solve complex issues
- Ability to work independently with minimal guidance
- Ability to work collaboratively with cross-functional and virtual teams
- People, career and performance management experience
Highly Recommended Skills & Qualifications
- Devops experience including infrastructure as code (IaC) particularly Terraform and deployment tools such as CloudFormation, Anisble, Puppet or Chef
- Serverless Framework experience
- Experience in test frameworks such as Mocha and Jest
- Experience working with NodeJS frameworks, particularly Express and Fastify , Nest , Sails, Meteor, LoopBack or Hapi.js
- Database system experience especially RDS and DynamoDB
- Experience with messaging platform services particularly AWS SQS and RabbitMQ
- Experience with AWS technologies such as CDK, VPC, ECS, Lambda, Cognito User Pool, SNS, Kinesis, ElastiCache and API Gateway
- Experience with CI/CD pipelines particularly CircleCI
- Previous experience working with VueJS and PHP/ Laravel
ADNEOM là Đối tác công nghệ quốc tế chuyên cung cấp web, di động, phát triển phần mềm cũng như nhà máy kỹ thuật số (kiến trúc, devops, đám mây, v.v.) và các giải pháp bảo mật. Tại ADNEOM, chúng tôi tin tưởng vào việc chia sẻ một cách suy nghĩ Công nghệ sáng tạo. Mọi thứ chúng tôi làm đều được truyền cảm hứng bởi thái độ cởi mở, đặc trưng bởi phát triển tài năng, hợp tác, linh hoạt và cách tiếp cận định hướng giải pháp. Trách nhiệm xã hội của doanh nghiệp cũng là trọng tâm của mô hình kinh doanh và cách tiếp cận hiệu suất hợp tác của chúng tôi. Nó khuyến khích các sáng kiến của đồng nghiệp và hướng dẫn của ban quản lý hội tụ hướng tới một tương lai tốt đẹp hơn.
Công việc của NodeJS Developer là gì?
Nodejs Developer là một công việc trong lĩnh vực phát triển phần mềm, chuyên về việc sử dụng Node.js - một môi trường chạy mã JavaScript ở phía máy chủ. Node.js cho phép các nhà phát triển xây dựng ứng dụng web và ứng dụng máy chủ hiệu suất cao bằng cách sử dụng JavaScript, một ngôn ngữ lập trình phía máy khách phổ biến. Node.js Developer phải có kiến thức sâu về JavaScript và các công cụ liên quan để phát triển các ứng dụng đa nhiệm và thời gian thực như ứng dụng web, ứng dụng di động, ứng dụng IoT và nhiều ứng dụng khác.
Mô tả công việc của NodeJS Developer
Node.js Developer là một chuyên gia trong việc sử dụng Node.js để phát triển ứng dụng và dịch vụ web. Node.js là một môi trường chạy mã JavaScript ở phía máy chủ, cho phép phát triển ứng dụng web và ứng dụng mạng hiệu quả và động.
Dưới đây là một số nhiệm vụ cụ thể mà một Node.js Developer có thể thực hiện:
Phát triển và duy trì ứng dụng
Node.js Developer chịu trách nhiệm phát triển, duy trì và tối ưu hóa các ứng dụng web và server-side bằng Node.js. Điều này bao gồm việc viết mã nguồn sạch, hiệu quả và có thể mở rộng, tích hợp với các dịch vụ web và cơ sở dữ liệu, cũng như đảm bảo rằng các ứng dụng hoạt động mượt mà và đáp ứng được yêu cầu về hiệu suất và độ tin cậy.
Tinh chỉnh và kiểm thử
Một phần quan trọng của công việc là thực hiện các bài kiểm tra và tinh chỉnh mã nguồn để đảm bảo chất lượng và hiệu suất. Node.js Developer phải viết và duy trì các bài kiểm tra tự động, phát hiện và khắc phục lỗi, và thực hiện các cải tiến liên tục để tối ưu hóa hiệu suất của ứng dụng.
Hợp tác và hỗ trợ
Node.js Developer thường làm việc trong một nhóm phát triển phần mềm và cần hợp tác chặt chẽ với các nhà phát triển khác, nhà thiết kế UI/UX, và các bên liên quan để đảm bảo rằng ứng dụng đáp ứng các yêu cầu dự án. Họ cũng cần cung cấp hỗ trợ kỹ thuật cho các vấn đề liên quan đến ứng dụng và tham gia vào các cuộc họp và đánh giá dự án để đảm bảo tiến độ và chất lượng công việc.
Node.js Developer thường cần có kiến thức sâu về JavaScript và các khía cạnh liên quan đến phát triển ứng dụng web. Ngoài ra, họ cũng cần hiểu về các nguyên tắc của lập trình hướng sự kiện (event-driven programming) và non-blocking I/O để tận dụng tối đa khả năng của Node.js.
NodeJS Developer có mức lương bao nhiêu?
Lương cơ bản
Lương bổ sung
195 - 325 triệu
/nămLộ trình sự nghiệp NodeJS Developer
Tìm hiểu cách trở thành NodeJS Developer, bạn cần có những kỹ năng và trình độ học vấn nào để thành công cũng như đạt được mức lương mong đợi ở mỗi bước trên con đường sự nghiệp của bạn.
Số năm kinh nghiệm
Điều kiện và Lộ trình trở thành một NodeJS Developer?
Yêu cầu tuyển dụng với vị trí Node.js Developer
Yêu cầu tuyển dụng cho một Node.js Developer thường bao gồm cả kiến thức chuyên môn và kỹ năng cơ bản. Dưới đây là một số yêu cầu phổ biến cho vị trí này:
Kiến thức chuyên môn
- Node.js Fundamentals: Ứng viên cần hiểu rõ về cách hoạt động của Node.js và có kiến thức sâu về các khái niệm cơ bản như Event Loop, Event Emitters, Streams, và Callbacks.
- JavaScript: Hiểu biết về ngôn ngữ JavaScript là điều cần thiết, bao gồm ES6 (ECMAScript 2015) hoặc phiên bản mới hơn.
- Express.js hoặc Framework tương tự: Có kinh nghiệm làm việc với Express.js hoặc các framework Node.js khác như Koa hoặc Nest.js để phát triển ứng dụng back-end.
- RESTful API: Có kiến thức về thiết kế và triển khai RESTful APIs.
- NPM (Node Package Manager): Hiểu cách sử dụng NPM để quản lý dependencies và scripts trong dự án Node.js.
- Asynchronous Programming: Kiến thức về xử lý bất đồng bộ trong Node.js bằng cách sử dụng Promises, Async/Await, hoặc Callbacks.
- Database Management: Hiểu biết về cơ sở dữ liệu, thường là MongoDB hoặc MySQL, và khả năng làm việc với cơ sở dữ liệu thông qua thư viện như Mongoose hoặc Sequelize.
Kỹ năng cơ bản
- Debugging Skills: Khả năng sửa lỗi và gỡ rối trong ứng dụng Node.js.
- Version Control/Git: Sử dụng Git để quản lý mã nguồn và làm việc cùng đồng đội.
- Unit Testing: Hiểu biết về việc viết unit tests và sử dụng các framework/testing library như Mocha, Chai, hoặc Jest.
- Communication: Khả năng giao tiếp hiệu quả trong nhóm là một yếu tố quan trọng.
- Problem-Solving: Kỹ năng giải quyết vấn đề là một phần quan trọng trong việc phát triển ứng dụng Node.js.
- Performance Optimization: Khả năng tối ưu hóa hiệu suất của ứng dụng Node.js.
Ngoài ra, yêu cầu cụ thể có thể thay đổi tùy theo dự án và công ty tuyển dụng. Điều quan trọng là ứng viên cần thể hiện sự quyết tâm và khả năng học hỏi, vì công nghệ Node.js liên tục phát triển và yêu cầu cập nhật kiến thức liên tục.
Lộ trình thăng tiến của Node.js Developer
Mức lương trung bình của NodeJS Developer tại Việt Nam khoảng từ 15.000.000 - 25.000.000 VND/tháng. Mức lương của một Node.js Developer ở Việt Nam có thể thay đổi dựa trên nhiều yếu tố như kinh nghiệm, vị trí công việc, địa điểm làm việc và công ty mà bạn làm việc.
- Đối với Backend Developer, mức lương khoảng từ 15 triệu - 25 triệu VND/tháng.
- Đối với Java Developer, mức lương khoảng từ 15 triệu - 20 triệu VND/tháng.
Lộ trình thăng tiến của một Nodejs Developer từ cấp bậc thực tập sinh có thể được mô tả như sau:
1. Thực Tập Sinh (Intern)
Mức lương: 3 - 5 triệu/ tháng
Kinh nghiệm làm việc: 0 - 1 năm
Thực tập NodeJS (Intern Nodejs Developer) là vị trí thường làm việc ngắn hạn tại các công ty, tổ chức với vai trò học việc, hỗ trợ cho những nhân viên chính thức khác. Thực tập thường sẽ là những sinh viên năm cuối, mới tốt nghiệp ra trường. Tuy vậy, họ cũng có thể là những người chưa có kinh nghiệm muốn phát triển hơn trong NodeJS.
2. Lập Trình Viên Junior (Junior Developer)
Mức lương: 10 - 15 triệu/ tháng
Kinh nghiệm làm việc: 1 - 3 năm
Sau khi hoàn thành giai đoạn thực tập, các junior developer bắt đầu làm việc trong các dự án thực tế. Họ tham gia vào việc phát triển, bảo trì và sửa lỗi các ứng dụng Node.js. Các junior developer tiếp tục học và tìm hiểu cách làm việc hiệu quả hơn với Node.js và tham gia vào các dự án nhóm.
3. Lập Trình Viên Trung Cấp (Mid-level Developer)
Mức lương: 15 - 25 triệu/ tháng
Kinh nghiệm làm việc: 3 - 5 năm
Trải qua một thời gian làm việc, các lập trình viên trung cấp đã có kiến thức và kinh nghiệm đáng kể về Node.js. Họ có khả năng tham gia vào các dự án phức tạp hơn, tối ưu hóa hiệu suất, và thường được giao trách nhiệm quản lý một số thành viên mới. Các mid-level developer cũng có thể tham gia vào việc thiết kế kiến trúc ứng dụng.
4. Lập Trình Viên Chuyên Sâu (Senior Developer)
Mức lương: 25 - 35 triệu/ tháng
Kinh nghiệm làm việc: 5 - 7 năm
Lập trình viên chuyên sâu có kiến thức và kỹ năng tinh vi hơn, thường đảm nhận vai trò quản lý các dự án lớn, tạo ra các giải pháp phức tạp, và đưa ra các quyết định kiến trúc quan trọng. Họ thường cũng là nguồn tư vấn chất lượng về Node.js trong tổ chức.
5. Kiến Trúc Sư Node.js (Node.js Architect)
Mức lương: 35 - 50 triệu/ tháng
Kinh nghiệm làm việc: Trên 7 năm
Là một cấp bậc cao nhất, kiến trúc sư Node.js có nhiệm vụ thiết kế và quản lý toàn bộ kiến trúc của hệ thống Node.js. Họ phải đảm bảo tích hợp các công nghệ mới và định hình chiến lược công nghệ cho tương lai.
Lưu ý rằng lộ trình thăng tiến này có thể thay đổi tùy theo tổ chức và cá nhân, và việc tiếp tục học hỏi và phát triển kỹ năng luôn là quan trọng trong ngành công nghệ thông tin.
5 bước giúp NodeJS Developer thăng tiến nhanh trong công việc
Nâng cao kỹ năng và cập nhật công nghệ mới
Node.js Developer nên không ngừng học hỏi và nâng cao kỹ năng kỹ thuật của mình. Việc tham gia các khóa đào tạo, hội thảo, và các khóa học trực tuyến liên quan đến Node.js, JavaScript, và các công nghệ web mới giúp cải thiện khả năng giải quyết vấn đề và cập nhật các xu hướng công nghệ mới. Đồng thời, việc nghiên cứu và áp dụng các công cụ và thư viện mới sẽ giúp nâng cao hiệu quả làm việc và giữ cho kỹ năng luôn được cập nhật.
Xây dựng và duy trì các dự án cá nhân
Thực hiện các dự án cá nhân hoặc tham gia vào các dự án mã nguồn mở không chỉ giúp củng cố kỹ năng lập trình mà còn cung cấp cơ hội để áp dụng và thử nghiệm các công nghệ mới. Những dự án này có thể được sử dụng như là ví dụ trong hồ sơ cá nhân và giúp chứng minh khả năng sáng tạo và kỹ thuật của bạn với các nhà tuyển dụng hoặc quản lý.
Phát triển kỹ năng lãnh đạo và quản lý dự án
Để thăng tiến nhanh, Node.js Developer cần phát triển các kỹ năng mềm quan trọng như lãnh đạo, quản lý dự án, và giao tiếp hiệu quả. Điều này bao gồm khả năng dẫn dắt nhóm phát triển, quản lý thời gian và nguồn lực, cũng như khả năng giao tiếp rõ ràng với các bên liên quan và khách hàng. Tham gia vào các khóa học về quản lý dự án hoặc lãnh đạo có thể giúp cải thiện các kỹ năng này.
Tích cực tham gia vào cộng đồng công nghệ
Tham gia vào các diễn đàn, nhóm thảo luận, và cộng đồng công nghệ liên quan đến Node.js giúp mở rộng mạng lưới chuyên môn và tạo cơ hội học hỏi từ những người có kinh nghiệm khác. Việc chia sẻ kiến thức, tham gia vào các sự kiện công nghệ, và đóng góp vào các dự án mã nguồn mở có thể giúp xây dựng uy tín và tạo cơ hội cho sự phát triển nghề nghiệp.
Đưa ra và thực hiện các sáng kiến cải tiến
Chủ động đề xuất và thực hiện các sáng kiến cải tiến trong quy trình phát triển và hoạt động của nhóm có thể tạo ra sự khác biệt lớn. Điều này bao gồm việc tìm kiếm và áp dụng các phương pháp và công cụ mới để tối ưu hóa quy trình phát triển, cải thiện hiệu suất ứng dụng, và nâng cao trải nghiệm người dùng. Sự chủ động và khả năng giải quyết vấn đề sẽ giúp bạn nổi bật trong công việc và mở ra cơ hội thăng tiến.
Xem thêm
Việc làm NodeJS Developer đang tuyển dụng