Agoda is an online travel booking platform for accommodations, flights, and more. We build and deploy cutting-edge technology that connects travelers with more than 3.6 million accommodations globally. Based in Asia and part of Booking Holdings, our 6,000+ employees representing 90+ nationalities foster a work environment rich in diversity, creativity, and collaboration. We innovate through a culture of experimentation and ownership, enhancing the ability for our customers to experience the world.
Our Purpose – Bridging the World Through Travel
We believe travel allows people to enjoy, learn and experience more of the amazing world we live in. It brings individuals and cultures closer together, fostering empathy, understanding and happiness.
We are a skillful, driven and diverse team from across the globe, united by a passion to make an impact. Harnessing our innovative technologies and strong partnerships, we aim to make travel easy and rewarding for everyone.
Get to Know our Team:
The Full Stack Engineering Department builds the Agoda web and app products. We have several teams in front-end focusing on different aspects of our products including accommodations, flights, payments, marketing, post-booking services, and more. Agoda’s marketplace is the world. We build localized and optimized user experiences at scale on every major internet platform. These include our mobile websites, native apps, and desktop sites. We hire people from around the world who have a passion for using technology to create and implement the best user experiences. Our teams work on the full stack and build end-to-end systems including user interfaces, APIs, backend systems, and database systems. Our products are always evolving and under experimentation. We accomplish this by having an amazing degree of automation, CI/CD systems, and use a modularized approach. As we are data driven and measure our results, we continually innovate and improve our work. We are looking for the next great talent who strives to learn and grow and has a standard of excellence, strong sense of ownership, and great technical skills.
The Opportunity:
We are looking for key contributors to our industry leading front-end websites. You’ll be working on products which have evolved tremendously over the past several years to become the global market leader.
You’ll be using the most current technologies and best practices to accomplish our goals. Our typical day involves the creation of new end to end systems, building advanced architectures, creation of new features on our high uptime / frequently published websites and apps, development of fast and reliable automated testing systems and working in a culture that is always looking to improve our quality, tools, and efficiency.
In this Role, you’ll get to:
- Lead development of features, experiments, technical projects and complex systems
- Be a technical architect, mentor, and driver towards the right technology
- Build high volume websites with current technologies including TS, React, and GraphQL
- Continue to evolve our architecture and build better software
- Be a major contributor to our agile and scrum practices
- Get involved with full stack engineering and collaborate with server, other client, and infrastructure technical team members to build the best solution
- 5+ years of experience developing web applications in client-side frameworks such as React, Angular, VueJS, etc.
- B.S. in Computer Science or quantitative field; M.S. preferred
- Working experience with agile, analytics, A/B testing and/or feature flags, Continuous Delivery, Trunk-based Development
- Excellent HTML/CSS skills – you understand not only how to build the data, but how to make it look great too
- Excellent understanding of object-oriented JavaScript, TypeScript
- You love new technologies and approaches and want to use the best tools available. We want people who can help us continually evolve our stack
- Great communication and coordination skills
- Excellent analytical thinking and problem-solving skills
- You have a good command of the English language
- Knowledge in physical architecture at scale, building resilient, no single point of failures, highly available solutions
- Knowledge in one or more of the following: NoSQL technologies (Cassandra, ScyllaDB, ElasticSearch, Redis, DynamoDB, etc), Queueing system experience (Kafka, RabbitMQ, SQS, Azure Service Bus, etc)
- Working Experience with Containers and Dockerization, also K8S is a plus
- Knowledge and hands on experience in CI/CD solutions would be a plus
- Strong experience in all aspects of client-side performance optimization,
- Extremely proficient in modern coding and design practices. For example, Clean Code, SOLID principals, and TDD
- Experience in multiple front-end platforms including iOS, Android, Web, and API services
- Have worked on an app or internet company that is at scale with large numbers of users and transactions per second
- Have experience in a data driven company with experience analyzing and working with Big Data
- Lead teams and greenfield projects solving large system problems
- Worked on global projects serving world markets with distributed data centers and localization of the front end and data
#sanfrancisco #sanjose #losangeles #sandiego #oakland #denver #miami #orlando #atlanta #chicago #boston #detroit #newyork #portland #philadelphia #dallas #houston #austin #seattle #sydney #melbourne #perth #toronto #vancouver #montreal #shanghai #beijing #shenzhen #prague #Brno #Ostrava #cairo #alexandria #giza #estonia #paris #berlin #munich #hamburg #stuttgart #cologne #frankfurt #hongkong #budapest #jakarta #bali #dublin #telaviv #milan #rome #tokyo #osaka #kualalumpur #amsterdam #oslo #manila #warsaw #krakow #bucharest #moscow #saintpetersburg #capetown #johannesburg #seoul #barcelona #madrid #stockholm #zurich #taipei #bangkok #Phuket #istanbul #london #manchester #edinburgh #kiev #hcmc #hanoi #wroclaw #poznan #katowice #rio #salvador #IT #ENG #4
Equal Opportunity Employer
At Agoda, we pride ourselves on being a company represented by people of all different backgrounds and orientations. We prioritize attracting diverse talent and cultivating an inclusive environment that encourages collaboration and innovation. Employment at Agoda is based solely on a person’s merit and qualifications. We are committed to providing equal employment opportunity regardless of sex, age, race, color, national origin, religion, marital status, pregnancy, sexual orientation, gender identity, disability, citizenship, veteran or military status, and other legally protected characteristics.
We will keep your application on file so that we can consider you for future vacancies and you can always ask to have your details removed from the file. For more details please read our privacy policy .
To all recruitment agencies: Agoda does not accept third party resumes. Please do not send resumes to our jobs alias, Agoda employees or any other organization location. Agoda is not responsible for any fees related to unsolicited resumes.
Agoda.com là công ty cung cấp dịch vụ lưu trú du lịch trực tuyến hàng đầu tại châu Á, chuyên cung cấp các phòng nghỉ tốt nhất với mức giá thấp nhất cho du khách. CÔNG TY TNHH AGODA INTERNATIONAL VIỆT NAM là một phần của Booking Holdings. Mạng lưới của Agoda.com bao gồm hơn 2.000.000 chỗ ở trên toàn thế giới. Đội ngũ nhân viên đa quốc gia trên khắp thế giới cung cấp dịch vụ đặt phòng hạng nhất bằng 38 ngôn ngữ kết hợp độc đáo kiến thức địa phương và kết nối địa phương để cung cấp các giao dịch tốt nhất cho cả khách doanh nhân và khách du lịch.
Review AGODA VIETNAM
Những người quản lý và lãnh đạo luôn đầu tư thời gian và năng lượng vào việc phát triển sự nghiệp của bạn nhưng công việc đầy thách thức
Môi trường làm việc ổn, được đào tạo, lương cao hơn thị trường nhưng công việc căng thẳng
Được đào tạo, lương cao hơn thị trường nhưng không có cơ hội thăng tiến
Mọi người cũng đã tìm kiếm
Công việc của Kỹ sư phần mềm là gì?
Kỹ sư phần mềm là một chuyên gia trong lĩnh vực phát triển phần mềm, người đã được đào tạo và tích luỹ kiến thức về các ngôn ngữ lập trình, công cụ phát triển phần mềm, quy trình phát triển phần mềm, và các kỹ năng kỹ thuật liên quan. Công việc của kỹ sư phần mềm bao gồm thiết kế, xây dựng, kiểm thử, và duy trì các ứng dụng và hệ thống phần mềm. Họ phải làm việc cùng nhau với các nhóm khác nhau như nhóm thiết kế giao diện người dùng, quản lý dự án, và người dùng cuối để đảm bảo rằng sản phẩm phần mềm hoạt động một cách hiệu quả và đáp ứng các yêu cầu của khách hàng. Kỹ sư phần mềm cũng cần phải theo dõi và nắm vững các xu hướng và công nghệ mới để không ngừng phát triển và cải tiến sản phẩm của họ. Bên cạnh đó những công việc như Thực tập sinh Lập trình nhúng, Lập trình viên, Kĩ sư Lập trình Linux,... cũng thường đảm nhận những công việc tương tự.
Mô tả công việc của Kỹ sư phần mềm
Kỹ sư phần mềm (Software Engineer) là người chịu trách nhiệm thiết kế, phát triển, triển khai và duy trì phần mềm máy tính. Công việc của Kỹ sư phần mềm rất đa dạng và có thể bao gồm các nhiệm vụ sau đây:
Tìm hiểu và xác định nhu cầu khách hàng
Đây là nhiệm vụ quan trọng bởi sản phẩm phần mềm làm ra cuối cùng vẫn nhằm mục đích thỏa mãn nhu cầu khách hàng. Một khi xác định chính xác nhu cầu người dùng, doanh nghiệp đã tìm ra cho mình “la bàn” hữu ích. Theo đó, kỹ sư phần mềm nhận nhiệm vụ khám phá những điều khách hàng thật sự cần, vấn đề họ mong muốn được giải quyết khi sử dụng sản phẩm... nhằm tìm hiểu nhu cầu sâu xa nhất của khách hàng đối với sản phẩm.
Chịu trách nhiệm thiết kế chương trình mới
Sau khi tìm hiểu và nắm rõ nhu cầu của khách hàng, người kỹ sư phần mềm sẽ bắt đầu vận dụng kinh nghiệm, kỹ năng và sự sáng tạo của mình để lên ý tưởng thiết kế ra chương trình, hệ thống phần mềm tối ưu nhất. Mục tiêu là giải quyết được nhu cầu, phù hợp với nguồn lực hiện có của người dùng.
Phối hợp, hướng dẫn lập trình viên tạo ra chương trình
Khi đã có trong tay bản kế hoạch hệ thống phần mềm, công việc tiếp theo của kỹ sư phầm mềm đó là phối hợp, hướng dẫn và giải thích cho lập trình viên về những yêu cầu mà người dùng mong muốn. Qua đó, phần mềm viết ra sẽ đi “đúng đích”, có khả năng làm thỏa mãn nhu cầu người dùng hơn.
Phụ trách kiểm tra và cài đặt chương trình cho khách hàng
Công việc của kỹ sư phần mềm lúc này là sẽ kiểm tra lại toàn bộ hệ thống để xem có hay không gặp trục trặc và tiến hành cài đặt chương trình cho người dùng. Bên cạnh đó, họ còn đưa ra cách sử dụng, giải đáp các thắc mắc nhằm đảm bảo người dùng dễ dàng thao tác và sử dụng.
Tham gia vào hoạt động bảo trì, nâng cấp hệ thống
Đặc điểm chung của các phần mềm thường đỏi hỏi phải nâng cấp, bảo trì để hoạt động trơn tru. Vì vậy theo định kỳ, các kỹ sư phần mềm sẽ theo dõi, kiểm tra, thực hiện nâng cấp hoặc khắc phục sự cố cho phần mềm khi cần thiết.
Kỹ sư phần mềm có mức lương bao nhiêu?
Lương cơ bản
Lương bổ sung
177 - 300 triệu
/nămLộ trình sự nghiệp Kỹ sư phần mềm
Tìm hiểu cách trở thành Kỹ sư phần mềm, 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 Kỹ sư phần mềm?
Yêu cầu tuyển dụng của Kỹ sư phần mềm
Yêu cầu tuyển dụng cho một vị trí Kỹ sư phần mềm thường bao gồm hai tiêu chí quan trọng sau đây: Kiến thức chuyên môn và Kỹ năng cơ bản. Dưới đây là mô tả chi tiết về cả hai:
Yêu cầu về bằng cấp và kiến thức chuyên môn
- Kiến thức về Lập trình: Kỹ sư phần mềm cần phải có kiến thức vững về một hoặc nhiều ngôn ngữ lập trình như Java, Python, C++, JavaScript, hoặc Ruby. Kỹ sư cũng cần nắm vững các thuật toán và cấu trúc dữ liệu cơ bản để giải quyết các vấn đề phức tạp.
- Kiến thức về Cơ sở dữ liệu: Hiểu biết về hệ quản trị cơ sở dữ liệu (DBMS) như MySQL, PostgreSQL, MongoDB, Oracle là quan trọng đối với một Kỹ sư phần mềm. Họ cần biết cách thiết kế, tối ưu hóa và truy vấn cơ sở dữ liệu.
- Kiến thức về Công nghệ web: Nếu công việc liên quan đến phát triển web, thì kiến thức về HTML, CSS, và các framework như React, Angular, hoặc Vue.js sẽ rất quan trọng. Kỹ sư phần mềm cũng cần hiểu biết về kiểm thử phần mềm (software testing) để đảm bảo tính ổn định và chất lượng của ứng dụng.
Yêu cầu về kỹ năng
- Kỹ năng Lập trình và Debugging: Kỹ sư phần mềm phải là những người có khả năng viết mã code sạch sẽ, dễ đọc và khả năng sửa lỗi (debugging) để phục vụ cho công việc của họ.
- Quản lý Phiên bản (Version Control): Sử dụng các hệ thống quản lý phiên bản như Git để theo dõi và quản lý mã nguồn là một kỹ năng quan trọng đối với Kỹ sư phần mềm.
- Giải quyết vấn đề: Đối với lĩnh vực phần mềm, sẽ có rất nhiều vấn đề xảy ra mà bạn không biết trước được. vì vậy, khả năng phân tích vấn đề, tìm ra cách giải quyết vấn đề một cách hiệu quả là một kỹ năng quan trọng của một Kỹ sư phần mềm.
- Làm việc nhóm: Kỹ sư phần mềm thường làm việc trong môi trường nhóm, nên khả năng làm việc và giao tiếp trong nhóm là điều vô cùng cần thiết.
- Kỹ năng giao tiếp: Là Kỹ sư phần mềm thì kỹ năng giao tiếp tốt cực kỳ quan trọng, họ không chỉ truyền đạt nội dung, các vấn đề cấp trên, đối tác, các bên liên quan mà còn phải hướng dẫn cho nhân viên cấp dưới. Giao tiếp tốt là khả năng thuyết phục, kể chuyện, lắng nghe, giải thích,… đều khiến người nghe hiểu, có cảm nhận tốt.
- Chịu được áp lực công việc cao: Mỗi ngày Kỹ sư phần mềm phải giải quyết rất nhiều vấn đề về IT nên gặp áp lực là điều không thể tránh khỏi. Bạn vừa phải phối hợp với các bộ phận khác trong công việc vừa phải đảm bảo yếu tố thời gian và tính chính xác của các mã code. Vì vậy bạn phải thật cẩn thận, có trách nhiệm với công việc của mình và không được để xảy ra sai sót.
- Khả năng sáng tạo và tư duy logic: đây là tố chất quan trọng nhất của một Kỹ sư phần mềm. Để tạo ra một sản phẩm đạt yêu cầu bạn phải có thẩm mỹ tốt, khả năng thiết kế, và sắp xếp vấn đề một cách logic.
- Tự học hỏi nâng cao kiến thức: Xã hội hiện đang phát triển đến chóng mặt, có thể nói mỗi đất nước đều đang chạy đua để theo kịp nó. Là một Kỹ sư phần mềm bạn phải không ngừng học hỏi những kiến thức mới để bản thân không bị tụt lại so với những thay đổi chóng mặt trên thị trường hiện nay.
Các yêu cầu khác
- Kỹ năng làm việc trên máy tính, sử dụng các ứng dụng phần mềm hỗ trợ
- Kỹ năng tổ chức, sắp xếp công việc khoa học
- Cẩn thận, tỉ mỹ, kỹ càng
- Ham học hỏi, có tinh thần cầu tiến
Lộ trình nghề nghiệp của Kỹ sư phần mềm
Kinh nghiệm | Vị trí | Mức lương |
0 - 1 năm | Thực tập sinh Kỹ sư phần mềm | 2.000.000 - 4.000.000 đồng/tháng |
3 - 5 năm | Kỹ sư phần mềm | 15.000.000 - 20.000.000 đồng/tháng |
Mức lương trung bình của Kỹ sư phần mềm và các ngành liên quan:
- Thực tập sinh nhúng: 2.000.000 - 4.000.000 đồng/tháng
- Thực tập sinh Android Developer: 3.000.000 – 6.000.000 đồng/tháng
- Lập trình viên: 12.000.000 - 20.000.000 đồng/tháng
1. Thực tập sinh Kỹ sư phần mềm
Mức lương: 2.000.000 - 4.000.000 đồng/tháng
Kinh nghiệm làm việc: 0 - 1 năm kinh nghiệm
Vị trí Thực tập sinh Kỹ sư phần mềm là một bước khởi đầu trong sự nghiệp của bạn. Trong giai đoạn này, bạn sẽ học và áp dụng kiến thức cơ bản về lập trình và phát triển phần mềm. Bạn sẽ làm việc dưới sự hướng dẫn của những kỹ sư phần mềm có kinh nghiệm và tham gia vào các dự án phần mềm.
>> Đánh giá: Thực tập sinh Kỹ sư phần mềm là vị trí dành cho sinh viên hoặc người mới bắt đầu muốn tìm hiểu về lĩnh vực phần mềm và trau dồi kinh nghiệm thực tế trong môi trường làm việc chuyên nghiệp. Vì đây là vị trí cơ bản nên mức lương cho vị trí này không cao, nhưng nguồn nhân lực thì lại vô cùng dồi dào cũng khá cạnh tranh để có thể trở thành Nhân viên chính thức. Việc làm Thực tập sinh Kỹ sư phần mềm khá rộng mở với cơ hội nghề nghiệp cao.
2. Kỹ sư phần mềm
Mức lương: 15.000.000 - 20.000.000 đồng/tháng
Kinh nghiệm làm việc: 3 - 5 năm kinh nghiệm
Sau khi hoàn thành giai đoạn thực tập, bạn có thể tiến lên vị trí Kỹ sư phần mềm. Trong vai trò này, bạn sẽ tiếp tục phát triển kỹ năng lập trình, hiểu rõ quy trình phát triển phần mềm và tham gia vào các dự án phần mềm. Bạn sẽ làm việc trong nhóm phát triển, tham gia vào việc thiết kế, triển khai và kiểm thử phần mềm. Khi có năng lực tốt, bạn cũng có thể đảm nhận trách nhiệm lớn hơn trong việc thiết kế kiến trúc phần mềm, quản lý dự án và tư vấn về giải pháp phần mềm.
>> Đánh giá: Kỹ sư phần mềm sẽ là vị trí đầu tiên sau khi các bạn được chấp nhận lên chính thức ở các công ty phần mềm. Vị trí này sẽ phụ trách đảm nhiệm các công việc liên quan đến lập trình cơ bản dưới sự phân công của lãnh đạo. Tỉ lệ cạnh tranh của việc làm Kỹ sư phần mềm này cũng khá cao khi nguồn nhân lực dồi dào.
5 bước giúp Kỹ sư phần mềm thăng tiến nhanh trong công việc
Nâng cao trình độ học vấn và kỹ năng chuyên môn
Để nổi bật và nâng cao thu nhập trong vai trò Kỹ sư phần mềm, điều quan trọng nhất là phải có kiến thức vững về các nguyên lý cơ bản của phần mềm và công nghệ thông tin. Việc tham gia vào các khóa học chuyên sâu, các khoá đào tạo trực tuyến hoặc offline, và cả các chứng chỉ quốc tế như CCNA (Cisco Certified Network Associate) hay CompTIA A+ sẽ giúp bạn củng cố và mở rộng kiến thức chuyên môn. Bên cạnh đó, việc thực hành và áp dụng những kiến thức học được vào các dự án thực tế sẽ giúp bạn xây dựng nền tảng kỹ năng mạnh mẽ để giải quyết các thách thức trong công việc hàng ngày.
Tích lũy kinh nghiệm và dự án thực tế
Để không chỉ là một Kỹ sư phần mềm thông thạo về lý thuyết mà còn được công nhận về khả năng làm việc thực tế, bạn nên tích lũy kinh nghiệm thông qua việc tham gia vào các dự án thực tế. Đây là cơ hội để áp dụng những kiến thức học được vào thực tiễn và trải nghiệm công việc như một nhân viên chính thức. Việc có kinh nghiệm làm việc thực tế sẽ giúp bạn phát triển kỹ năng quản lý dự án, giải quyết vấn đề và làm việc nhóm một cách hiệu quả hơn, từ đó tăng cường giá trị cá nhân và khả năng cạnh tranh trên thị trường lao động.
Phát triển kỹ năng mềm và giao tiếp
Bên cạnh kỹ năng chuyên môn, kỹ năng mềm và khả năng giao tiếp cũng là yếu tố quan trọng giúp bạn nâng cao thu nhập và tiến xa hơn trong sự nghiệp. Khả năng giao tiếp hiệu quả không chỉ giúp bạn truyền đạt ý tưởng và công việc một cách rõ ràng mà còn xây dựng được mối quan hệ tốt đẹp với đồng nghiệp và các nhà quản lý. Kỹ năng quản lý thời gian và khả năng làm việc nhóm cũng là những yếu tố quan trọng giúp bạn hoàn thành công việc một cách hiệu quả và nhanh chóng, từ đó tăng cường hiệu suất làm việc và thu nhập cá nhân.
Tự phát triển và đề xuất các dự án sáng tạo
Một trong những cách để nổi bật và đạt được thu nhập cao hơn là tự mình phát triển và đề xuất các dự án lập trình. Các dự án này không chỉ giúp bạn thể hiện năng lực và sự sáng tạo mà còn tạo ra giá trị thực tiễn cho tổ chức. Việc đề xuất và triển khai các giải pháp mới, có tính ứng dụng cao sẽ thu hút sự chú ý của các nhà quản lý và có thể dẫn đến cơ hội được tuyển dụng vào vị trí công việc cao hơn và với mức thu nhập tốt hơn.
Đảm nhận thêm các công việc
Kỹ sư phần mềm có thể chứng minh thêm năng lực làm việc thông qua việc sẵn sàng nhận thêm các nhiệm vụ và trách nhiệm mới. Cùng với đó, họ cần liên tục hoàn thiện kỹ năng và tìm ra các phương pháp làm việc để đạt hiệu quả công việc cao hơn.
Xem thêm:
Việc làm Nhân viên Kinh doanh phần mềm đang tuyển dụng