Bài 01: HTML và CSS từ Zero đến Hero

Bài 01: HTML và CSS từ Zero đến Hero

  

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

Đăng nhận xét

0 Nhận xét

myadcash