Thứ Năm, 21 tháng 7, 2016

Kỹ năng lập trình giúp bạn dễ dàng kiếm việc làm trong nhiều lĩnh vực khác nhau.

Học lập trình có rất nhiều lợi ích. Ngoài những việc rõ ràng (như có thể xây dựng các trang web và các ứng dụng di động), các kỹ năng lập trình có thể làm cho bạn nổi bật khi bạn tìm kiếm cơ hội nghề nghiệp. NGAY CẢ cho các vị trí không liên quan đến việc viết code hàng ngày. Hoặc không dính dáng chút gì tới code!
Như người ta nói: các kỹ năng số (digital) là những kỹ năng công việc. Và đó là sự thật!
Trước khi đi sâu vào tất cả các cơ hội việc làm do kỹ năng lập trình mở ra cho bạn, hãy để tôi cung cấp một ví dụ về việc tôi đã sử dụng các kỹ năng lập trình của mình để có thể kiếm được những công việc không liên quan đến lập trình như thế nào.

Những công việc không phải lập trình tôi đã xin được bởi vì tôi có thể viết code

Hầu hết các cơ hội công việc không liên quan đến lập trình mà tôi có được là nhờ các kỹ năng của tôi liên quan đến viết lách hoặc marketing.
Một ví dụ là công việc mà tôi làm cho Josh Owens. Josh là một nhân vật nổi tiếng trong cộng đồng Meteor.js.(Meteor.js là một "nền tảng mã nguồn mở để xây dựng web và các ứng dụng di động bằng JavaScript thuần khiết"). Ông cũng cung cấp các podcast Meteor, dạy các khóa học trực tuyến về Meteor, và giúp các startup xây dựng các ứng dụng từ Meteor. (Chưa kể rằng, một thời gian trước đây, ông là một trong những người đóng góp chính trong việc phát triển framework Ruby on Rails!)
Lần đầu tiên tôi kết nối với Josh trên mạng xã hội Twitter, đó là nơi bắt đầu của nhiều mối quan hệ nghề nghiệp lớn. Một vài message trên Twitter và một vài email sau đó, tôi đã đề cập đến kinh nghiệm copywriting của mình. Đề cập tình cờ này dẫn đến việc tôi giúp Josh viết các dự án, như project này chẳng hạn.
Mặc dù không có công việc nào trong số các việc mà tôi đã làm cho Josh liên quan thực sự đến việc viết một dòng code, nhưng sự hiểu biết về JavaScript, cách các full-stack framework làm việc, và hiểu biết về chính framework Meteor đã giúp cho tôi có thể làm tốt công việc của mình.
Và có những trường hợp khác, việc biết cách lập trình đã giúp tôi kiếm được những công việc không liên quan đến viết code trên thực tế. (Ví dụ, công việc gần đây của tôi là Tech Careers Expert cho about.com)
Đúng vậy, hầu hết các công việc tôi có được đều liên quan đến kỹ năng viết lách. Nhưng có rất nhiều lĩnh vực và các vị trí khác nơi mà biết lập trình có thể giúp bạn kiếm được việc làm. Dưới đây là 9 ví dụ mà bạn nên tham khảo:
Hãy nhớ rằng: khi nộp đơn xin việc bạn không thể đáp ứng được mọi yêu cầu. Trong thực tế, nếu bạn cố gắng theo đuổi để đáp ứng tất cả các điều kiện đó thì chúng có thể vượt quá khả năng của bạn. Hãy suy nghĩ về phần mô tả công việc mà một nhà quản lý tuyển dụng mong muốn. Họ thường khuyến cáo rằng bạn chỉ cần đáp ứng được khoảng 80% yêu cầu là được.
Tuy nhiên, hãy nhớ rằng các quy tắc đó có thể bị phá vỡ. Và mọi thứ còn phụ thuộc vào từng tình huống cụ thể. Nếu có một công việc mà bạn nghĩ rằng mình muốn ứng tuyển, nhưng bạn chỉ đáp ứng được 70% trong số những kỹ năng được liệt kê - thì tôi khuyên bạn hãy cứ tham gia thi tuyển.
Khóa học HTML5, CSS3, JavaScript giúp bạn nhập môn lập trình dễ hơn bao giờ hết. Học viên sẽ làm quen với việc thiết kế sản phẩm web, cách thức lập trình với JavaScript, tạo hiệu ứng CSS và hoạt hình.

9 Công việc không phải lập trình mà bạn có thể đảm nhiệm tốt nếu bạn biết viết code:

Viết lách/Nội dung

1. Technical writer
Công việc này cũng giống như hầu hết việc viết lách mà tôi làm. Technical writing có thể có nghĩa là:
  • Viết tài liệu nội bộ
  • Tạo ra các tài liệu hỗ trợ khách hàng (hoặc hướng dẫn sử dụng)
  • Hoặc là chịu trách nhiệm phát triển nội dung blog
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Một cách đơn giản: Bạn hiểu những gì bạn đang nói. Kết quả là, bạn có thể sử dụng các ngôn ngữ và thuật ngữ chính xác cho các chủ đề mà bạn đang viết về nó. Sẽ rất khó khăn để trở thành technical writer nếu bạn không nắm rõ về nội dung các chủ đề cần nói trong lòng bàn tay. Những người biết về các chủ đề nhất định (ví dụ, Ruby on Rails) sẽ nhanh chóng nhận ra nếu bạn đang cố gắng viết linh tinh về những vấn đề mà bạn không nắm rõ.
2. Instructional designer
Instructional designer cũng tương tự như technical writer, ngoại trừ việc instructional designer tập trung vào việc tạo ra các tài liệu học tập. Thông thường vị trí này liên quan đến việc tạo ra một số loại video hoặc tài liệu và các phần mềm học tập khác. Công việc của bạn có thể được sử dụng nội bộ (trong công ty) hoặc bên ngoài (cho khách hàng).
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Vai trò này liên quan đến việc giao tiếp các khái niệm kỹ thuật với những người không làm về kỹ thuật. Nhiều instructional designer không chỉ phát triển các kịch bản và nội dung, mà còn phải biết cách sử dụng các phần mềm e-learning khác nhau cũng như HTML cơ bản để định dạng nội dung trực tuyến.

Quản lý phát triển sản phẩm (Product development/Management) 

3. Project manager (Quản lý dự án)
Project manager là vị trí cần thiết trong rất nhiều các ngành công nghiệp. Họ thường quản lý ngân sách cũng như các cột mốc thời gian cho các dự án, và họ cũng giải thích, phối hợp các dự án có thể phân phối, tất nhiên là bao gồm việc phối hợp với đội ngũ kỹ sư, các nhà thiết kế, và các nhà quản lý cấp trên.
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Việc giao tiếp với những người thuộc bộ phận kỹ thuật (các lập trình viên, kỹ sư, nhân viên bảo đảm chất lượng (QA ), và nhà thiết kế) là chìa khóa để quản lý dự án thành công. Trong thực tế, nhiều lần, project manager là liên kết giữa các nhóm và quản lý cấp trên. Vì vậy, nếu bạn có thể hiểu được vai trò và nhiệm vụ của mỗi người, bạn sẽ là một project manager hiệu quả hơn nhiều.
4. Product manager (Quản lý sản phẩm)
Product manager phát triển một trải nghiệm sản phẩm từ việc lập kế hoạch sản phẩm cho tới thực thi. Họ làm việc với các kỹ sư, nhân viên bán hàng, nhân viên tiếp thị, và hỗ trợ để đảm bảo mục tiêu cho các sản phẩm được đáp ứng.
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Bạn cũng sẽ cần phải biết làm thế nào để giao tiếp với các thành viên đội ngũ kỹ thuật với vai trò là một product manager. Tùy thuộc vào từng công ty, một product manager có thể được dự kiến ​​sẽ tạo ra khung sườn hoặc phác thảo ý tưởng, có nghĩa là bạn sẽ phải có kỹ năng với các công cụ nhất định và các ứng dụng yêu cầu một số hiểu biết công nghệ cơ bản. Hơn nữa, nếu bạn đang đưa ra hướng dẫn cho những người khác về cách tạo hay xây dựng cái gì đó, thì bạn phải hiểu được những hạn chế và chức năng của sản phẩm, và điều đó sẽ khiến cho công việc của bạn trở nên dễ dàng hơn.

Thiết kế

5. User experience (UX) designer (Thiết kế trải nghiệm người dùng)
UX là một lĩnh vực rộng lớn mà có thể bao gồm tất cả mọi thứ từ nghiên cứu đến thiết kế sản phẩm sao cho thân thiện với người dùng. Cuối cùng, "người sử dụng" là trung tâm thế giới đối với một chuyên gia về UX. Và mục tiêu của họ là làm cho sản phẩm hoặc các trang web dễ sử dụng nhất.
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Các nhà thiết kế UX phải cộng tác với những người khác như các product manager và kỹ sư. Bên cạnh việc phải quen thuộc với các nguyên tắc thiết kế, tiêu chuẩn tiếp cận, và các công cụ mockup, nhiều nhà thiết kế UX thành công phải biết làm thế nào để tự viết code, vì lập trình có ích trong việc tạo ra các nguyên mẫu của ứng dụng một cách nhanh chóng cũng như hiểu rõ những giới hạn mà đội ngũ các kỹ sư và lập trình viên có thể gặp phải.
6. User interface (UI) designer (Thiết kế giao diện người dùng)
UI và UX là hai thuật ngữ rất dễ gây nhầm lẫn. UI tập trung vào giao diện, hay là cái diện mạo của sản phẩm, hơn là các trải nghiệm thực tế trong việc sử dụng chức năng của một sản phẩm. Vì vậy, theo một cách hiểu đơn giản thì UI là giống như việc thiết kế, trong khi UX tập trung nhiều hơn về cấu trúc.
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Việc thiết kế giao diện người dùng đơn giản và biết những gì là có thể từ góc nhìn của nhà phát triển là rất quan trọng trong việc thiết kế UI. Là một nhà thiết kế UI, bạn sẽ cần có thể giao tiếp với các lập trình viên. Và, một lần nữa, khả năng sử dụng các công cụ tạo nguyên mẫu (prototyping) hay thậm chí viết code giả lập ứng dụng hoặc trang web sẽ đưa bạn lên một đẳng cấp cao hơn trong lĩnh vực này.

Marketing/Biz dev

7. Marketing coordinator (nhân viên tiếp thị)
Vai trò của marketing coordinator có thể khác nhau tùy từng công ty, nhưng họ thường liên quan đến việc thực hiện các sáng kiến ​​tiếp thị, theo dõi tiến độ của chiến dịch quảng bá, chiến lược và tinh chỉnh chiến lược dựa trên kết quả thu được.
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Giống như hầu hết các nghề nghiệp khác, marketing cũng đã chuyển sang thời công nghệ số. Các thành phần tiếp thị quan trọng, ví dụ như SEO, liên quan đến một số mã HTML, và sử dụng các công cụ như Google Analytics đòi hỏi bạn phải có một mức độ kỹ năng công nghệ nào đó. Chỉ cần hiểu làm thế nào mà các trang web và thế giới Internet này làm việc cũng đã giúp bạn trở thành một nhân viên tiếp thị tốt hơn.
8. Analytics associate (Chuyên viên phân tích số liệu)
Bạn có thích việc đo lường dữ liệu? Làm việc với Excel để phát hiện các xu hướng và các khuôn mẫu? Nếu vậy thì một vị trí chuyên viên phân tích số liệu có thể phù hợp với bạn. Các công việc liên quan đến "dữ liệu lớn (big data)" đang phát triển ở mức cấp số nhân, và hầu như mọi ngành công nghiệp ngày nay đều sử dụng dữ liệu để cung cấp thông tin cho việc ra quyết định.
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Công việc phân tích đòi hỏi phải có tư duy logic và phân tích định lượng - cả hai năng lực đó được tăng cường bằng cách tích lũy các kỹ năng công nghệ. Hầu hết các công việc về dữ liệu lớn cũng liên quan đến việc sử dụng các công cụ dữ liệu trực quan, ví dụ như d3.js. (Vâng, "JS " ở đây nghĩa là JavaScript!) Và những loại kinh nghiệm lập trình (đặc biệt là trongPython hoặc R, một ngôn ngữ lập trình được sử dụng trong tính toán thống kê - và Big Data) có thể là một kỹ năng tuyệt vời trong việc phân tích số liệu.
9. Growth hacker
Growth hacker là một thuật ngữ tiếp thị tương đối mới, chỉ mới xuất hiện vào năm 2010. Một growth hacker khác với một nhà tiếp thị thông thường (marketer) vì trọng tâm chính của họ là phát triển cơ sở người dùng, hay nói cách khác, làm sao để kiếm được nhiều khách hàng hơn qua các kênh khác nhau!
Theo thiên tài tiếp thị Neil Patel và Bronson Taylor, thì "các growth hacker, sử dụng kiến ​​thức của họ về sản phẩm và phân phối, tìm kiếm một cách khéo léo dựa trên công nghệ, con đường cho sự tăng trưởng đó đôi khi vượt quá giới hạn của những gì được dự kiến ​​hoặc tư vấn."
Tại sao việc biết lập trình sẽ giúp cho bạn làm công việc này tốt hơn:
Growth hacking, hoặc là khái niệm mua lại người dùng mới một cách nhanh chóng, thì tất cả đều liên quan đến việc giải quyết vấn đề. Kiến thức trong một loạt các lĩnh vực như tiếp thị số, phân tích web, và tất nhiên là cả lập trình, là chìa khóa để giải quyết vấn đề của growth hacking. Các công việc hàng ngày liên quan đến tư duy logic - một thành phần rất quan trọng của lập trình. Và nhiều growth hacker được mong đợi ​​sẽ có khả năng lập trình tối thiểu để tạo ra một số công cụ cho công việc như các landing page đơn giản hoặc theo dõi các liên kết (tracking link).

Kết luận

Như bạn đã thấy, việc biết lập trình có thể giúp cho bạn trúng tuyển ở rất nhiều vị trí công ăn việc làm khác nhau - ngay cả khi trách nhiệm hàng ngày của công việc đó không thực sự liên quan đến việc viết code.
Vì vậy, hãy làm cho mình trở thành một ứng cử viên nổi bật cho bất cứ vai trò nào mà bạn đang mơ ước bằng cách học lập trình ngay hôm nay.

Nguồn: techmaster.vn

Tại sao học lập trình có thể giúp bạn làm bất cứ công việc gì?

Xem thêm

Thứ Tư, 20 tháng 7, 2016

Một trong những cách nhanh nhất để nâng cao năng suất của bạn khi làm việc trên máy tính đó làhãy tập trở thành một lập trình viên dạng lính đặc công: nghĩa là hãy ngừng sử dụng chuột.Khi bạn ngừng việc sử dụng chuột cho mọi thứ, thì bạn sẽ bắt buộc bản thân phải học những phím tắt. Jeremy Miller đã gọi đây là bước đầu tiên để có thể lập trình nhanh hơn. Tôi hoàn toàn đồng ý với điều đó.


Bạn hãy hạn chế sử dụng chuột để lập trình được nhanh hơn.



Dùng các phím tắt hầu như luôn hiệu quả hơn là rê chuột loanh quanh để trỏ và click các ứng dụng trên máy tính theo cách của bạn – nhưng bạn sẽ chẳng bao giờ học được chúng nếu bạn vẫn giữ lấy thói quen sử dụng chuột để làm tất cả các công việc của mình. Hãy dừng sử dụng chuột một lát, chống lại việc chọn cách dễ dàng cùng với con chuột, và ép buộc bản thân bạn phải học ít nhất một phím tắt mới mỗi ngày. Vâng, điều đó sẽ khiến bạn phải làm thêm một chút việc. Nhưng bù lại nó sẽ trả công rất hậu hĩ: bạn sẽ tốn ít thời gian hơn vì không phải di chuyển chuột vòng quanh, và có nhiều thời gian hơn để hoàn thành công việc.
Tôi không phải là người chống lại con chuột máy tính theo bất kỳ nghĩa nào. Tôi vẫn còn nhớ những ngày đầu khi người ta mới phát minh ra con chuột; vì vậy tôi sẽ chẳng bao giờ muốn quay lại những ngày xưa tồi tệ khi chỉ có một giao tiếp bàn phím duy nhất. Nhưng hầu hết mọi người mà tôi quan sát thấy đang sử dụng máy tính ngày nay thì dựa phần lớn vào con chuột, điều đó gây tổn hại cho kinh nghiệm sử dụng máy tính của tất cả họ. Đây là một ít ví dụ của việc thậm chí những phím tắt thuộc loại đơn giản nhất cũng có thể khiến cho công việc hàng ngày của bạn trở nên dễ dàng hơn:
  • Đăng nhập bằng bàn phím, sử dụng phím Tab và Enter
  • Chuyển đến một trang web thì sử dụng Alt+D và Ctrl+Enter
  • Tìm kiếm thì sử dụng Ctrl+E sau đó Enter
  • Chỉnh sửa văn bản và di chuyển con trỏ cùng với các phím tắt cơ bản khác.
Đó chỉ là phần nổi của tảng băng trôi. Hầu hết các ứng dụng có hàng tấn các phím tắt rất hữu ích; bạn phải thả con chuột ra đủ lâu để có thể khám phá ra một ít trong số chúng. Một điều đáng hổ thẹn là có nhiều ứng dụng không cung cấp cách để khiến cho các phím tắt được khám phá một cách dễ dàng hơn. Ít nhất thì tôi cũng rất thích tính năng của Office 2007 khi mà bạn nhấn phím Alt thì tất cả các phím tắt của ứng dụng sẽ “hiện lên”.

Một điều không may là, việc điều hướng qua các trang web thì gần như là không thể nếu thiếu con chuột, do bởi việc dựa nhiều vào chuột một cách tự nhiên của HTML. Tôi đã từ bỏ cố gắng. Nhưng việc đó vẫn có thể làm được, nếu bạn là một người quyết tâm đến cùng. Trừ khi bạn thích thú việc nhấn phím tab lên đến hàng triệu lần, thì bạn sẽ dứt khoát muốn xem những lời gợi ý của Jon Galloway về việc không sử dụng chuột, nơi mà anh ta đã chế ngự được thách thức về phím tắt trên HTML.
Để có được kết quả sử dụng máy tính tốt nhất, hãy cố gắng sử dụng con chuột và bàn phím của bạn một cách hiệu quả nhất. Nhưng để làm được điều đó, bạn phải tích cực trong việc ngừng sử dụng chuột. Cố gắng làm như lính đặc công kể từ bây giờ trở đi. Lúc đầu thì bạn sẽ cảm thấy bất tiện và vất vả. Bạn sẽ gặp phải một cám dỗ rất lớn mời gọi bạn quay trở lại là một tín đồ của con chuột như ngày xưa cũ để có thể hoàn thành công việc. Hãy kháng cự lại sự cám dỗ này! Tôi đảm bảo rằng bất cứ việc gì mà bạn đang cố gắng làm thì đều có thể – và cuối cùng chỉ sau một thời gian – thì bạn sẽ sử dụng phím tắt một cách hiệu quả nhất.
Nguồn: vinacode.net

Nếu muốn trở thành một Lập trình viên giỏi thì hãy bớt sử dụng chuột

Xem thêm

Chủ Nhật, 17 tháng 7, 2016

Làm thế nào để lấy lại động lực đã mất trong nghề lập trình?
Bạn bị mất niềm đam mê đã từng có trong nghề lập trình? Nó đang ảnh hưởng tới động lực của bạn để có thể hoàn thành công việc? Bạn đang tụt lại phía sau trong tất cả các dự án của mình và cảm thấy khó có thể bắt kịp? Nếu câu trả lời có, thì đây là một tin tốt dành cho bạn: điều này sẽ xảy ra với tất cả mọi người vào lúc này hay lúc khác, vì vậy hãy đừng thất vọng.
Hãy tưởng tượng rằng ngọn lửa của bạn vừa tắt. Thay vì cảm thấy phiền muộn về việc tại sao nó lại tắt hoặc liệu bạn có thể đã làm điều gì đó khác đi, cách tốt nhất là ngồi xuống và hít một hơi thật sâu. Dù sao ngọn lửa cũng đã tắt. Chỉ có một điều quan trọng duy nhất vào lúc này là quá trình nhóm lại ngọn lửa và kéo nó trở lại với cuộc sống.
Để làm được điều này không phải là dễ dàng, nhưng nó chắc chắn có thể. Miễn là bạn đừng vội, bạn sẽ làm được thôi.

Hãy đọc cuốn sách Apprenticeship Patterns

Cho phép tôi nhắc lại: bạn không phải là lập trình viên đầu tiên bị mất lửa, cũng không phải là người cuối cùng. Bạn không đơn độc trong trường hợp này. Hàng triệu người khác đã phải đối mặt với chính vấn đề đó và rất nhiều trong số họ đã vượt qua được. Điều tốt nhất bạn có thể làm là hãy học hỏi từ kinh nghiệm của họ.
Đó là lý do tại sao tôi đề xuất bạn hãy đọc cuốn sách Apprenticeship Patterns của 2 tác giả Dave Hoover và Adewale Oshineye. Cuốn sách này, cũng có sẵn trực tuyến miễn phí bằng định dạng HTML, nó chứa đựng đầy ắp những khôn ngoan và lời khuyên cho tất cả các lập trình viên. Nó đưa bạn đi qua các giai đoạn của các chuyên gia lập trình từ newbie đến lúc dày dạn kinh nghiệm và các thách thức chung xuất hiện trên con đường sự nghiệp đó.


Khi việc mất động lực được phân tích kỹ, thì nguyên nhân sâu xa có thể khác nhau tùy từng người. Có phải điều bạn mong đợi từ lập trình khác xa so với thực tế? Bạn sốt ruột muốn giỏi thật nhanh và bị choáng ngợp bởi tất cả? Bạn có cảm thấy như mình đang trì trệ, như thể đang đối mặt với một tảng đá vậy?
Tùy thuộc vào câu trả lời của mình, bạn nên đọc các phần trong cuốn sách như "Sustainable Motivations (Động lực bền vững)", "The Long Road (Đường dài phía trước)", và "Rubbing Elbows" tương ứng. Ngoài ra, bạn có thể tìm thấy những cuốn sách lập trình miễn phí khác rất hữu ích trong suốt hành trình của mình.

Hãy dành thời gian với đồng nghiệp của bạn

Trong khổ đau. Khi bạn cảm thấy thờ ơ và chán nản, điều tồi tệ nhất là bạn phải âm thầm chịu đựng nó một mình. Nếu bạn chưa được bao quanh bởi các đồng nghiệp cùng chí hướng trong lĩnh vực lập trình, thì tốt nhất là bạn nên tìm một số cộng đồng. Những cuộc gặp mặt trò chuyện giữa những người bạn với nhau thì thật lý tưởng, nhưng có những mỗi liên hệ qua mạng vẫn tốt hơn là không có gì.
Hãy làm rõ về một điều: điều này không liên quan đến việc bạn có "đủ mạnh mẽ" để kéo mình vượt qua được hay không. Trở nên mất động lực không có nghĩa là bạn yếu đuối. Quan trọng là phải giữ cho bạn có một cái nhìn vào thực tế, điều đó sẽ khó để thực hiện nếu bạn không thể nhìn thấy hoàn cảnh của mình từ góc nhìn của các lập trình viên khác.


Hãy nhớ rằng mục tiêu ở đây không phải là rên rỉ, than phiền về nỗi đau khổ của bạn để lây lan cho người khác như một căn bệnh. Điều đó chỉ gây phản tác dụng và phản cảm như việc bạn đang cố gắng dập tắt động lực của họ trong quá trình này. Thay vào đó, mục đích là để chia sẻ mối quan tâm của bạn, có thể trút bớt một chút nỗi ưu tư, và cuối cùng nhằm xác định nguyên nhân nào đang giết chết nguồn cảm hứng của bạn.
Nếu trong trường hợp cụ thể của bạn, việc mất động lực là do sự hoài nghi về bản thân và do tâm trạng bất an, bạn có thể tìm thấy hữu ích khi có một người cố vấn (mentor) giúp đỡ. Ví dụ, nếu bạn luôn nghi ngờ về chất lượng code của mình viết ra, thì một mentor có thể xem qua và cho ý kiến ​​dựa trên những kinh nghiệm dày dạn của họ. Họ cũng có thể hành động như một áp lực bên ngoài để giữ cho bạn tiếp tục khi bạn cảm thấy muốn bỏ cuộc.

Chuyển chủ đề và tìm hiểu một cái gì đó mới mẻ

Trong rất nhiều trường hợp, việc mất động lực lập trình xuất phát từ sự nhàm chán. Nếu bạn là một lập trình viên làm việc cho một công ty nào đó trong hơn một thập kỷ, bạn có thể cảm thấy như mình đang bị mắc kẹt trong một công việc nhàm chán không có cơ hội nhiều để phát triển. Có lẽ phần code mà bạn duy trì là khá tầm thường và không có sự kích thích về trí tuệ đối với bạn.
Nếu vậy thì bạn phải làm gì? Bạn phải chuyển sang một lĩnh vực khác. Một nửa sự thích thú trong lập trình đến từ việc sáng tạo để giải quyết vấn đề. Nếu không có khía cạnh đó trong công việc của bạn, thì lập trình ít nhiều giống như một công việc vô nghĩa cứ lặp lại từ ngày này qua ngày khác - đặc biệt là nếu bạn xem công việc lập trình hàng ngày trong các dự án của mình là dễ dàng.


Tùy thuộc vào sự linh hoạt của nơi bạn làm việc, hãy hỏi cấp trên xem liệu bạn có thể được chuyển sang một dự án khác. Nếu bạn có khả năng chấp nhận rủi ro, thậm chí bạn có thể thu được nhiều giá trị khi chuyển đổi sang một phương tiện hoặc môi trường khác hoàn toàn (ví dụ: nếu bạn đã viết các phần mềm mang tính học thuật trên Windows, thì có thể là thú vị để thử viết một ứng dụng mạng xã hội trên web).
Ít nhất, bạn sẽ được giải thoát khỏi cảm giác buồn tẻ.
Hoặc bạn có thể tự làm lấy một vài side project yêu thích liên quan đến lĩnh vực lập trình mà bạn chưa bao giờ khám phá. Ví dụ, hãy thử làm một trò game mobile trong thời gian rảnh rỗi. Khi bạn không thể thoát khỏi trách nhiệm lập trình chính của mình, bạn sẽ ngạc nhiên vì rất nhiều năng lượng từ các dự án cá nhân có thể thổi bùng bên trong bạn. Chỉ cần chắc chắn rằng các side project đó là khác với công việc mà bạn đang làm hàng ngày.

Cải thiện sức khỏe tinh thần và cảm xúc

Việc thiếu động lực có thể là một triệu chứng của một vấn đề sâu hơn, mà có thể chỉ đơn giản là cơ thể mất nước hoặc nghiêm trọng hơn như trầm cảm. Đôi khi một cốc nước lọc là đủ để tạo ra một làn sóng cảm hứng mới khi tâm trí của bạn đầy sương mù. Tuy nhiên, nếu tình trạng bị mất động lực đã diễn ra trong một thời gian dài, thì phương thuốc đó có thể không đơn giản như vậy.
Đối với hoạt động liên quan nhiều đến máy tính như lập trình, có 3 thứ quan trọng cần cân nhắc khi nói đến sức khỏe của bạn. Đầu tiên, bạn cần phải tập thể dục thường xuyên. Nếu bạn eo hẹp về thời gian, thì có thể cố gắng tập thể dục tại bàn của mình trong khi đang làm việc. Thứ hai, bạn phải thực hiện các bước để giảm thiểu sự mệt mỏi do máy tính gây ra. Thứ ba, bạn phải lấy lại thói quen ngủ và nghỉ ngơi đúng cách.


Tinh thần mệt mỏi cũng có thể phát sinh do một môi trường cố định. Nếu ngày nào bạn cũng nhìn chằm chằm vào bốn bức tường như vậy, nó có thể trở nên đơn điệu. Sự đơn điệu dẫn đến sự nhàm chán. Bạn có thể khắc phục điều này bằng cách thay đổi phong cảnh của mình, cho dù đó có nghĩa là sắp xếp lại đồ nội thất, làm việc ở một vị trí mới, hoặc thậm chí chuyển đổi hình nền máy tính của mình.
Cuối cùng, nếu sự thiếu động lực của bạn gắn chặt với vấn đề của sự trì hoãn, một thứ mà tôi đã tìm thấy vô cùng hữu ích là kỹ thuật Pomodoro. Kỹ thuật này sẽ chia ngày làm việc của bạn vào những khoảng thời gian xen kẽ để làm việc, nghỉ ngơi, rồi lại làm việc, và nghỉ ngơi. Bạn chưa bao giờ thử nó ư? Hãy thực hiện phương pháp này từ một đến hai tuần. Bạn có thể sẽ ngạc nhiên bởi kết quả thu được đấy.

Kết luận

Tôi muốn thừa nhận rằng mình cũng hay rơi vào tình trạng mất động lực này. Có lúc thì lập trình là thú vị! Có lúc lập trình lại nhàm chán. Sau đó nó vui vẻ trở lại! Và nó lại trở nên nhàm chán. Mỗi lần là hơi khác so với lần trước, nhưng những lời khuyên trên đây là những loại hành động đã được chứng minh là có hiệu quả nhất đối với tôi trong những năm qua.
Một điều nữa có thể có ích là ý tưởng về việc tham gia các cuộc thi lập trình trực tuyến. Những cuộc thì này đòi hỏi một loại cá tính nhất định - nhưng nếu bạn tham gia, thì nó có thể khơi lại niềm đam mê của bạn khá nhanh chóng.

Nguồn: techmaster.vn

Chán lập trình: Làm thế nào để lấy lại động lực đã mất

Xem thêm

Thứ Sáu, 15 tháng 7, 2016

Ngôn ngữ lập trình nào phù hợp cho người mới bắt đầu?
Gửi Lifehacker,
Sau khi tham khảo nhiều thông tin về học lập trình, tôi đã quyết định thử học về nó. Vấn đề là, tôi không biết phải bắt đầu từ đâu. Ngôn ngữ lập trình tốt nhất cho người mới bắt đầu như tôi là gì?
Ký tên,
Could-Be Coder
Could-Be thân mến,
Đó có thể là một trong những câu hỏi phổ biến nhất của những người học lần đầu, và đây cũng là điều mà các nhà giáo dục tranh luận nhiều nhất. Có điều là, bạn có thể hỏi 10 lập trình viên về đâu là ngôn ngữ tốt nhất cho người mới bắt đầu và bạn sẽ nhận được 10 câu trả lời khác nhau - vì có hàng ngàn lựa chọn dành cho bạn. Ngôn ngữ bạn bắt đầu học không chỉ phụ thuộc vào việc nó dễ học như thế nào, mà còn phụ thuộc vào những loại dự án nào bạn muốn làm việc, lý do tại sao bạn lại quan tâm đến lập trình, và có lẽ bạn đang suy nghĩ làm công việc này để kiếm sống. Dưới đây là một số lưu ý và gợi ý để giúp bạn đưa ra quyết định.

Tại sao bạn lại muốn học lập trình?

Lựa chọn của bạn còn tùy thuộc vào những gì bạn muốn làm. Ví dụ, để xây dựng một trang web hay một ứng dụng web, bạn nên học HTML và CSS, cùng với JavaScript và có lẽ PHP cho tương tác. Nếu mối quan tâm của bạn chủ yếu vào việc xây dựng một ứng dụng di động thì bạn có thể nhảy vào học Objective-C hoặc Swift cho ứng dụng iOS hoặc lập trình Java cho Android (và những thứ khác).
Tuy nhiên, nếu bạn đang muốn học không chỉ cho một dự án hoặc chuyên ngành cụ thể, hoặc muốn tìm hiểu một loạt các ngôn ngữ, thì cách tốt nhất để bắt đầu là nên học các khái niệm cơ bản của lập trình và làm thế nào để "suy nghĩ như một lập trình viên." Bằng cách đó, không quan trọng ngôn ngữ lập trình đầu tiên của bạn gì, bạn có thể áp dụng những kỹ năng đã có để học sang một ngôn ngữ mới. Thậm chí các ứng dụng lập trình cho trẻ em cũng có thể hữu ích để bắt đầu. Ví dụ, khóa học lập trình chính thức đầu tiên mà tôi tham gia là CS50 của đại học Harvard, bạn cũng có thể học khóa này miễn phí. Giáo sư Malan bắt đầu khóa học bằng Scratch, một môi trường lập trình dạng kéo-thả để dạy trẻ em về logic và các nguyên tắc lập trình cơ bản - nó cũng giúp bạn tạo ra một sản phẩm gì đó rất thú vị - và sau đó ông chuyển qua dạy bạn về ngôn ngữ C.
Chúng tôi liệt kê ra một số tài nguyên tuyệt vời dành cho việc học lập trình, chẳng hạn như khóa học tương tác Codecademy, nhưng dù vậy bạn vẫn cần phải chọn ngôn ngữ để bắt đầu. Vì vậy, chúng ta hãy nhìn vào sự khác biệt giữa những ngôn ngữ lập trình phổ biến nhất và đâu là ngôn ngữ được đề xuất nhiều nhất cho người mới bắt đầu nhé!

Những ngôn ngữ lập trình được đề xuất thường xuyên nhất cho người mới bắt đầu

Hầu hết các ngôn ngữ lập trình "chính thống", chẳng hạn như C, Java, C#, Perl, Ruby, Python - có thể làm được các công việc tương tự như nhau. Ví dụ, Java hoạt động đa nền tảng và được sử dụng cho các ứng dụng web và các applet, nhưng Ruby cũng có thể làm các ứng dụng web lớn và các ứng dụng Python tương tự chạy trên Linux và Windows. Trang web SOA World đã chỉ ra rằng vì nhiều ngôn ngữ được tạo ra kế thừa các ngôn nghữ khác, bởi vậy cú pháp hoặc cấu trúc làm việc trên chúng là gần như giống nhau, nên khi học một ngôn ngữ thường giúp bạn có thể học những ngôn ngữ khác một cách dễ dàng. Ví dụ, để in ra dòng chữ "Hello World", Java và C# có cú pháp tương tự, cũng như Perl và Python:
Học lập trình online bằng ngôn ngữ lập trình nào trước tiên?
Chúng khác nhau, tuy nhiên cách viết đều khá rõ ràng. SOA World tiếp tục:
Nếu bạn nhìn kỹ vào những ví dụ trên, bạn sẽ nhận thấy một số ví dụ thì rất đơn giản, những ví dụ khác trông có vẻ phức tạp hơn, và một số yêu cầu chấm phẩy ở cuối dòng, trong khi những ngôn ngữ khác thì không. Nếu bạn mới bắt đầu học lập trình, đôi khi tốt nhất nên lựa chọn ngôn ngữ không có nhiều quy tắc cú pháp (hay logic) bởi vì nó cho phép bạn dễ hiểu hơn. Nếu bạn đã thử một ngôn ngữ và thực sự vật lộn với nó, thì hãy thử một ngôn ngữ khác đơn giản hơn!
Dưới đây là một so sánh nhanh về các ngôn ngữ lập trình phổ biến nhất:
C: Rèn cho bạn cách viết code hiệu quả
C là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất. Có một vài lý do cho việc này. Lập trình viên nổi tiếng Joel Spolsky nói rằng, C trong lập trình quan trọng như việc học giải phẫu cơ bản để trở thành một bác sĩ y khoa vậy. C là một ngôn ngữ "mức máy", do đó bạn sẽ học cách làm thế nào để một chương trình tương tác với phần cứng và học những kiến thức nền tảng của lập trình tại mức thấp nhất - phần cứng - (C là nền tảng cho Linux/GNU). Bạn học về các chương trình gỡ lỗi, quản lý bộ nhớ, và nhiều thứ mà những ngôn ngữ lập trình bậc cao hơn như Java không thể làm được - nó giúp cho bạn viết code hiệu quả hơn trong các ngôn ngữ khác. C là "ông nội" của nhiều ngôn ngữ cấp cao khác, bao gồm cả Java, C#, và JavaScript. 
Điều đó nói lên rằng, lập trình trong C là chặt chẽ và khó hơn so với các ngôn ngữ khác, và nếu bạn không có kế hoạch làm việc trên các chương trình giao tiếp với phần cứng (ví dụ, các driver thiết bị, hoặc các extension của hệ điều hành), thì việc học lập trình C có lẽ sẽ không cần thiết. Stack Overflow có một cuộc thảo luận rất hay về việc nên chọn C hay Java là ngôn ngữ đầu tiên, và hầu hết mọi người đều nghiêng về C. Tuy nhiên, cá nhân tôi, mặc dù tôi rất vui vì mình đã được tiếp xúc với C, nhưng tôi không nghĩ rằng đó là một ngôn ngữ thân thiện cho người mới bắt đầu. Nó sẽ dạy cho bạn kỷ luật, nhưng bạn sẽ phải tìm hiểu rất nhiều vấn đề khó trước khi có thể làm ra bất cứ điều gì hữu ích. 
Java: Một trong những ngôn ngữ thiết thực nhất để học
Java là ngôn ngữ lập trình phổ biến thứ hai, và đó là ngôn ngữ được giảng dạy trong khóa học nổi tiếng (và miễn phí) của trường đại học Stanford là Introduction to Computer Science. Java tuân theo nguyên tắc hướng đối tượng (OOP) mà đã được sử dụng trong các ngôn ngữ hiện đại bao gồm C++, Perl, Python, và PHP. Một khi bạn đã học Java thì bạn có thể học các ngôn ngữ OOP khác khá dễ dàng. 
Java có lợi thế của một ngôn ngữ có lịch sử sử dụng lâu đời. Có rất nhiều phần code ví dụ, nó đã được dạy trong nhiều thập kỷ, và được sử dụng rộng rãi cho nhiều mục đích khác nhau (bao gồm cả phát triển ứng dụng Android), do đó Java là một ngôn ngữ rất thực tế để tìm hiểu. Bạn sẽ không thể lập trình được cấp thấp ở mức máy như bạn làm với C, nhưng bạn sẽ có khả năng truy cập/thao tác với những phần quan trọng nhất của máy tính như hệ thống tập tin, đồ họa và âm thanh cho bất kỳ chương trình phức tạp và hiện đại nào - và điểm hay nhất là nó có thể chạy trên bất kỳ hệ điều hành nào.
Python: Vui và rất dễ học
Nhiều người khuyên Python là ngôn ngữ tốt nhất dành cho người mới bắt đầu vì tính đơn giản và những khả năng tuyệt vời của nó. Code của Python dễ đọc và tuân theo các phong cách lập trình tốt (ví dụ như việc canh thụt lề), mà không bị quá nghiêm ngặt về cú pháp (không phải nhớ để thêm một dấu chấm phẩy ở cuối mỗi dòng). Patrick Jordan tại công ty Ariel Computing đã so sánh thời gian để viết một script đơn giản bằng các ngôn ngữ khác nhau (BASIC, C, J, Java, và Python) và xác định rằng Python có những ưu điểm sau:
đòi hỏi ít thời gian hơn, ít dòng code, và ít khái niệm cần biết để đạt được một mục tiêu nhất định. [ ... ] Lập trình bằng Python thực sự rất thú vị! Chính sự vui vẻ và thu được những thành công nhất định đã làm tăng thêm lòng tự tin và mối quan tâm trong sinh viên, những người sau đó đã tiếp tục học lập trình lên mức cao hơn.
SOA cũng nói rằng Python là ngôn ngữ phải học cho người mới bắt đầu, những người muốn học nhiều hơn trong môi trường Linux (hoặc đã quen thuộc với Linux). Sự phổ biến của Python đang gia tăng nhanh chóng hiện nay là nhờ việc các trang web phổ biến như Pinterest và Instagram đang sử dụng nó.
JavaScript: Dành cho những ai muốn nhảy ngay vào để xây dựng các trang web
JavaScript (ít liên quan đến Java) đòi hỏi rất ít thiết lập để bắt đầu, vì nó đã được tích hợp vào các trình duyệt web. O'Reilly Media cũng đề nghị bạn bắt đầu với JavaScript vì nó có một cú pháp tương đối dễ dàng, bạn sẽ thấy kết quả ngay lập tức từ code của mình, và không cần phải có nhiều công cụ. Trong bài hướng dẫn Learn to Code night school trên Lifehacker, chúng tôi sử dụng JavaScript để chỉ cho bạn những khái niệm cơ bản như cách các biến và hàm làm việc. Nếu bạn muốn làm những tính năng tương tác thú vị cho các trang web thì JavaScript là một kỹ năng bắt buộc.

Lựa chọn con đường của bạn

Một xem xét cuối cùng đó là liệu bạn có muốn đi từ sở thích lập trình trở thành một nghề nghiệp hay không. Trang web Dev/Code/Hack đã phân tích các vai trò công việc khác nhau và những kỹ năng bạn cần phải có để phù hợp cho công việc đó:
Lập trình viên Back-end (Server-side): Thường sử dụng một trong số các ngôn ngữ sau đây: Python, Ruby, PHP, Java hoặc .NET. Có kiến thức về database. Có thể cần thêm một số kiến thức về quản trị hệ thống.
Lập trình viên Front-end (Client-side): Yêu cầu kiến thức về HTML, CSS, JavaScript và có thể cần thêm một số kỹ năng về thiết kế.
Lập trình viên mobile: Objective-C hoặc Java (cho Android). HTML/CSS cho các website mobile. Có thể cần thêm một số kiến thức về Server-side.
Lập trình viên về Games/3D: C/C++, OpenGL, Animation. Có thể cần thêm năng khiếu về mỹ thuật.
Lập trình viên phát triển các phần mềm cần tốc độ xử lý cao High-Performance (phần mềm trong Thị trường Chứng khoán…): C/C++, Java. Có thể cần thêm nền tảng về kiến thức toán học và khả năng phân tích định lượng tốt.
Cuối cùng, mặc dù không phải chỉ có một cách duy nhất để bắt đầu học lập trình. Điều quan trọng nhất là học các kiến thức nền tảng thông qua "thực hành thật nhiều", tức là làm việc trên các vấn đề bạn muốn giải quyết hoặc một cái gì đó bạn muốn xây dựng. Như trên blog programming is terrible đã nói rằng:
Ngôn ngữ lập trình đầu tiên bạn học có thể sẽ là khó khăn nhất. Hãy chọn lấy một cái gì đó nhỏ và thú vị để làm và tự khám phá cũng như thách thức bản thân. Không quan trọng là bạn bắt đầu từ đâu, miễn là bạn cứ tiếp tục - tiếp tục viết code, tiếp tục đọc code. Đừng quên kiểm thử lại phần code đó. Một khi bạn đã thành thạo một ngôn ngữ, thì việc học thêm một ngôn ngữ mới là chuyện nhỏ như con thỏ, và bạn sẽ thu được nhiều kỹ năng khác trên con đường khám phá tri thức của mình.
Một khi bạn đã quyết định, thì đây là các nguồn tài nguyên cần thiết và các khóa học để bạn bắt đầu với ngôn ngữ lập trình của mình.
Thân ái,
Lifehacker

Nguồn: techmaster.vn

Ngôn ngữ lập trình nào tôi nên học đầu tiên?

Xem thêm

Tôi nên học lập trình ở trung tâm hay trường đại học?

Đến thời điểm năm 2020, sẽ có khoảng một triệu công việc lập trình máy tính tại Hoa Kỳ cần được lấp đầy. Đối với bất cứ ai đang tìm kiếm con đường sự nghiệp cho mình trong thập kỷ tiếp theo, lập trình cung cấp rất nhiều việc làm an toàn, thu nhập cao và đầy sáng tạo.
Thế thì phần tốt nhất về điều này là gì? Đó là bất cứ ai cũng có thể học lập trình. Quan niệm trước đây cho rằng lập trình chỉ thuộc về một số ít người có trí thức đã lùi xa, ngày nay mọi người ở mọi lứa tuổi và nền tảng học vấn đều có thể khám phá logic vốn có - và vẻ đẹp của lập trình.
Ngày nay việc tiếp cận với giáo dục là dễ dàng hơn bao giờ hết, và những ai quan tâm đến các công việc khoa học máy tính sẽ có một vài con đường khác nhau để có thể thu nhận được kiến thức. Nhưng con đường nào là phù hợp nhất đối với bạn? Chúng ta hãy cùng xem xét những ưu và nhược điểm của hai lựa chọn rất khác nhau, đó là: học lập trình tại trung tâm và học 4 năm đại học.

Các trung tâm lập trình

Ưu điểm
Các trung tâm là con đường nhanh nhất để giúp bạn kiếm được một công việc trong lĩnh vực lập trình. Chỉ cần ít tháng, chứ không phải nhiều năm, học viên có thể xây dựng một nền tảng sự nghiệp vững chắc mà chỉ bằng một phần nhỏ so với thời gian và chi phí khi học 4 năm đại học.
Nhiều trường đại học tại Mỹ có mức học phí từ $50k - $200k đô-la (khoảng 1 tỷ đến 4 tỷ VNĐ) và cung cấp các khóa học giáo dục tổng quát trong khoảng từ 4 đến 5 năm, trong khi đó mức học phí tại các trung tâm lập trình ở Mỹ dao động từ $10k - $20k đô-la (khoảng 200 triệu - 400 triệu VNĐ) sẽ tiết kiệm hơn rất nhiều - và học viên tốt nghiệp có thể bắt đầu đi làm kiếm tiền ngay lập tức.
Trong thực tế, nhiều học viên tốt nghiệp từ các trung tâm lập trình cũng đã là tác giả viết sách, diễn giả tại các hội nghị về công nghệ, và giành nhiều chiến thắng tại các cuộc thi lập trình hackathons.


Các trung tâm thường dạy lập trình trong một nhóm nhỏ có giáo viên hướng dẫn tận tâm và tập trung vào các kỹ năng thực tế cũng như các kinh nghiệm thực tiễn, như kiểm soát phiên bản (version control) và test-driven development, tất cả được xử lý trong một môi trường ngang cấp. Tất cả các công cụ được sử dụng đều cập nhật và liên quan đến công việc, và hầu hết các chương trình này cũng sẽ cung cấp các hướng dẫn về cách làm hồ sơ, cách phỏng vấn xin việc, và vị trí tuyển dụng.
Nhược điểm
Các trung tâm lập trình là môi trường học tập toàn thời gian - công việc của bạn cho những tuần ở đây là chỉ tập trung tối đa vào việc học tập. Kiểu học này có thể là quá căng thẳng hoặc chỉ đơn giản là không thể đối với một số học viên. Ngoài ra, những bạn trẻ thường khát khao những trải nghiệm xã hội của môi trường học tập kiểu truyền thống có thể sẽ không phù hợp với môi trường học tập tại trung tâm, vì ở đây thu hút học viên thuộc mọi tầng lớp, mọi lứa tuổi. 
Học phí có thể là một mối quan tâm đối với nhiều học viên tại các trung tâm lập trình. Trong khi một số trung tâm có thể cung cấp những cơ hội học bổng, nhưng mức học phí nói chung ở một trung tâm lập trình ở Mỹ thường dao động từ $10k - $20k (khoảng 200 triệu - 400 triệu VNĐ) là cao hơn so với các trường cao đẳng cộng đồng công lập.

Bốn năm đại học

Ưu điểm
Từ góc độ lập trình, một chương trình khoa học máy tính 4 năm ở đại học có thể cung cấp cho bạn chiều sâu hơn về lý thuyết và những lĩnh vực nâng cao. Trong khi các trung tâm thường tập trung chủ yếu vào các công nghệ liên quan đến công việc, còn đại học cung cấp cho bạn khả năng truy cập vào các ngành thực sự đột phá, chẳng hạn như trí tuệ nhân tạo và tầm nhìn máy tính (computer vision).


Các trường đại học cũng cung cấp nền tảng giáo dục nói chung, tạo ra một trải nghiệm học tập thường ảnh hưởng tích cực đến các kỹ năng xã hội và tư duy phản biện của bạn. Đối với nhiều người, đại học là khoảng thời gian tốt nhất trong cuộc sống của họ, đó là một trải nghiệm xã hội mà không thể có được ở một nơi nào khác.
Những bạn trẻ đang xem xét lựa chọn nghề nghiệp cho mình có thể khám phá thêm về sở thích và mục tiêu nghề nghiệp của họ thông qua trải nghiệm đa dạng và độc đáo này.
Nhược điểm
Công nghệ thay đổi nhanh chóng, và các chương trình 4 năm đại học có thể sẽ cung cấp kiến thức đã lạc hậu hơn so với ngoài thực tế. Các giáo sư có thể viết thư giới thiệu hoặc cung cấp nơi thực tập cho bạn, nhưng có rất ít vị giáo sư có kinh nghiệm thực tế công việc (vị trí công việc, kỹ năng phỏng vấn, làm việc trong môi trường deadline và ngân sách có giới hạn).
Mức chi phí ngày càng tăng của giáo dục đại học đã được ghi nhận trong nhiều năm qua, và để có một trình độ khoa học máy tính 4 năm thì bạn sẽ phải tốn kém tiền bạc gấp hàng chục lần so với học ở các trung tâm. Ngoài ra, trong khoảng thời gian 4 năm (hoặc hơn) của chương trình học thì bạn sẽ mất đi những chi phí cơ hội và những công việc tiềm năng. 

Cách học nào là phù hợp với bạn?

Thực ra hoàn cảnh của mỗi người là khác nhau. Một người ở độ tuổi 30 đang tìm kiếm một cơ hội để thúc đẩy sự nghiệp sẽ có các động lực về chi phí và thời gian khác so với một bạn trẻ vừa mới tốt nghiệp trung học hoặc các trường cao đẳng cộng đồng.
Cuối cùng, sự lựa chọn nên được thực hiện dựa trên mục tiêu nghề nghiệp, khả năng tài chính và quỹ thời gian của mỗi cá nhân. Ngoài ra còn có một số sự lựa chọn khác dành cho bạn, chẳng hạn như giáo dục trực tuyến, thi lấy chứng chỉ, và các trường cao đẳng cộng đồng.


Tuy nhiên, khi bạn bước chân vào lĩnh vực lập trình, thì một điều chắc chắn rằng cơ hội việc làm sẽ rộng mở và bạn sẽ là một phần của làn sóng về đổi mới sáng tạo tiếp theo. Dù cho bạn đang ở Mỹ hay ở bất kỳ đâu trên trái đất này thì nhu cầu tuyển dụng lập trình viên cũng đều rất lớn.

Nguồn: techmaster.vn

Nên học lập trình ở trung tâm hay trường đại học?

Xem thêm

Thứ Năm, 14 tháng 7, 2016

Dạo gần đây viết nhiều bài về technical khá mệt và nhức đầu, lâu lâu mình viết một bài theo dạng “dịch và sưu tầm” để giải trí cho các bạn đọc vậy. Trước đây, mình từng có một bài viết về việc sử dụng comment. Code có comment hay không, comment như thế nào luôn là vấn đề tranh luận của giới developer từ trước đến giờ. Hôm nay chúng ta không tranh luận về comment, mà hãy cùng thưởng thức các comment “bá đạo” từ trước đến giờ để giải trí nhé.
Méo mặt khi bị giao optimize code mà gặp phải dòng này
// Chào anh bạn coder:
//
// Sau khi chú em đã gắng hết sức để ‘optimize’ hàm này,
// để rồi nhận ra việc đó nhảm nhí và phí công vô ích thế nào,
// hãy cộng thêm số giờ phía dưới để cảnh báo cho các coder
// xấu số tiếp theo
//
// tổng_số_giờ_lãng_phí = 42
Khi code được viết ra trong một phút giây “thần thánh”
// Ngày xưa, khi tôi viết đoạn code này, chỉ có Chúa và tôi hiểu
// Bây giờ nhìn lại, chỉ có Chúa mới hiểu



Thêm dòng này vào sẽ làm không ai dám đụng vào code của bạn
// Autogenerated, do not edit. All changes will be undone.
// (Code tự sinh, mọi chỉnh sửa sẽ bị reset lại.)
hoặc
// Xóa dòng comment này đi là chương trình crash ngay tức khắc
Một phút anh coder thư thẩn
// Đôi khi anh có cảm giác rằng: Bạn compiler cứ ngó lơ những comment mình viết


Có nhiều khi “tạm thời” cũng là vĩnh viễn
// Dev1 – 06/07/2002  Tạm thời thêm chức năng log cho màn hình đăng nhập
// Dev2 – 22/05/2007  Log vẫn còn, tạm thời cái con khỉ
Gặp thánh phán “như đúng rồi”
const int TEN=10; // Lẽ nào trong tương lai giá trị 10 nó đổi…

Vài dòng comment nói hộ nỗi lòng nhiều thanh niên mới vào dự án
// Em cũng chả biết có cần hàm này không nữa, nhưng mà sợ quá nên không dám xóa
…
// Tao không chịu trách nhiệm cho những dòng code dưới đây.
// Bọn PM và Technical leader ép tao viết như thế.
…
// Éo hiểu tại sao nhưng mà sửa thế này thì code nó lại chạy
Dở khóc dở cười khi thấy comment của các thánh troll
// Xin lỗi, anh hơi lười nên không viết comment cho chú
…
// Nếu đoạn code này chạy đúng, tác giả của nó là HoangPH.
// Nếu nó chạy sai, tác giả là ai… tôi không biết.
…
// Nếu anh bạn đang đọc những dòng này, nghĩa là anh bạn đang làm tiếp dự án cũ của tôi.
// Thành thật xin lỗi vì đống code… Mong trời phật phù hộ cho anh bạn.


Ngậm ngùi khi đọc những dòng code và comment “có tâm”
try {
// Blah blah
} catch (Exception ex) {
// Nuốt lỗi, bố *éo quan tâm
}
// Hàm xử lý, luôn luôn trả kết quả true.
public boolean isAvailable() {
return false;
}
view rawnice_code.cs hosted with ❤ by GitHub
Và đây! Danh sách những comment vô dụng có cũng như không
// Logger
private Logger logger = Logger.getLogger();
// Tăng giá trị i lên 1
i++;
// Đây là hàm cộng 2 số, ta có thể dùng phép cộng của C#
// nhưng nên tách thành hàm riêng để tránh lặp code
private int Add(int i, int j) // i là giá trị thứ nhất, j là giá trị thứ hai
{
// Cộng hai số bằng phép cộng của C#
int z = i + j;
// Trả về kết quả
// return z;
// Dòng code này được viết để cái tiến đoạn code cũ, không cần tạo thêm biến mới
// Dòng code này thực hiện phép cộng trên 2 giá trị đưa vào, sau đó trả ra kết quả
return i + j;
}
view rawuseless.cs hosted with ❤ by GitHub
Kết thúc bài viết bằng một loạt các comment vẽ tranh thần thánh của các coder quởn không có gì làm
## Safety pig has arrived!
## _
## _._ _..._ .-', _.._(`))
## '-. ` ' /-._.-' ',/
## ) \ '.
## / _ _ | \
## | a a / |
## \ .-. ;
## '-('' ).-' ,' ;
## '-; | .'
## \ \ /
## | 7 .__ _.-\ \
## | | | ``/ /` /
## /,_| | /,_/ /
## /,_/ '`-'
##
/*@ /\ /\
* @ / \/ \ ----- | | ---- |---\ | | /--\ --- | | ---- /--\ /--\
* @ / -- | | | | | / | | | | |\ | | | |
* \---\ / \ | |---| ---- |--/ | | \ | | \ | ---- \ \
* | \------------------------/ /-\ \ | | | | | \ | | -\ | | \| | -\ -\
* | \-/ \ | | | ---- |---/ \--/ \--/ --- | \ ---- \--/ \--/
* \ ------O
* \ / --- | | ---- /--\ |--\ /--\ /--\
* | | | | / | |\ | | | | | | | | |
* | | | |----- ------- | | \ | ---- | | | | | | | /-\
* | |\ /| | \ WWWWWW/ | | \| | | | | | | | | |
* | | \ / | | \------- --- | \ | \--/ |--/ \--/ \--/
* | | \--------------/ | |
* / | / |
* \ \ \ \
* \-----/ \-----/
*/
/*
// /-------------\
// / \
// / \
// / \
// | XXXX XXXX |
// | XXXX XXXX |
// | XXX XXX |
// \ X /
// --\ XXX /--
// | | XXX | |
// | | | |
// | I I I I I I I |
// | I I I I I I |
// \ /
// -- --
// \-------/
//
// DO NOT INTEGRATE THIS CHANGE
//
// Integrating it means DEATH.
// (see Revelation 6:8 for full details)
view rawpicture_comment hosted with ❤ by GitHub
Nguồn tham khảo:

TỔNG HỢP CÁC COMMENT “BÁ ĐẠO” TỪ TRƯỚC ĐẾN NAY

Xem thêm