HTML là chử viết tắt của Hypertext Markup Language. Nó giúp người dụng tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các doạn văn, heading, links, vv....
CSS: là ngôn ngữ tạo phong các cho trang web - Cascading Style Sheet Language. Nó dùng để tạo phong cách và định kiểu cho những yếu tố được viết dưới dạng ngôn ngữ đánh dấu, như html.
Bảng sau là một số vị trí trong nấc thang nghề nghiệp, khi đi làm tại một công ty phần mềm:
Fresher/Junior developer Là các bạn sinh viên thực tập, sinh viên mới ra trường, sẽ được công ty đào tạo thêm về quy trình làm việc, văn hóa công ty, các kĩ năng, kiến thức, công nghệ, để có thể làm việc cùng mọi người trong công ty. Công việc thường là tìm hiểu dự án hiện tại, làm một số chức năng nhỏ, sửa một số lỗi, làm việc dưới sự trợ giúp của những người có kinh nghiệm. | |
Developer Là người đã có kinh nghiệm làm việc từ một tới ba năm, đã làm qua một số dự án. Sau vị trí developer, có thể lựa chọn để đi theo một trong hai hướng sau: | |
Hướng quản lý | Hướng kĩ thuật |
Team leader Là người quản lý một nhóm nhỏ (3-6 người), cùng lập trình với các thành viên trong nhóm, họp với cấp trên, báo cáo với khách hàng, quản lý các thành viên. | Senior developer Là người hiểu sâu về công nghệ, quy trình, đưa ra được các giải pháp, hướng dẫn cho người mới, xem xét và đánh giá mã nguồn của các thành viên. |
Project manager Là người làm công việc quản lý, lãnh đạo, báo cáo, phỏng vấn tuyển người cho dự án. Chịu trách nhiệm về sự thành công hay thất bại của dự án. | Technical lead Là người có hiểu biết sâu và rộng về công nghệ, quy trình; lựa chọn công nghệ, thiết kế, quy trình cho dự án. |
Manager Là người quản lý cấp cao, công việc hàng ngày là: giao việc, phỏng vấn, họp, trao đổi công việc với các bộ phận, phòng ban. | Software architecture Là người có kinh nghiệm từ mười đến hai mươi năm trong nghề, có khả năng đánh giá giải pháp, lập nhóm, đưa ra lựa chọn về kiến trúc hệ thống. |
Một số công việc khác Sales: Người bán hàng BrSE: Kĩ sư cầu nối Business Analyst: chuyên viên phân tích nghiệp vụ | |
Trong lập trình web, thường có ba hướng đi sau:
Tên công việc | Mô tả |
Lập trình front-end | Lập trình các phần liên quan đến giao diện người dùng. Nếu coi trang web như một ngôi nhà, thì front-end chính là lớp sơn, là mặt tiền của ngôi nhà. |
Lập trình back-end | Lập trình các phần liên quan đến xử lý logic, xử lý dữ liệu. Nếu coi trang web như một ngôi nhà, thì back-end chính là hệ thống cốt thép, bê tông, điện, nước của ngôi nhà. |
Full-stack | Làm việc với cả hai vai trò: lập trình front-end và lập trình back-end. Ngoài ra, còn làm việc với vai trò của một người thiết kế (designer), người phát triển và triển khai (DevOps)(Development & Operations)[4] |
Khi đi làm, việc lựa chọn theo front-end, back-end hay full-stack phụ thuộc vào tính người, có người thích tìm hiểu rộng, có người thích tìm hiểu sâu, có người rất giỏi: vừa có khả năng hiểu rộng lại vừa có khả năng hiểu sâu. Vậy, tùy sở thích và khả năng để lựa chọn hướng đi, quan trọng là phải hiểu và làm việc thật chuyên nghiệp trong công việc của mình. Khi làm một hệ thống càng lớn thì yêu cầu về tính chuyên nghiệp và sự chuyên môn hóa càng cao, vì vậy không nhất thiết phải cố gắng bằng mọi giá để trở thành một full-stack, cứ học và làm theo đúng sở trường của bản thân là tốt nhất.
Khi học thì nên vừa học front-end vừa học back-end ở mức cơ bản, để xem bản thân mình phù hợp với hướng nào, sau đó sẽ tập trung học thật tốt, thật sâu vào một hướng. Ngoài ra, dù làm về front-end thì cũng phải biết cơ bản về back-end và ngược lại.
Kiến thức | Mô tả chi tiết |
Kiến thức chung (dù theo front-end hay back-end) | - Kiến thức nền về Hệ điều hành, Kĩ thuật lập trình, Cấu trúc dữ liệu và thuật toán, Lập trình hướng đối tượng, Cơ sở dữ liệu - Kiến thức nền về WWW, mạng máy tính - Kĩ năng và thái độ về khía cạnh kĩ thuật (cách viết mã, lựa chọn giải thuật, tổ chức mã nguồn chuyên nghiệp), cũng như khía cạnh nghề nghiệp (cách làm việc chuyên nghiệp, hiệu quả và hạnh phúc với nghề) - Phần mềm Quản lý phiên bản/quản lý mã nguồn: Git, SVN, TFS - AJAX / Web API - RESTful API / HTTP method - Cơ bản về lập trình front-end và back-end |
Front-end | - HTML, CSS, JavaScript - Các thư viện và framework phổ biến (ví dụ: jQuery, Bootstrap, AngularJS, ReactJS, VueJS) - Responsive design, UI/UX - Các kiến thức nâng cao (ví dụ: mô hình MVC, design pattern, lập trình bất đồng bộ trong JavaScript) |
Back-end | - Các ngôn ngữ phổ biến: Java, C#, PHP, Ruby, Python, NodeJS - Cơ sở dữ liệu (SQL, mySQL, MongoDB) - Mô hình MVC, Design pattern - Các framework của mỗi ngôn ngữ - Các kiến thức nâng cao (ví dụ Dependency Injection, Inversion of Control, SOLID) - Các kiến thức về triển khai, bảo mật |

0 Nhận xét