Làm thế nào để làm việc như một nhà phát triển phần mềm

Tác Giả: Peter Berry
Ngày Sáng TạO: 19 Lang L: none (month-012) 2021
CậP NhậT Ngày Tháng: 17 Tháng Sáu 2024
Anonim
Làm thế nào để làm việc như một nhà phát triển phần mềm - ỨNg DụNg
Làm thế nào để làm việc như một nhà phát triển phần mềm - ỨNg DụNg

NộI Dung


Chưa bao giờ có thời gian tốt hơn để trở thành một nhà phát triển phần mềm. Nhu cầu về các nhà phát triển phần mềm đang tăng lên mọi lúc, cũng như sự đa dạng của công việc họ được giao nhiệm vụ hoàn thành. Sau đó, hãy trả tiền.

Theo USNews.com, nhà phát triển phần mềm trung bình kiếm được 101.790 đô la trong năm 2017. Theo Gorroo.io, nhà phát triển C # trung bình kiếm được 102 nghìn đô la mỗi năm.

Nói tóm lại, lập trình là một trong những kỹ năng cần thiết nhất trên thế giới hiện nay. Nếu bạn đang tìm cách làm việc trực tuyến, hoặc để chuẩn bị cho bước tiếp theo trong sự nghiệp, có một vài bước đi thông minh hơn là học mã.

Nhà phát triển C # trung bình kiếm được 102 nghìn đô la mỗi năm.


Nhưng bắt đầu từ đâu? Nếu bạn là một người đã từng say mê mã trong quá khứ, thì bạn có thể thấy mình hoàn toàn mất mát về cách bắt đầu. Trong bài đăng này, chúng tôi sẽ khám phá mọi thứ bạn cần biết: nhà phát triển phần mềm làm gì, bằng cấp gì bạn có thể cần và cách tìm việc.

Một nhà phát triển phần mềm làm gì?

Một nhà phát triển phần mềm là người phát triển phần mềm. Điều đó có nghĩa là họ sẽ viết mã, sử dụng các công cụ và thường thực hiện một dự án từ khi bắt đầu đến khi hoàn thành. Ngoài ra, họ có thể được thuê để xác định các lỗi trong mã hiện có hoặc để nâng cấp nó / thêm các tính năng mới.


Dù bằng cách nào, công việc của bạn sẽ bao gồm phần lớn là giải quyết các vấn đề bằng nhiều ngôn ngữ lập trình, API và công cụ. Bạn có thể làm việc trên các dự án trực tiếp cho khách hàng, thông qua một đại lý hoặc là một phần của một tổ chức lớn hơn.

Các loại nhà phát triển phần mềm

Lý do nhà phát triển phần mềm của Cameron là một thuật ngữ rộng như vậy, là có rất nhiều loại phần mềm khác nhau mà bạn có thể được yêu cầu để làm việc và rất nhiều công cụ khác nhau mà bạn có thể sử dụng để mang lại kết quả.

Một nhà phát triển phần mềm cũng có thể làm việc như một nhà phát triển web, hoặc một nhà phát triển stack stack đầy đủ, để xây dựng một trang web hoặc thêm các tính năng tương tác. Họ có thể phát triển ứng dụng di động hoặc làm việc trên các công cụ công nghiệp nội bộ.

Một điểm khác biệt cần xem xét: nhà phát triển phần mềm so với kỹ sư phần mềm, điều gì làm nên sự khác biệt?

Mặc dù cả hai thuật ngữ này có thể được sử dụng thay thế cho nhau, sự khác biệt thuộc về loại công việc đang hoàn thành và cách tiếp cận được thực hiện. Các kỹ sư phần mềm xem xét mã từ quan điểm kỹ thuật: họ xem xét vòng đời, họ xem xét các lỗi và lỗi và họ thường làm việc trên các dự án lớn giữa các nhóm lớn hơn.

Các nhà phát triển phần mềm, có khả năng là giám đốc sáng tạo chính trong một dự án. Họ phát triển phần mềm từ đầu đến cuối cho một khách hàng hoặc tổ chức, thường là để hoàn thành một vai trò cụ thể.

Vì vậy, nếu bạn làm việc cho Facebook như một phần của nhóm kỹ sư, bạn là một kỹ sư phần mềm. Nếu bạn tạo ứng dụng cho khách hàng, bạn là nhà phát triển phần mềm. Nhưng bạn cũng có thể được gọi cả hai trong cả hai tình huống.

Nhà phát triển phần mềm cần những kỹ năng và trình độ gì?

Để trở thành một nhà phát triển phần mềm, bạn cần học lập trình.

Câu hỏi tiếp theo là: ngôn ngữ lập trình tốt nhất để học tập hay hay, ngôn ngữ lập trình mà nhà tuyển dụng muốn là gì?

Mặc dù chắc chắn rằng một số ngôn ngữ lập trình được khách hàng và nhà tuyển dụng yêu cầu nhiều hơn (Python, Java, JavaScript, PHP, Swift, C #, C ++, Ruby), sự thật là điều này hoàn toàn phụ thuộc vào loại công việc bạn muốn làm . Dưới đây là một vài ví dụ.

Ngăn xếp phát triển đầy đủ

Python, JavaScript, PHP và Ruby là tất cả các ngôn ngữ được sử dụng để phát triển web. Nếu bạn đang làm việc trên một cổng thông tin trực tuyến hoặc thực hiện cập nhật cho các ứng dụng web như Twitter, một số trong số này có thể sẽ hữu ích. Trong vai trò này, có thể thuận lợi để hiểu cơ sở dữ liệu (SQL) và biết cách của bạn xung quanh một máy chủ.

Một nhà phát triển ngăn xếp đầy đủ của thành phố là một nhà phát triển web đã đạt được hình thức cuối cùng của họ: một người có thể xử lý mọi khía cạnh của thiết kế và bảo trì web, từ giao diện người dùng (HTML, CSS, JavaScript), đến mặt sau (PHP, Python, Ruby), để bảo trì máy chủ. Loại chuyên nghiệp này là nhu cầu nóng.

Tại đây, một khóa học tuyệt vời từ Udemy nếu bạn muốn tìm hiểu thêm: Full Stack Web Developer Bootcamp.

Nhà phát triển di động

Tuy nhiên, nếu bạn quan tâm đến việc phát triển ứng dụng Android, thì bạn sẽ cần học Java hoặc Kotlin (lý tưởng là cả hai). Bạn cần phải làm quen với Android Studio, SDK Android (Bộ phát triển phần mềm) và tất cả các khái niệm mới mà Google liên tục giới thiệu (như ứng dụng tức thời hoặc bong bóng).

Đọc thêm: Cách tìm việc như một nhà phát triển Android

Nếu bạn muốn tạo các ứng dụng iOS để kiếm sống, bạn nên tìm hiểu Swift và Objective C và làm quen với Xcode. Nếu bạn muốn tạo các ứng dụng Windows hoặc đi đa nền tảng, thì bạn sẽ cần C # và hiểu về Visual Studio.

Nhà phát triển trò chơi

Để trở thành nhà phát triển trò chơi, bạn chắc chắn nên học C # và lý tưởng nhất là C ++. Bạn nên làm quen với các công cụ trò chơi lớn (Unity và Unreal) và bạn có thể muốn thêm một chút CAD vào bộ kỹ năng của mình.

Hướng dẫn cơ bản về sự thống nhất để phát triển trò chơi tại Udemy là một nơi tốt để bắt đầu.

Đây chỉ là trầy xước bề mặt. Các nhà phát triển phần mềm khác sẽ làm việc trên phần mềm với thiết bị điện tử, xử lý dữ liệu lớn và hơn thế nữa.

Sau đó, có các công cụ cụ thể mà các công ty sẽ sử dụng để quản lý quy trình làm việc của họ và hợp tác trong các dự án lớn hơn. Khi tôi truy cập Facebook ở London vài tháng trước, tôi đã được giới thiệu nhiều công cụ khác nhau mà công ty sử dụng để theo dõi các dự án. Chúng bao gồm Photypeator, Mercurial, Sapienz, v.v.

Chắc chắn, các công cụ như Github (được sử dụng để kiểm soát phiên bản) có thể hữu ích cho các kỹ sư và nhà phát triển phần mềm làm việc trong nhiều ngành công nghiệp. Các ứng dụng quản lý dự án như Asana hay Basecamp cũng rất hữu ích cho công việc từ xa. Cho thấy rằng bạn có kinh nghiệm trong các lĩnh vực này sẽ làm tròn CV của bạn hơn nữa, và làm cho bạn thậm chí có việc làm hơn.

Tóm lại: những gì bạn cần biết sẽ phụ thuộc vào loại nhà phát triển phần mềm bạn muốn trở thành.

Các chứng chỉ phát triển phần mềm tốt nhất

Vì vậy, một khi bạn đã chọn loại công việc bạn muốn làm và loại mã bạn muốn viết, công việc tiếp theo của bạn là xác định loại đào tạo mà bạn sẽ cần. Bạn có cần bằng cấp để trở thành nhà phát triển phần mềm không?

Câu trả lời ngắn gọn là không. Câu trả lời dài hơn là không, nhưng nó chắc chắn có ích.

Mặc dù có thể có việc làm mà không cần bằng cấp, nhưng bằng cấp về khoa học máy tính sẽ vẫn là một yêu cầu đối với nhiều tổ chức và nhà tuyển dụng. Nó cũng sẽ cung cấp cho bạn một sự hiểu biết cơ bản tuyệt vời và một lợi thế cạnh tranh so với các ứng viên không có bằng cấp.

Đọc thêm: Futureproof sự nghiệp và tiền lương của bạn như là một nhà phân tích bảo mật thông tin

Tương tự như vậy, bằng cấp sẽ cung cấp cho bạn một lợi thế so với các ứng cử viên khác trong quá trình nộp đơn.

Nhưng bằng cấp rất đắt và hầu hết người lớn won có tùy chọn phù hợp với họ trong lối sống bận rộn. Trong trường hợp đó, điều tốt nhất tiếp theo là tham gia các khóa học trực tuyến và đạt được chứng nhận có thể chứng minh sự hiểu biết cơ bản.

Có nhiều chứng chỉ được công nhận trong ngành sẽ cung cấp cho bạn một số lượng ảnh hưởng khi ứng tuyển vào các vị trí.

Ví dụ: bạn có thể nhận được chứng nhận Unity trực tiếp từ công ty, điều này có thể chứng minh giá trị cho các nhà phát triển trò chơi. Nếu bạn muốn trở thành nhà phát triển Android, bạn có thể đăng ký để trở thành Nhà phát triển Android liên kết, đây là chương trình chính thức do Google điều hành. Hoặc bạn có thể chọn trở thành Nhà phát triển ứng dụng được chứng nhận Android, được công nhận khá tốt.

Các chứng chỉ như thế này mang lại sự an tâm cho khách hàng và các công ty đang cân nhắc tuyển dụng bạn. Chúng chứng minh rằng bạn thực sự có kiến ​​thức mà bạn tuyên bố có, điều đó có nghĩa là họ có thể giúp bạn tăng tốc với việc đào tạo bổ sung tối thiểu.

Đơn giản chỉ cần Google loại công việc mà bạn quan tâm và tìm các chứng chỉ nổi tiếng nhất trong lĩnh vực đó. Nếu bạn không chắc chắn, thì hãy chọn một trong những ngôn ngữ lớn như C # hoặc Java hoặc tìm kiếm một khóa học về khoa học máy tính hoặc ngăn xếp đầy đủ sẽ bao quát nhiều vấn đề.

Bạn có cần chứng chỉ để trở thành nhà phát triển phần mềm không?

Lựa chọn rẻ nhất sẽ là trở thành một nhà phát triển phần mềm không có chứng nhận hoặc bằng cấp. Nhưng liệu có thể tìm được công việc như một nhà phát triển hoàn toàn tự học?

Tôi có thể đảm bảo với bạn rằng nó là, vì đây là chính xác những gì tôi đã làm. Tôi đã học lập trình BASIC trên ZXSpectrum và từ đó nâng cao kiến ​​thức của mình với QBASIC, B4A, rồi Java, C #, Python, v.v.

Cách tôi có thể làm điều này là bằng cách để CV của tôi nói cho tôi. Tôi đã phát triển một ứng dụng Android thành công với hơn 100.000 lượt tải về trả tiền, làm việc với một số tên tuổi khá lớn, và sau đó viết một cuốn sách kỹ thuật về phát triển trò chơi cho Apress Media (Springer).

Những thành tựu đó cung cấp chính xác loại bảo đảm cho khách hàng như một chứng chỉ và cho phép tôi tính phí nhiều hơn mức tôi có thể.

Tôi đặc biệt khuyên bạn nên phát triển các ứng dụng và trang web trong thời gian rảnh rỗi để làm ví dụ về công việc của bạn, làm công việc rẻ tiền cho bạn bè để xây dựng danh mục đầu tư, tham gia vào các dự án nguồn mở trên GitHub hoặc tham dự hackathons.

Hầu hết các trang web tự do như UpWork cũng cung cấp các bài kiểm tra ngắn mà bạn có thể hoàn thành để thể hiện sự hiểu biết cơ bản của mình.

Ngay cả khi không có loại kinh nghiệm đó, nếu bạn đồng ý nhận thanh toán khi nhận, don don tính phí quá nhiều và cung cấp các ví dụ về công việc của bạn, thì bạn sẽ có thể có được một số công việc ngay lập tức.

Đối với việc tìm kiếm công việc với các nhà tuyển dụng lớn, một số chuyên gia đề nghị chứng nhận có thể không giúp ích gì cả.

Điều đó bởi vì, một khi bạn biết một ngôn ngữ lập trình, thì nó tương đối đơn giản để hiểu những ngôn ngữ khác. Trong khi cú pháp, công cụ và một số quy tắc có thể khác nhau; ngôn ngữ đầu tiên bạn học vẫn là khó nhất. Có một ngôn ngữ tương đương với nếu if trong hầu hết mọi ngôn ngữ mà bạn sẽ học.

một khi bạn biết một ngôn ngữ lập trình, nó sẽ tương đối đơn giản để hiểu những ngôn ngữ khác.

Khi làm việc trong một tổ chức, đào tạo luôn luôn được yêu cầu. Rất ít nhà tuyển dụng sẽ mong đợi bạn biết mọi thứ ngay lập tức, và - nói một cách trung thực - có một số lượng lớn lỗi lầm xảy ra trong sự nghiệp của bất kỳ kỹ sư phần mềm nào. Hy vọng sẽ cảm thấy hoàn toàn thoát khỏi chiều sâu của bạn và tràn ngập hội chứng mạo danh của người Bỉ khi bạn bắt đầu. Nhưng đừng lo lắng, mà mọi người cảm thấy thế nào!

Cách dạy mã cho mình

Dạy cho bản thân mã là một quá trình đầy thách thức và các khái niệm nâng cao như lập trình hướng đối tượng có thể là điều khó khăn để bẻ khóa. May mắn thay, có một lượng lớn tài liệu miễn phí có sẵn trực tuyến; chúng tôi đã nhấn mạnh một vài khóa học tuyệt vời từ Udemy và còn nhiều hơn nữa. Chúng tôi có một khóa học dành cho các nhà phát triển Android do Gary Sims điều hành chẳng hạn.

Dưới đây là một số công cụ tuyệt vời hơn để học mã ngay bây giờ:

  • Một khóa học tuyệt vời sẽ dạy Python cho khoa học dữ liệu.
  • Gói mã hóa C #
  • Gói đào tạo nhà phát triển web chuyên nghiệp gồm chín phần

Và có rất nhiều khóa học tuyệt vời tại các trang web như SkillShare.

Xem thêm: Cách bắt đầu phát triển ứng dụng Android cho người mới bắt đầu hoàn thành trong 5 bước

Làm việc thông qua những điều này một cách hợp lý và thực hành với các dự án của riêng bạn. Lúc đầu, nó rất khó khăn, nhưng nếu bạn tập trung vào các khía cạnh bạn thích, bạn sẽ đến đó.

Tìm kiếm công việc được trả tiền như một nhà phát triển phần mềm

Phần cuối cùng của câu đố là tìm công việc được trả lương, với tư cách là một nhà thầu, một nhân viên làm việc toàn thời gian hoặc một người làm việc tự do.

Tìm việc làm tự do chủ yếu là vấn đề sử dụng các trang web danh sách công việc, các trang web tự do như PeoplePerHour hoặc UpWork.

Ngoài ra còn có các trang web tự do dành riêng cho các nhà phát triển và kỹ sư phần mềm. Chúng bao gồm Rent-a-code và thậm chí Stack Overflow.

Có nhiều cách khác để kiếm tiền với chuyên môn là một nhà phát triển phần mềm. Bạn có thể trở thành một nhà văn (như cuối cùng tôi đã làm), và viết hướng dẫn cho blog hoặc sách cho các nhà xuất bản kỹ thuật. Bạn có thể dạy qua các khóa học trực tuyến; Tại sao không tạo khóa học Skillshare của riêng bạn?

Hãy để cho thiếu kiến ​​thức mã hóa chuyên ngành của bạn ngăn bạn khỏi xây dựng trang web hoàn hảo.Bạn có thể thiết kế, tùy chỉnh, lưu trữ và quản l&#...

Là một người hâm mộ Android, bạn có thể đã khá am hiểu công nghệ, nhưng bạn không cần phải xây dựng một trang web tuyệt vời những ngày này quarepace c...

ĐọC Sách NhiềU NhấT