Làm thế nào để có một công việc lập trình
Làm thế nào để bạn có được một công việc lập trình? Có vẻ như cách thức ở đây là bạn chỉ cần ứng tuyển thật nhiều nơi cho đến khi bạn kiếm được một công việc. Nhưng điều này không hề dễ dàng cho những người đến từ một lĩnh vực khác, hoặc những người chưa có kinh nghiệm lập trình. Để có được một công việc lập trình thì bạn cần phải có kinh nghiệm lập trình trước đã. Thậm chí nếu muốn làm công việc freelance thì bạn cũng phải xây dựng cho mình một hồ sơ portfolio thật đẹp. Ngoài ra, có rất nhiều con đường sự nghiệp lập trình khác nhau. Bạn có thể trở thành một nhà khoa học nghiên cứu về tên lửa, một nhà phát triển web, một nhà nghiên cứu về gen hoặc một lập trình viên phần cứng, v.v… Trong bài viết này của chúng ta sẽ tập trung vào một công việc mà rất nhiều người đang làm hiện nay, đó là lập trình web.
Bạn sẽ cần phải học một số công nghệ khác nhau và phải thực hành thật nhiều với các công nghệ đó. Bài viết này đưa ra một cái nhìn sơ lược về việc làm thế nào để bắt đầu nghề lập trình. Nó không có ý định đi sâu vào bất kỳ lĩnh vực cụ thể nào.
Tìm hiểu HTML/CSS
Ngoài một kiến thức cơ bản về máy tính, HTML và CSS cho phép bạn layout các thành phần của một trang web. Đây là điều cơ bản nhất bạn cần khi lập trình web. Điểm lưu ý ở đây là HTML và CSS không phải ngôn ngữ lập trình. HTML là một ngôn ngữ đánh dấu siêu văn bản, và CSS là ngôn ngữ định dạng cách hiển thị của một trang web. Có hàng ngàn các hướng dẫn về HTML và CSS ở ngoài kia, vì vậy tôi sẽ không liệt kê chúng ra ở đây. Chỉ cần lên Google và gõ 'html tutorial' và 'css tutorial' bạn sẽ dễ dàng tìm thấy vô số các bài hướng dẫn chất lượng.
Tìm hiểu JavaScript và jQuery
Bạn sẽ cần phải học JavaScript. Nó cho phép bạn tương tác với HTML và CSS động và giao tiếp với máy chủ của bạn bằng cách sử dụng Ajax, bạn có thể load tự động các thành phần trên trang web của mình; nó là một ngôn ngữ lập trình, và bạn có thể làm được khá nhiều việc với nó. Nhưng hiện giờ bạn sẽ chỉ sử dụng nó để lập trình web.
Bạn cũng sẽ cần tìm hiểu về jQuery. jQuery là một thư viện được xây dựng cho JavaScript. jQuery đơn giản hóa rất nhiều tác vụ lập trình web mà nếu không có nó sẽ gặp rất nhiều khó khăn. jQuery không phải là thư viện JavaScript duy nhất ở ngoài kia, nhưng nó là thư viện rất thông dụng.
Cũng giống như HTML/CSS, có hàng trăm tutorials có sẵn trên mạng để bạn tìm hiểu.
Trở thành một lập trình viên Front-end
Bạn sẽ cần phải dành nhiều thời gian luyện tập HTML, CSS và jQuery. Bạn nên có kế hoạch từ vài tuần đến vài tháng để tìm hiểu những kiến thức cơ bản về ba ngôn ngữ này. Nếu bạn nghĩ rằng vài tháng là một thời gian khá dài, thì hãy nhớ rằng: chỉ với ba kỹ năng, HTML, CSS và jQuery, bạn đã được coi là một lập trình viên Front-end. Một lập trình viên front-end với vài năm kinh nghiệm sẽ có mức lương từ 75.000 đến 100.000 đô-la/năm ở bất cứ nơi nào trên nước Mỹ này.
Vì vậy, việc mất thời gian để hiểu được sức mạnh của HTML, CSS và jQuery sẽ giúp bạn có các kĩ năng để sử dụng bộ công cụ mạnh mẽ này trong việc thiết kế các trang web cho máy tính và các thiết bị di động.
Lập trình Front-end cũng được gọi là lập trình client-side.
Học một ngôn ngữ lập trình Back-end
Có rất nhiều ngôn ngữ để bạn lựa chọn: Python, PHP, Ruby, Java, C#, và nhiều hơn nữa. Có vẻ như là có rất nhiều ngôn ngữ để bạn phải tìm hiểu. Nhưng theo tôi, bạn nên chọn một ngôn ngữ để bắt đầu việc học này. Tôi nghĩ là Python, nó có cú pháp dễ đọc nhất, và rất dễ dàng cho người mới bắt đầu.
Dưới đây là một vài thông tin tốt. Tất cả các ngôn ngữ lập trình này đều có những phần tương tự nhau: câu lệnh if/else, các vòng lặp for và while, các biến, kiểu dữ liệu, toán tử, cấu trúc dữ liệu và các thư viện chuẩn. Một khi bạn học được những khái niệm này trong một ngôn ngữ, thì cũng sẽ dễ dàng hơn cho bạn học bất kỳ một ngôn ngữ nào khác.
Cũng có một số khác biệt cốt lõi như ngôn ngữ thông dịch (interpreted) vs. ngôn ngữ biên dịch (compiled), mã nguồn mở vs. sản phẩm thương mại, và sự khác biệt về cú pháp. Để trở thành một lập trình viên back-end giỏi thì bạn phải am hiểu nhiều ngôn ngữ lập trình và các phong cách lập trình khác nhau. Giống như lập trình front-end, bạn phải dành nhiều tháng để học lập trình back-end. Một lập trình viên back-end ở Mỹ có mức lương dao động từ 60.000-250.000 đô-la/năm. Các lập trình viên back-end cũng linh hoạt hơn. Trong khi các lập trình viên front-end hầu như luôn là các nhà phát triển web, thì một lập trình viên back-end có thể làm việc trong nhiều lĩnh vực khác nhau, từ web cho đến lĩnh vực tài chính hoặc nghiên cứu.
Một lập trình viên back-end cũng được gọi là một lập trình viên server-side.
Học một web framework tốt
Bước tiếp theo là tìm ra một web framework tốt cho ngôn ngữ lập trình back-end của bạn. Tôi đã đề xuất bạn sử dụng ngôn ngữ Python, và tôi cũng muốn đề xuất bạn sử dụng framework Django.
Một web framework về cơ bản là một thư viện phần mềm giúp đơn giản hóa việc phát triển trang web. Tất cả các web framework tốt nhìn chung đều cung cấp một tập các tính năng cơ bản như xử lý request/response, mô hình hóa cơ sở dữ liệu, các dịch vụ xác thực người dùng, định tuyến URL, v.v...
Django là một web framework tốt dành cho ngôn ngữ lập trình Python. Ngoài ra cũng còn rất nhiều framework khác như: Ruby on Rails cho Ruby, Drupal cho PHP, và nhiều framework khác nữa.
Học một cơ sở dữ liệu
Một cơ sở dữ liệu là nơi mà bạn lưu trữ dữ liệu của mình. Có nhiều lựa chọn về cơ sở dữ liệu, nhưng tôi chọn MySQL. Bạn sẽ cần cài đặt cơ sở dữ liệu và các thư viện MySQL trên máy tính, rồi sử dụng ngôn ngữ lập trình để kết nối tới cơ sở dữ liệu đã cài đặt. Khi cài đặt cơ sở dữ liệu, bạn nên quan tâm vào những loại cơ sở dữ liệu nào mà web framework của bạn hỗ trợ. Cơ sở dữ liệu được hỗ trợ trong một web framework thường được biết đến như một ORM (object-relational mapper) hoặc một model layer. Framework sẽ cung cấp cho bạn một cách để định nghĩa một mô hình dữ liệu và tương tác với nó một cách tự động. Đây là một chủ đề khá lớn và bạn sẽ phải tốn khá nhiều thời gian để tìm hiểu về cơ sở dữ liệu và cách nó làm việc.
Tích lũy kinh nghiệm
Có hai cách để kiếm tiền từ lập trình: hoặc làm việc cho một công ty nào đó hoặc làm việc tự do. Để làm một trong hai điều đó, bạn sẽ cần có một số kinh nghiệm lập trình. Có một số cách để tích lũy kinh nghiệm, và cách quan trọng nhất là luôn dành nhiều thời gian lập trình và cho ra sản phẩm thực tế.
Bạn có thể bắt đầu bằng cách xây dựng một trang web cá nhân cho chính mình. Đây là một dự án nhỏ nhưng rất tốt, và bạn có thể sử dụng trang web này để giới thiệu những công việc bạn đã từng làm. Một khi bạn xây dựng xong trang web của riêng mình, bạn có thể bắt đầu tích lũy kinh nghiệm bằng cách làm việc tự do (freelancer), hoặc tìm một công việc thực tập ở một công ty nào đó.
Tham gia làm Freelancing
Bắt đầu tìm kiếm các dự án freelance nhỏ trên Craigslist, Elance và oDesk. Với những hợp đồng đầu tiên, đừng nhận những dự án lớn mà bạn không đủ khả năng xử lý. Tốt hơn hết bạn nên nhận những việc mình có thể hoàn thành đúng hạn.
Mức thù lao theo giờ cho freelance cũng rất khác nhau. Một lập trình viên newbie thường có mức giá khoảng từ $25-75USD/giờ, và những lập trình viên kinh nghiệm thường có mức giá từ $75-250USD/giờ. Các mức thù lao theo giờ sẽ thay đổi tùy theo khách hàng và do tính chất của công việc mà bạn đang làm. Bạn nên bắt đầu bằng cách nhận giá thấp, và sau đó từ từ nâng giá lên khi bạn trở nên tự tin và có nhiều kinh nghiệm hơn.
Hãy luôn cập nhật trang web cá nhân của bạn với danh sách các công việc mà bạn đã làm cùng các hình ảnh minh họa hoặc trỏ liên kết đến các dự án đó. Hãy giữ cho hồ sơ công việc của bạn luôn cập nhật, và luôn đảm bảo rằng bạn có một mối quan hệ tốt với khách hàng, vì họ cũng có thể là người giới thiệu bạn đến những khách hàng khác.
Lời kết
Nếu bạn kiên trì học tập một vài năm, thì bạn sẽ trở thành một chuyên gia về HTML, CSS, JS, Python, và có thể thêm một vài ngôn ngữ lập trình khác nữa. Bạn sẽ học về lập trình hướng đối tượng OOP, trở thành một chuyên gia về Ajax, và rất quen thuộc với JSON. Bạn sẽ xây dựng các API, các ứng dụng di động, v.v…
Sưu tầm
Các tin mới hơn:
Công ty WSOFTPRO tuyển thực tập sinh PHP.
Công ty Fujinet tuyển Fresher Developer (Web/Mobile/Winform) - Hạn chót 20/12/2018.
Công ty DOU Networks tuyển Lập trình viên Java.
Công ty Hano System tuyển dụng - Hạn chót 30/06/2018.
Công ty Tugo Tourist tuyển Lập trình web - Hạn chót 02/05/2018.
Các tin cũ hơn:
Tuyển Lập Trình Viên Java: Lương 500 - 900 USD/tháng.
Công ty Tinh Vân tuyển Lập trình viên Android - 31/12/2015.
Tuyển Lập Trình Viên PHP - Hạn chót 31/12/2015.
Mobile, Web Front-End/Back End Developers and .NET Developers.
WILLBESOLUTION TUYỂN DỤNG DEVELOPER.