Từ người không lập trình đến người lập trình chuyên nghiệp


8

Tôi là một sinh viên 15 tuổi đang tìm mua chiếc ô tô đầu tiên của mình và nghĩ rằng tôi có thể kiếm thêm một số tiền bằng cách học lập trình vì tôi thích làm việc với máy tính mọi lúc.

Tôi đã đọc rất nhiều bài viết ở đây và đã đưa ra một danh sách những cuốn sách mà tôi nghĩ sẽ có ích cho tôi, tuy nhiên, tôi không biết thông tin nào là quan trọng nhất cần biết trước hoặc nếu tôi có mọi thứ tôi sẽ cần. Đây là những gì tôi đã suy nghĩ:

1: Học một ngôn ngữ lập trình chuyên sâu. Tôi thực hiện được khoảng 1/2 cách với cuốn sách Từng bước 2. Tìm hiểu về thiết kế và mẫu thiết kế hướng đối tượng 3. Tìm hiểu về kiểm thử phần mềm 4. Thực hành các kỹ năng này trên các trang web như Projecteuler, topcoder và thử và làm đơn giản các dự án trên các trang web tự do như thuê một lập trình viên.

Có bất cứ điều gì khác mà bạn nghĩ rằng tôi có thể cần hoặc nên xem xét?

Cảm ơn bạn.

Microsoft Visual C # 2010 Từng bước

Professional C # 4.0 và .NET 4 (Lập trình viên để lập trình viên)

C # ở độ sâu

CLR qua C #

Áp dụng UML VÀ các mẫu

Thiết kế và phân tích hướng đối tượng đầu tiên

Các mẫu thiết kế: Các yếu tố của phần mềm hướng đối tượng có thể tái sử dụng

Kiểm tra hướng phát triển: Ví dụ

Phát triển phần mềm hướng đối tượng, được hướng dẫn bởi các thử nghiệm


6
Tôi nghĩ bạn sẽ kiếm được tiền nhanh hơn bằng cách kiếm một công việc mùa hè cắt cỏ (nếu đó là tiền mặt bạn muốn). Học lập trình sẽ mất nhiều thời gian hơn để có đủ tiền để kiếm tiền thật từ nó (thậm chí thông qua việc thuê một lập trình viên (Các nhà phát triển có kinh nghiệm từ Ấn Độ / Trung Quốc / Ukraine sẽ trả giá cho bạn)).
Martin York

7
Giữ ở đó. Bạn sẽ có chiếc xe của bạn trong khoảng 5 năm.
ChaosPandion

1
Danh sách sách đẹp. Ngoài lý thuyết bạn cần luyện tập, tương tự như cách bạn không thể có đai đen trong karate bằng cách đọc sách. Mua cho mình thời gian để thực hành, xem câu trả lời của GrandmasterB.
Joppe

1
@Rig FYI - người dùng có ít hơn 10 đại diện (điều này được tạo khi OP có 1 đại diện) bị giới hạn ở 2 liên kết trong một bài đăng . Các hxxp đã làm việc xung quanh hạn chế đó.

@MichaelT Cảm ơn bạn đã chỉ ra điều đó. Tôi không ý kiến.
Giàn khoan

Câu trả lời:


19

Bước đầu tiên của bạn = Tìm hiểu nghề của bạn

Kinh nghiệm quan trọng hơn học sách:

Chọn một dự án và tìm ra cách để đạt được mục tiêu của bạn.

Điều này chắc chắn sẽ dẫn bạn vào việc học sách, vv nhưng sẽ cho phép bạn đánh giá sự tiến bộ của chính mình và chọn những gì để đọc và khi nào. Một vài gợi ý:

  • Bắt đầu với một cái gì đó nhỏ.
  • Lấy mọi thứ một lúc.
  • Làm những điều tốt nhất có thể.
  • Đừng thêm những thứ vào mã của bạn cho đến khi bạn cần chúng.
  • Đừng bao giờ thêm mã bạn không hiểu.
  • Đừng lặp lại cùng một mã hai lần trong dự án của bạn.
  • Luôn luôn tưởng tượng rằng ai đó sẽ làm việc với mã của bạn vào ngày mai - cố gắng làm cho nó rõ ràng với người đó như bạn có thể.

Đối với sự lựa chọn của bạn về sách:

Nếu bạn muốn có lộ trình C #, danh sách sách của bạn là tuyệt vời. Nếu bạn biết nhiều hơn bạn sẽ có giá trị bằng vàng! Tôi đã là một lập trình viên .Net được trả lương khá cao kể từ những ngày đầu của .Net, nhưng vẫn chưa đọc những cuốn sách tiên tiến nhất (nhưng chúng nằm trong danh sách đọc của tôi). Bài học tôi rút ra từ điều này là những thứ tiên tiến có chỗ đứng của nó, nhưng nắm vững những điều cơ bản vẫn có thể mang lại cho bạn một sự nghiệp tuyệt vời. Vì vậy, đừng quá lo lắng về những cuốn sách nâng cao cho đến khi bạn thực sự cần chúng. Có một cuốn sách tôi sẽ thêm vào danh sách của bạn - ngay cả trước những cuốn sách C # nâng cao: Code Complete 2. Đây có lẽ là cuốn sách được khuyên dùng nhất trên trang web này. Xứng đáng như vậy, IMO.

Bước tiếp theo của bạn = Xây dựng niềm tin

Bạn đề cập đến việc kiếm được một ít tiền. Để nói rõ: để kiếm tiền từ việc phát triển phần mềm, bạn cần tìm một người sẵn sàng trả tiền cho bạn. Thật không may cho bạn, phát hiện ra rằng ai đó sẽ là một thách thức cho bạn.

Tại sao?

  1. tuổi của bạn .

Tôi có thể bị nhầm lẫn về điều này, vì nó (tất nhiên) khá vô lý. Tuy nhiên, thực tế đáng buồn là mọi người giữ định kiến ​​về tuổi tác. Theo kinh nghiệm của tôi, nhiều nhà tuyển dụng tiềm năng có thể sẽ từ chối bạn vì họ cho rằng những người trẻ tuổi không đáng tin cậy và không thể thực hiện lời hứa của họ. Điều làm cho điều này đặc biệt không công bằng là bạn không thể làm bất cứ điều gì về tuổi của bạn ngoại trừ chờ đợi.

Tuy nhiên, có những điều bạn có thể làm để tăng khả năng tìm được việc làm như một nhà phát triển mặc dù tuổi của bạn:

a) Giữ ở đó. Nếu bạn không đi tìm khách hàng vì bạn không mong họ từ chối bạn thì bạn sẽ không bao giờ tìm thấy những người sẽ nhìn qua tuổi của bạn và xem phẩm chất của bạn là nhà phát triển. Nói cách khác, đừng cho phép những định kiến ​​về tuổi tác của người khác trở thành định kiến ​​của bạn về người khác.

b) Nhận một người ủng hộ - một người sẽ chứng minh cho khả năng của bạn, người có uy tín hơn trong mắt các khách hàng tiềm năng mà bạn có trong chính mình. Có lẽ bạn có một người bạn lớn tuổi hoặc người thân có thể lên tiếng cho bạn? Tất nhiên, bạn sẽ cần một người có thể chứng minh cho phẩm chất cá nhân của bạn, vì vậy hãy chắc chắn rằng bạn thực sự sẵn sàng về mặt kỹ thuật.

  1. Bởi vì bạn không có kinh nghiệm trong ngành .

Mặc dù thực tế là bạn rõ ràng có tài năng, kiến ​​thức và sự nhiệt tình, bạn không có 5 năm kinh nghiệm trong công việc. Đây là một vấn đề mà mọi người phải đối mặt với một nghề mới bất kể tuổi tác của họ. Thông thường, mọi người không muốn làm phiền việc tuyển dụng những người chưa có hồ sơ theo dõi đã được chứng minh khi thực hiện công việc.

May mắn thay, bạn có thể làm rất nhiều về điều này:

a) Nhận ra rằng đây là một mối quan tâm hợp lý

Thật khó để ai đó biện minh cho việc trả tiền cho một dịch vụ khi họ không có bằng chứng cho thấy họ sẽ nhận được những gì họ phải trả cho.

Khi bạn nói chuyện với khách hàng tiềm năng, hãy thành thật về sự thiếu kinh nghiệm của bạn, nhưng hãy giải thích tại sao nó không phải là vấn đề. Nếu thể hiện sự chủ động trong việc này thì bạn có thể làm suy yếu sự phản đối của họ trước khi họ nghĩ đúng. Lợi ích của việc này không phải là thao túng, mà là để cho thấy rằng bạn hiểu nhu cầu kinh doanh của họ.

b) Xây dựng danh tiếng

Thực hiện các gói công việc nhỏ, có thể quản lý được với một khoản phí đủ nhỏ để bạn chấp nhận rủi ro trong giao dịch cho khách hàng. Thông thường, điều này có nghĩa là bạn làm công việc đầu tiên của bạn miễn phí. Chọn những khách hàng này một cách cẩn thận - bạn cần làm điều gì đó sẽ mang lại cho bạn sự hài lòng cho ai đó sẽ hát những lời khen ngợi của bạn khi bạn giao hàng. Tôi đã nói rằng nhiều nhà phát triển làm công việc từ thiện để bắt đầu, nhưng gia đình và bạn bè gia đình cũng có thể cung cấp cho bạn một cái gì đó.

c) Xây dựng kinh nghiệm

Để chứng minh kinh nghiệm bạn cần ... kinh nghiệm. Nếu bạn không thể tìm thấy ai khác làm việc, hãy làm việc cho chính mình. Bắt đầu một dự án sở thích. Chọn một cái gì đó mà mọi người sẽ thấy hữu ích, và có thể (kịp thời) sẵn sàng trả tiền cho. Đừng làm việc vì tiền, tuy nhiên, vì kinh nghiệm. Hãy coi đây là một khoản đầu tư dài hạn - bạn có thể mong đợi hoàn vốn trong thời gian dài, không nhất thiết là trong ngắn hạn.

d) Phát triển các kỹ năng phi kỹ thuật của bạn

Nếu hiện tại chương trình trả phí không hoạt động, đừng lo lắng. Nhà tuyển dụng không thực sự chỉ trả tiền cho kỹ năng trong một lĩnh vực cụ thể, mà là một gói hoàn chỉnh.

Kỹ năng phi kỹ thuật cũng quan trọng trong ngành CNTT cũng như kỹ năng kỹ thuật: nhà tuyển dụng đang tìm kiếm sự chuyên nghiệp cũng như khả năng lập trình. Những phẩm chất chuyên nghiệp này có thể bao gồm kỹ năng con người, kinh nghiệm tài chính, kiến ​​thức kinh doanh và phẩm chất cá nhân như trung thực, đáng tin cậy, v.v.

Tất cả những điều này có thể được phát triển độc lập với các kỹ năng kỹ thuật của bạn. Ví dụ, nếu bạn cần tiền, bạn có thể nhận một công việc không lập trình. Ngoài ra, bạn có thể tham gia với một nhóm cộng đồng hoặc tổ chức từ thiện hoặc cổng hoặc bất cứ nơi nào bạn có thể xây dựng dựa trên khả năng phi kỹ thuật của mình. Cuối cùng, các hoạt động này có thể dẫn đến việc bạn đạt được hợp đồng lập trình phù hợp đầu tiên của mình, nếu không trực tiếp (bạn không bao giờ biết những liên hệ nào bạn sẽ thực hiện) thì gián tiếp vì bạn tròn trịa hơn và có nhiều thứ để cung cấp hơn những người khác.


Cảm ơn bạn rất nhiều vì lời khuyên sâu sắc của bạn. Rất nhiều đánh giá cao.
dùng13822

+1, đây là loại câu trả lời khiến tôi yêu thích trang web này. Rõ ràng, đến điểm và hữu ích.

Tại sao khách hàng sẽ biết tuổi của mình? Tôi không biết về bất kỳ trang web tự do nào đăng tuổi của nhà cung cấp. Tôi ở đầu kia của thang điểm - Tôi 66 tuổi và những khách hàng duy nhất biết tuổi của tôi là những người tôi đã gặp mặt trực tiếp. Với những gì đã nói, vì thiếu kinh nghiệm, sơ yếu lý lịch của anh ấy sẽ bị thiếu.
tcrosley

8

Bạn có thể tốt hơn hết là tập trung ngay bây giờ vào các khu vực phát triển 'mềm hơn' - ví dụ: thiết lập trang web và học cách cài đặt và định cấu hình hệ thống quản lý nội dung và các ứng dụng nguồn mở khác.

Tôi không thấy một đứa trẻ 15 tuổi thực sự có thể tự do như một lập trình viên - trừ khi họ thực sự xuất sắc trong lập trình. Tôi nghĩ rằng bạn có nhiều khả năng có thể nhận được các hợp đồng nhỏ để thiết lập trang web cho các doanh nghiệp địa phương, và sau đó tiến tới các dự án lớn hơn từ đó.


2
Làm điều này - và trong khi đó, tiếp tục học những điều phức tạp hơn. Bạn có một số người bạn với một ban nhạc và vẫn là một trang web tĩnh? Thực hiện một CMS cho trang web của họ. Bạn sẽ có được kinh nghiệm sản xuất thực tế và một số bằng chứng về khả năng của bạn cho các khách hàng tiềm năng.
cbrandolino

Và không có ai ký hợp đồng với họ vì ở hầu hết các quốc gia, một người 15 tuổi không thể tham gia hợp đồng ràng buộc.
Giàn khoan

4

Tôi nghĩ thật tuyệt vời với những gì bạn đang làm. Loại điều này nên được khuyến khích! Điều đó nói rằng, vì bạn chỉ có Mùa hè để làm việc với các dự án thanh toán, bạn có thể muốn nhận một ngăn xếp công nghệ nhanh hơn so với C # và .NET. Có rất nhiều hợp đồng ngắn cho những thứ như ứng dụng PHP, ứng dụng RoR, phát triển iOS và Android, tùy chỉnh CMS, v.v. Những loại vai trò đó cũng ít có khả năng bị ảnh hưởng so với tuổi của bạn (một thực tế đáng buồn nhưng bạn sẽ chạy băng qua).

Tốt nhất của may mắn và đừng từ bỏ - lập trình là một trong những điều sáng tạo, thú vị và bổ ích nhất bạn có thể làm, giai đoạn.


Cảm ơn bạn đã khuyến khích cũng như các lĩnh vực khác có thể có lợi cho tôi để bắt đầu.
user13822

3

Đề nghị của tôi sẽ là những gì tôi đã làm cá nhân. Đi làm việc cho MacDonald hoặc bất cứ điều gì khác để kiếm tiền. Đừng mong đợi bất kỳ doanh thu nào đến từ CNTT trước khi bạn tốt nghiệp Đại học.

Tôi không muốn làm bạn thất vọng nhưng trong vài năm tới tôi nghĩ bạn sẽ chủ yếu là người tiêu dùng chứ không phải nhà cung cấp công nghệ. Điều đó có nghĩa là bạn sẽ chi nhiều tiền hơn cho CNTT mà bạn có thể mong đợi để tạo ra từ nó :-)


Có rất nhiều công việc tự do dành cho sinh viên đại học trước khi tốt nghiệp.
Norman Ramsey

Có thể không tốt nghiệp, nhưng cho đến khi bạn 18 tuổi, sẽ khó có ai đồng ý làm ăn với bạn. Là một người trưởng thành và có thể ký hợp đồng là một phần quan trọng trong kinh doanh.
Sean McS Something 8/10/2016

3

Tôi khuyên bạn nên tham gia một số công việc mùa hè thay vì cố gắng kiếm tiền thông qua lập trình. Phải mất khá nhiều thời gian và công sức trước khi bạn trở nên thành thạo (trung bình) rằng mọi người sẽ trả tiền cho bạn để viết phần mềm cho họ. Lập trình không phải là thứ có thể học được trong một mùa hè. Do đó, trừ khi bạn có kế hoạch thực hiện điều này trong một thời gian dài, tôi không nghĩ rằng phát triển phần mềm sẽ mang lại lợi tức đầu tư (về thời gian và công sức) mà bạn đang tìm kiếm.

Bỏ qua một bên nếu bạn thực sự quan tâm đến lập trình, tôi sẽ đề xuất một cách dễ dàng hơn một chút so với C # và .Net - thiết lập trang web (không xúc phạm đến bất kỳ ai). Trước tiên hãy bắt đầu với các trang web tĩnh sau đó học cách thiết lập một trang web điều khiển CMS đầy đủ. Mặc dù nếu bạn đi theo con đường này, tôi khuyên bạn nên tìm hiểu về những điều cơ bản của thiết kế và thiết kế web nói chung (không cần thiết nhưng nó thực sự hữu ích, đặc biệt nếu khách hàng của bạn muốn các trang web tùy chỉnh thay vì sử dụng các chủ đề được tạo sẵn).

Chúc may mắn trên chiếc xe của bạn và tôi hy vọng rằng bạn có thể phát triển để tận hưởng chương trình thay vì chỉ xem nó như một nguồn thu nhập. :)


1

Tôi luôn thấy cần phải có một vấn đề cần giải quyết hoặc một trò chơi mà tôi muốn viết. Bằng cách đó, bạn luôn tìm cách giải quyết vấn đề đó và điều đó sẽ dẫn bạn đọc sách và tìm kiếm trực tuyến. Tôi chưa bao giờ có thể đọc một cuốn sách và sau đó biết một chủ đề.

Khi bạn đã quyết định giải quyết "vấn đề", sự lựa chọn sách của bạn có thể trở nên rõ ràng hơn.


0

Id đề nghị thêm một số sách Asp.Net, Webforms hoặc MVC. Mots cho công việc tự do là về phát triển Web. Ngoài ra, Asp.Net không phổ biến lắm trong lĩnh vực này.

Có lẽ Ruby / Rails hoặc Python / Django sẽ phù hợp hơn cho tự do. Ngoài ra PHP có một phần lớn các công việc tự do.

Bạn có thể kiểm tra bất kỳ trang web tự do nào và phân tích các công nghệ mong muốn nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.