- Tham gia
- 25/02/2015
- Bài viết
- 931
- Được Like
- 1,553
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 ứng dụng di động, … Vì mình đi theo hướng lập trình web, 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.
I. Kĩ năng front-end
Nói đơn giản: 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ế, gần gũi với người dùng thì bạn có thể tập trung phát triển những kĩ năng front-end, trở thành một front-end developer (Lương cũng cao lắm đấy nhé). Những kĩ năng bạn cần phát triển bao gồm:
Một số sách hay để nâng cao kĩ năng front-end:
II. Kĩ năng 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 sơn, lớp vỏ của một ngôi nhà thì back-end chính là giàn giáo, xương sườn của ngôi nhà đó. Những kĩ năng bạn cần có gồm có:
Một số sách hay cho back-end developer:
Kĩ năng phân tích thiết kế
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. Biết cả front-end và back-end, bạn sẽ biết được một trang web hoạt động như thế nào – từ đầu tới cuối.
Lập trình viên front-end, back-end cũng có thể “lấn sân” qua mảng mobile nhờ sự giúp sức của một số framework như Cordova (HTML, CSS, JS), Ionic, Window Phone App (C#), … Để 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. Nhà tuyển dụng sẽ đánh giá kĩ năng này của bạn khi phỏng vấn đấy.
Một số sách nên tham khảo:
Theo Phạm Huy Hoàng - toidicodedao.wordpress.com
I. Kĩ năng front-end
Nói đơn giản: 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ế, gần gũi với người dùng thì bạn có thể tập trung phát triển những kĩ năng front-end, trở thành một front-end developer (Lương cũng cao lắm đấy nhé). Những kĩ năng bạn cần phát triển bao gồm:
- HTML/CSS/Javascript cơ bản (Đừng nghĩ js dễ nhé, khó lắm đấy).
- Một số thư viện/framework nổi tiếng: Bootstrap, jQuery, AngularJS, EmberJS.
- Kĩ năng thiết kế, sử dụngPhotoshop. Kiến thức và kinh nghiệm về UI/UX.
- 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 …..
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
II. Kĩ năng 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 sơn, lớp vỏ của một ngôi nhà thì back-end chính là giàn giáo, xương sườn của ngôi nhà đó. Những kĩ năng bạn cần có gồm có:
- Ngôn ngữ server-side để viết back-end: C#, Java, Python, Ruby, …. Dĩ nhiên là phải bao gồm kiến thức về những web framework đi kèm các ngôn ngữ này: PHP, ASP.NET MVC, Spring, Django, Rails …
- Kiến thức về database SQL: MS SQL Server, MySQL, … Gần đây một số database NoSQL đang khá thịnh hành: Neo4j, MongoDB, …
- Kiến thức về web nói chung, cách viết Web Service, cách đăng nhập và phân quyền .
- Kiến thức về 1 số CMS: WordPress, Joomla, Umbraco, XenForo ….
Một số sách hay cho back-end developer:
- Clean Code
- Code Complete
- Head First Design Pattern
- Sách chuyên sâu về ngôn ngữ/framework: C# in Depth, Pro .NET 4.5, Spring in Action, …
Kĩ năng phân tích thiết kế
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. Biết cả front-end và back-end, bạn sẽ biết được một trang web hoạt động như thế nào – từ đầu tới cuối.
Lập trình viên front-end, back-end cũng có thể “lấn sân” qua mảng mobile nhờ sự giúp sức của một số framework như Cordova (HTML, CSS, JS), Ionic, Window Phone App (C#), … Để 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. Nhà tuyển dụng sẽ đánh giá kĩ năng này của bạn khi phỏng vấn đấy.
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
Theo Phạm Huy Hoàng - toidicodedao.wordpress.com
Bài viết liên quan
Bài viết mới