Mid/Senior/Lead Full-stack Java Web Developer
The Job
- Developing new technology and products in the field of education.
- Building application on various platform including web for domestic and abroad customers.
- Giving creative solutions for transforming and upgrading client technologies.
- Work closely with internal teams to implement end-to-end solutions.
- Provide operational support including upgrades, defect fixes and process change activities.
Your Skills and Experience
Must have
- At least 3 years working experience in projects with Java web development.
- Have experience with Spring Frameworks.
- Have experience working with in Web, Web application and RESTful API.
- Have experience working with database like MySQL, Postgre SQL, MS SQL Server, Oracle, MongoDB.
Nice to have
- Ability to work with Javascript Framework (ReactJS/VueJS/Angular).
- Knowledge of AWS Cloud will be an advantage.
- Knowledge of Python also an advantage.
- Familiarity with Code Repository (SVN/Git).
- Good verbal and written communication in English.
- Troubleshooting and communication skills.
- Strong problem solving and analytical skills.
- Ability to work as a team, proactive, well origanized, willing to learn new things, and focus on objectives.
- Experienced in leading a team of at least 3-5 members.
Why You’ll Love Working Here
Be in the culture
- Working, learning from a team of aspiring and ambitious developers.
- Research and challenge your self with the latest techs and current trend in the world: AI, IoT, VR&AR…
- Receive specialized training for improving your knowledge and skill.
- Attend training programs on social skills, team building and project management (Agile Scrum…)
- Sharing and getting consults about your drives, career and self-improving plan.
- Abroad training program and working on-site.
Benefits
- Competitive salaries, based on skill and experiences (1200$-2500$ GROSS).
- Great working hour: 8:45am – 6pm. From Monday to Friday.
- Meal allowance.
- Various bonus (training program with partners, skill development programs, end of year bonus).
- Social, medical and unemployment insurance fully covered as of requirement of Viet Nam’s Labour Code.
- Yearly medical check.
- Published in Recruitment
Tại sao anh em Đép cảm thấy nếu thiếu hơi chị em sẽ rất nguy hiểm??
Thời đại cách mạng 4.0 đang trên đà phát triển mạnh mẽ, người người nhà nhà đổ bộ vào ngành CNTT. Nhưng thật kỳ lạ, tại sao tôi lại thấy đàn ông thì cả rổ còn chị em phụ nữ chỉ có vài mống???
Đúng vậy, số lượng chị em bạn dì tham gia vào ngành CNTT rất là ít. Tỷ lệ nam:nữ tại các công ty công nghệ thường là 9:1, nơi nào may mắn thì sở hữu tỷ lệ vàng là 8:2, còn những nơi nào không may mắn thì sẽ không có tỷ lệ 🙁

Điều này cũng là dễ hiểu khi mà đối với các chị em thì việc tiếp cận, tìm hiểu và nghiên cứu về một ngành kĩ thuật đòi hỏi nhiều sáng tạo như CNTT là một khó khăn khá lớn. Theo các nghiên cứu khoa học, chị em có thế mạnh về trí nhớ hơn là tư duy logic.
Tuy nhiên có một điều khá trớ trêu, đó là bộ phận kiểm thử (tester) lại có rất nhiều chị em bạn dì. Lý do có thể vì đây là một công việc tương đối nhẹ nhàng và cần tính cẩn thận, kiên nhẫn.
Nhưng sự thật đau khổ là ai có thể “độ” được mối quan hệ giữa Đép và Tét??
Nếu xem anh chàng Đép là 1 nhân vật “thiện”, khổ nhọc, vất vả lắm mới làm ra được sản phẩm, thì cô nàng Tét lại đóng vai “ác” chỉ ngồi và nhăm nhe bắt lỗi của cậu chàng Đép tội nghiệp, rồi nhảy lên cười sung sướng khi tìm thấy lỗi. Những lúc như thế rất là gây mất đoàn kết nội bộ và mối quan hệ của Đép với Tét không được tốt như lần đầu nhìn thấy nhau nữa. Đép buồn, Tét cũng có vui bao giờ. Chỉ có Bug là rung đùi sung sướng nhìn đời trớ trêu thôi. À, thì ra là nó, người thứ 3 chen vào giữa cuộc tình của chúng tôi.

Gái đã ít, nay lại còn dỗi nhau, anh em chúng tôi biết sống làm sao? 🙁
Biểu hiện của việc “dương thịnh, âm suy” là như thế nào? Là cả đám đực rựa cả ngày quanh quẩn bên nhau, chơi cùng, ăn cùng, ngủ cùng, đến đi vệ sinh cũng phải rủ nhau cùng đi cho vui. Là khi được thông báo hôm nay có bạn nữ đến phỏng vấn, cả đám anh em phân chia người mở cửa, người rót nước, người ra hỏi thăm làm quen. Các cô gái sẽ được phái mạnh nhiệt tình giúp đỡ trong mọi vấn đề, từ công việc đến cả chuyện tư vấn tình cảm, từ việc dọn dẹp, đến bưng bê đồ ăn, em cứ ngồi đó mọi việc cứ để anh lo. Chưa kể đến những dịp lễ, các chị em được ngưỡng mộ và cưng chiều hết mực, được nhận rất nhiều quà từ cánh mày râu, tình cảm cứ phải gọi là chứa chan dạt dào, người yêu nào có thể bằng được.
Công ty chúng tôi tương đối may mắn, HiveTech có một cô gái làm Front-end hiểu biết và hiểu chuyện, cái gì cô ấy cũng biết, có mỗi biết điều là không biết thôi. Suỵt, tôi đùa đấy. Cô ấy sống vô cùng giản dị. Giản dị không phải do dành quá nhiều thời gian để ngồi code mà quên mất chăm sóc bản thân, cô ấy giản dị bởi phong cách sống. Trước hết, con gái IT thì cũng vẫn là con gái, vẫn nữ tính và điệu đà. Những cô ấy không quá phô trương, không quá ồn ào, lúc làm việc sẽ tập trung cao độ, khi công việc kết thúc lại hòa mình vào những buổi tụ tập đi chơi.

Ngành CNTT không phân biệt nam – nữ, đam mê và tạo nên năng lực sẽ giúp bạn chinh phục được mọi khó khăn. Vậy cớ gì ngăn cản chị em đến với ngành CNTT? Có phải do ảnh hưởng của việc thức đêm thường xuyên cộng với việc tiếp xúc nhiều với máy tính, ngoại trừ việc tặng cho “ngoại hình” một cặp mắt panda, thì còn “khuyến mãi” thêm một làn da con cóc? Nhưng mọi người hãy nhìn cô gái FE của chúng tôi đi, cô ấy chính là niềm vui và cũng là niềm hãnh diện của anh em HiveTech chúng tôi. Cô ấy vẫn nghiêm túc khi làm việc và vẫn thật xinh đẹp khi đi chơi.
CNTT là ngành cần sự tư duy cao, tuy vậy việc tư duy logic cũng có thể rèn luyện được. Chỉ cần có sự đam mê, chịu khó tìm tòi nghiên cứu tài liệu mọi thứ có thể nằm trong tầm tay cho dù có khó khăn và vất vả. Có thể việc theo đuổi ngành CNTT với các chị em sẽ có những bất lợi nho nhỏ nhưng cũng đầy thuận lợi, bởi vì bên cạnh các cô gái đều có những chàng trai đầy nhiệt huyết như chúng tôi mà.
Bạn biết người lập trình ra máy tính đầu tiên là một người phụ nữ rất tài năng không, vì vậy chúc các cô gái sẽ luôn mạnh mẽ – vững tin lựa chọn theo đuổi ngành IT. Chúng tôi – những chàng trai trong ngành, luôn mong ngóng và mở rộng vòng tay chào đón các bạn nữ gia nhập hội. Bởi vì, hơn ai hết chúng tôi hiểu được sự nguy hiểm khi thiếu các bạn, sợ rằng chúng tôi sẽ yêu nhau 🙁
Nguyễn Quang Vinh
- Published in Posts
ĐIỂM KHÁC NHAU GIỮA REST VÀ RESTful
REST (REpresentational State Transfer) về cơ bản là một kiểu thiết kế trong phát triển phần mềm mà có 1 số quy tắc sau:
– Nó nên là stateless
– Nó thường chỉ lấy các resources của server thông qua URI
– Nó thường ko có session
– Chỉ sử dụng phương thức – HTTP
– Dùng các method HTTP: GET, POST, PUT, DELETE để thực hiện các quá trình CRUD (tạo, thêm. sửa, xóa)
– Kết quả trả về thường ở dạng JSON hoặc XML, atom, OData etc. (lightweight data)
REST based services sẽ có một vài những nguyên tắc trên
RESTful services sẽ tuân theo tất cả những nguyên tắc trên
I. Bảng so sánh REST vs RESTful
II. Sự khác biệt chính giữa REST vs RESTful trong các điểm sau:
1. Architecture
Kiến trúc của ứng dụng REST có một máy khách-máy chủ, không trạng thái, bộ nhớ cache, hệ thống lớp và giao diện thống nhất. Nhưng trong các ứng dụng web RESTful, nó đã kết hợp kiến trúc giống như REST nhưng nó được tích hợp sẵn các tính năng độc đáo. Các ứng dụng REST có một hệ thống riêng xử lý thông tin ứng dụng. Máy chủ REST này tương tác với máy khách-máy chủ quản lý sự tương tác của người dùng.
2. Stability
Các máy chủ REST không duy trì bất kỳ trạng thái máy khách nào trong đó máy khách quản lý tất cả các giai đoạn ứng dụng. Yêu cầu đến máy chủ bao gồm tất cả các dữ liệu bắt buộc cần thiết để xử lý chúng. Trong các API RESTful, nếu có bất kỳ biến động nào trong trạng thái, máy khách sẽ trả lời hệ thống để lưu trữ. Lấy dữ liệu tương phản cụ thể từ REST với cơ sở hạ tầng sử dụng các đối tượng phân tán để cản trở thông tin từ các thành phần khác. Nhưng trong các hệ thống REST, máy khách và máy chủ trao đổi kiến thức về trạng thái và dữ liệu. Trong các dịch vụ RESTful, việc che giấu dữ liệu không diễn ra và nó chỉ che giấu việc thực hiện.
3. Cache Ability
Hệ thống REST phải thể hiện phản hồi là có thể lưu trong bộ nhớ cache hoặc không lưu trong bộ nhớ cache. Vì vậy, các khách hàng và cơ sở hạ tầng có thể lưu trữ chúng khi có thể để tăng hiệu suất. Nó có thể thay thế dữ liệu không lưu trong bộ nhớ cache khi không có máy khách nào sử dụng dữ liệu được lưu trữ. Trong các ứng dụng RESTful, trạng thái không thể xóa và thông tin có thể lưu trong bộ nhớ cache có thể truy cập được đến máy khách mọi lúc, mọi nơi.
4. Undeviating Interface
Đó là quy tắc nổi tiếng nhất dựa trên yêu cầu của người dùng. Tính năng trung tâm tách biệt kiến trúc của REST khỏi một sự hỗn loạn phụ thuộc vào mạng khác khi nó được nhúng trên một giao diện không thể tách rời giữa các thiết bị. Các dịch vụ REST cung cấp dữ liệu dưới dạng tài nguyên với một không gian tên riêng và duy nhất.
5. Multi-Layered Architecture
Trong REST, các thiết bị trong hệ thống không thể xem ngoài lớp. vì vậy nó chỉ đơn giản là có thể tăng cường cân bằng tải và tạo một số proxy để tăng cường hiệu suất và bảo mật. Nhưng trong API RESTful, kiến trúc phân lớp được xây dựng trên máy chủ-máy khách nơi các giới hạn không trạng thái được hợp nhất để phát triển một ứng dụng có ranh giới mạnh và tách biệt giữa các ranh giới rõ ràng và khác biệt. Các dataflow ở giữa các lớp dựa trên các yêu cầu của máy khách. Máy khách thao tác dữ liệu hoặc hiển thị nó.
6. Remote Procedure Call on Web Services
Nếu người dùng đề cập rằng nếu một dịch vụ không có trong REST, thì nó đang tìm kiếm tại URI hoạt động hoặc việc sử dụng các dịch vụ trên các động từ HTTP. Nó được gọi là tập hợp tài nguyên thống nhất và nó là biểu diễn cấu trúc của dữ liệu REST. Vì vậy, sự phân tách giữa mỗi khung hoặc lớp này được gọi là REST trong các cuộc gọi thủ tục từ xa. Các dịch vụ web để thêm, lập lịch, xóa bất kỳ đối tượng nào khỏi kho lưu trữ hoặc cơ sở dữ liệu thương mại điện tử có thể được RPC thực hiện trên REST. Liên kết URL duy nhất với truy vấn trên HTTP POST và HTTP GET được sử dụng để tương tác với các dịch vụ bằng cách đăng một tệp và định cấu hình nội dung để hoàn thành yêu cầu. Các lệnh phổ biến được sử dụng để thực hiện các hành động HTTP được sử dụng bởi các dịch vụ REST và RESTful là PUT, DELETE, GET, POST và PATCH với tất cả các giới hạn cụ thể. Các API có cấu trúc có thể trả về các mã duy nhất theo yêu cầu của khách hàng.
7. Maturity Model by Richardson
Các tài nguyên URI sử dụng HTTP làm cho người dùng dự đoán API. Nhưng nếu không thể đoán trước, người dùng có thể tiếp cận các dịch vụ REST cùng với siêu văn bản. Vì vậy, mọi đối tượng có thể được trả về trong ứng dụng kiểm kê bao gồm nhiều liên kết để xóa, chỉnh sửa, nhập hoặc định cấu hình cơ sở dữ liệu kiểm kê của tài nguyên. Các tệp giải thích rằng trước khi bất kỳ dịch vụ nào là RESTful, nó sẽ cung cấp nội dung siêu văn bản như một phần của API. Nhưng nhiều dịch vụ web không đáp ứng nhu cầu này và được gọi là REST. Trong nhiều trang web, các quy tắc được chia thành các phần nhỏ và mô hình Richardson đã tạo ra một REST với nhiều cấp độ tuân thủ với bảo mật nâng cao. Mô hình này cung cấp các hướng dẫn phù hợp, hiệu quả để thiết kế và tạo bất kỳ ứng dụng mới nào.
Tạ Trung Kiên
(Nguồn: Educa)
- Published in Posts, Technology