KĨ NĂNG CẦN CÓ CỦA MỘT WEB DEVELOPER

Hiện nay, một lập trình viên có thể lựa chọn cho mình nhiều hướng phát triển: Lập trình nhúng (Embeded System), lập trình web, lập trình mobile app, … Còn mình thì phát triển theo hướng lập trình web, nên mình sẽ chia sẻ một số kĩ năng mà các bạn cần chuẩn bị nếu muốn theo con đường web developer.

lap-trinh-web-full-stack

Front-end

Front-end là những gì người dùng nhìn thấy và tương tác. Nó là “mặt tiền” của một trang web. Nếu bạn thích thiết kế UI, quan tâm đến thói quen người dùng (UX) thì bạn có thể tập trung phát triển những kĩ năng này để trở thành một front-end developer.

Những kĩ năng bạn cần phát triển bao gồm:

  • HTML/CSS/Javascript cơ bản (Bootstrap, jQuery, NodeJS, Webpack, Gulp,…).
  • Kĩ năng thiết kế, sử dụngPhotoshop chia layout…
  • Kiến thức và kinh nghiệm về UI/UX.
  • CSS, LESS, SASS (stylesheet language).
  • Sử dụng npm, grunt, … để optimize, minimize HTML/CSS/JS.
  • Kiến thức về Ajax, cách thiết kế giao diện responsive bằng Bootstrap …..

Vai trò của Front-end developer trong 1 dự án là khá quan trọng, vì giao diện là thứ đập vào mắt người dùng đầu tiên.

Front-end developer không chỉ thiết kế giao diện đẹp, mà còn phải rõ ràng, dễ sử dụng. Người dùng có thể làm việc mình muốn một cách đơn giản, nhanh gọn.

Một số sách hay để nâng cao kĩ năng front-end:

  • Series Head First, The Missing Manual (Head First HTML & CSS, jQuery The Missing Manual …)
  • Don’t make me think
  • The Design of Everyday Things

Back-end

Back-end là những thứ người dùng không nhìn thấy, nhưng giúp cho hệ thống hoạt động trơn tru. Dữ liệu của người dùng, thuật toán phân tích … đều nằm ở back-end. Nếu front-end là lớp da của một con người thì back-end chính là xương sống của ngôi nhà đó.

Những kĩ năng bạn cần có gồm có:

  • Ngôn ngữ server-side cho back-end: PHP, NodeJS, Java, Python, Ruby, …. Dĩ nhiên là phải bao gồm kiến thức về những web framework.
  • Kiến thức về database SQL: MySQL, và NoSQL như MongoDB, Redis …
  • Kiến thức về các mô hình Web Service: MVC, Micro service, TDD,…

Kiến thức phần back-end rất nhiều và phức tạp, do đó một back-end developer chỉ nên tập trung vào 2-3 ngôn ngữ chính là được.

Code phần back-end thường rất nhiều và “khủng”, do đó cần có cấu trúc tốt, dễ cải tiến và mở rộng (bằng cách áp dụng SOLID).

Back-end developer có thể trau dồi kiến thức để leo lên vị trí Tech Lead, System Analyst hoặc  Software Architecture.

Một số sách hay cho back-end developer:

  • Clean Code
  • Code Complete
  • Head First Design Pattern

Kĩ năng phân tích

Hiện nay, ranh giới giữa front-end và back-end trong lập trình web khá mong manh. Đa phần các web developer thường giỏi về back-end, có kha khá kiến thức về front-end, việc này khá hữu dụng.

Khi biết front-end và back-end là thì bạn đã là fullstack, bạn sẽ biết được một trang web hoạt động như thế nào – từ đầu tới cuối.

Để tăng giá trị của bản thân, ngoài kĩ năng cứng, bạn cần trau dồi kĩ năng phân tích, giải quyết vấn đề : Khách hàng cần gì ở trang web, lượng truy cập là bao nhiêu, làm sao để tăng performance.

Một số sách nên tham khảo:

  • The Pragmatic Programmer: From Journeyman to Master
  • The Passionate Programmer: Creating a Remarkable Career in Software Development
  • Getting Real
  • Cracking the Coding Interview: 150 Programming Questions and Solutions

website_project

 

Sliding Sidebar

About Me

About Me

Hello, my name is Dũng (Johnny). Welcome to my blog.

As I’m a developer, I write about topics related to the field of programming, mainly from a technical point of view. On this blog you’ll find posts which encourage discussion, information about development trends, case studies, reviews, tutorials, tips on how to improve your effectiveness, and anything else that might be fascinating to people from the IT industry.
I love PHP, NodeJS, Java,... and Fullstack.