Database developer là gì? Kỹ năng cần có của Database Developers


Mà khác với anh em Frontend Developers hay Backend Developers. Suốt ngày ngồi lò mò với dữ liệu vậy có sinh ra nhàm chán quá mà trầm cảm không?






Tất cả những câu hỏi, thắc mắc của anh em về Database Developer sẽ được làm rõ qua bài viết này. Ok, bắt đầu thôi nào!.


1. Database Developer cụ thể là làm gì?


Tất nhiên rồi, không có định nghĩa không hình dung được Database Developer là làm gì đâu?


“Database Developers commonly work to a process known as the Software Development Life Cycle (SDLC), which contains six stages: analysis, design, development and testing, implementation, documentation, and evaluation. They work in the IT department of tech–driven organisations in a broad range of industries.”

Database Developer thường làm việc cho một quy trình thường gọi là Quy trình phát triển phần mềm (SDLC), bao gồm sau quá trình chính là phân tích, thiết kế, phát triển và kiểm thử, hiện thực, tài liệu và đánh giá. Họ làm việc trong IT department của nhiều nghành công nghiệp. Họ cũng có thể làm việc tự do cho một loạt khách hàng khác nếu muốn.


À rồi, vậy Database developers vẫn tham gia vào quá trình phát triển phần mềm như những anh em khác trong đội Frontend, Backend hay Product Owner. Nhưng focus vào hệ cơ sở dữ liệu.


Không phải chỉ ăn rồi ngồi rõ query. Một số nhiệm vụ chính của DB Developer bao gồm:


  • Thiết kế hệ cơ sở dữ liệu (Designing database systems – cái này không dễ đâu nha).




Anh em nhớ chỉ là một số nhiệm vụ chính thôi nha. Trong thực tế Database Developer có thể tham gia vào quá trình kiểm thử phần mềm. Bản thân có thể kết hợp mượt mà với QC (quality control) vì bản thân ông Database Developer hiểu rất rõ về dữ liệu hệ thống.


Ngoài ra phần tài liệu về hệ cơ sở dữ liệu cũng quan trọng không kém. Dùng loại nào, có function, có function hay store procedure nào không? Database trigger như nào?,… Tất cả đều được ghi vào tài liệu rõ ràng và cụ thể.

  Dùng Python viết hàm xử lý dữ liệu dưới tầng database cho PostgreSQL

  Quản lý realm database theo hướng micro-service trong iOS


2. Vai trò, vị trí của DB Developers


Rõ ràng là dữ liệu là thứ sống còn với bất cứ ứng dụng hay hệ thống nào. Dữ liệu là thứ quý giá, được bảo vệ kỹ càng. Mà đã là người làm việc với thứ quý giá thì auto trở nên quan trọng đúng không anh em?.


Là người trực tiếp làm việc với Database (hệ cơ sở dữ liệu), tham gia vào quá trình thiết kế hệ cơ sở dữu liệu. Database developers có vai trò vô cùng quan trọng trong dự án.




Thiết kế hệ cơ sở dữ liệu mà không đúng hoặc không adapt được với requirement thì xem như ứng dụng không thể hoàn thành.


Nếu thiết kế hệ cơ sở dữ liệu bị sai mà vẫn đem vào vận hành thì còn thảm hoạ hơn, khi dữ liệu đã là production mà nó còn sai thì anh em chỉ có đường ngồi nhìn.


Anh em Backend developer cần có data test hoặc có câu queries này chạy chậm, hay query chưa đúng business (lấy ra đúng thứ cần lấy) thì biết hỏi ai. Có Database developer thì còn nói gì nữa.


Rồi chị QC cần có dữ liệu để mock test nhưng mà nhìn vào danh sách một đống bảng biểu thư từ thì chị ấy tiền đình ra (do một phần ở nhà có con nhỏ, phóng đại lên tý cho điêu thôi). Mà tạo mock data thì nhờ ai. Lại nhờ Database developer chứ ai?


Một số ví dụ trên cho ta biết Database developer là một vị trí quan trọng trong quá trình phát triển phần mềm. Vậy giờ muốn trở thành Database developer thì cần có những kỹ năng nào?


Đây, có ngay đây!

Tham khảo Jobs Database Developer hấp dẫn trên TopDev



3. Các kỹ năng cần có của Database Developers




  • Hiểu biết về SQL, T-SQL và PL/SQL, DB2 – Proficient knowledge of SQL, T-SQL and PL / SQL, DB2
  • Kinh nghiệm với Oracle database – Experience with Oracle databases
  • Hiểu biết về hệ cơ sở dữ liệu NoSQL – Knowledge of non-relational databases like NoSQL
  • Chuẩn bị data – Knowing how to prepare data
  • Ước lượng tiền – Ability to perform cost calculations
  • Integratioin hệ thống và kiểm thử chất lượng – system integration and quality testing
  • Hiểu biết về hệ điều hành như Windows hoặc Linux – Knowledge of operating systems like Windows and Linux
  • Hiểu biết về ngôn ngữ lập trình như C++ hay Java – Knowledge of programming languages ​​like C ++, Java, C#, etc.
  • Hiểu biết về HTML – Experience with page description languages ​​like HTML



3.1 Nice to have – có thêm càng tốt


Ủa gì có code Java, C++ luôn hở? Tất nhiên rồi anh em ơi, vẫn cần có tư duy lập trình và tốt nhất là nên biết một ngôn ngữ lập trình nào đó. Kỹ sư hệ thống hay kiến trúc phần nhiều họ cũng từ developers đi lên. Nên cũng biết về code, như bài viết về Data Analyist cũng có phân tích với anh em về điểm này rồi.




Phía trên chỉ viết về Oracle với database. Nhưng anh em nếu có kinh nghiệm với các hệ cơ sở dữ liệu khác như Postgres, MySQL, MariaDB càng tốt.


Một số kỹ năng khác nếu có thì là điểm cộng lớn như:


  • Chuẩn bị dữ liệu test – Kiểu mock data phục vụ cho IT (Integrations test), RT (Regression test)
  • Migration data từ hệ cơ sở dữ liệu này qua hệ cơ sở dữ liệu khác (từ Oracle qua Postgres, …). Trước nhớ có đợt Oracle đắt qua các công ty thường chuyển qua hệ cơ sở dữ liệu Postgres.


4. Con đường cho Database Developers


Nói về hiểu biết thì mức độ hiểu biết về hệ cơ sở dữ liệu của Database developer nhất thiết phải sâu và rộng hơn so với Backend developer. Kinh nghiệm về thiết kế DB cũng phải dày dặn hơn. Những kinh nghiệm này có được do đã trải qua nhiều lần sai trước đó về mặt dữ liệu.





Nếu lựa chọn theo hướng Solutions Architect thì cần kinh nghiệm code và hiểu biết rộng hơn về ngôn ngữ lập trình và hệ thống. SA đòi hỏi cái nhìn và góc nhìn bao quát rộng, không chỉ gói gọn ở hệ cơ sở dữ liệu.


5. Tham khảo




Cảm ơn anh em đã đón đọc – Thank you for your time – Happy coding!

Tác giả: Kiên Nguyễn