Từ nhà phát triển web đến nhà phát triển phần mềm : tôi đã bắt đầu như thế nào

Bài viết gốc: https://medium.com/bento-systems/from-web-development-to-software-development-how-i-got-started-5d617df72c60
Người dịch: nghiahsgs
Bài dịch nằm trong kế hoạch học tiếng anh của người dịch

Từ nhà phát triển web đến nhà phát triển phần mềm : tôi đã bắt đầu như thế nào

A shot of the SASS system my team built.

LEGO

xây dựng mọi thứ luôn là một phần của con người tôi. Tôi bắt đầu khi tôi trẻ. Tôi là một LEGO cuồng tín (bây giờ vẫn vậy, không chắc rằng nó thực sự đi xa). Tôi có nhiều tập , nhưng quan trọng nhất, tôi có một bồn tắm lớn LEGO ngẫu nhiên.

Bất cứ khi nào tôi nhận được được 1 tập LEGO mới, tôi bắt đầu xây những cái được miêu tả trên hộp. Cho một thời gian ngắn là đủ. Mỗi lần tôi mệt mỏi với thiết kế dự định, tôi tháo vỡ nó ra và cho nó vào một bồn tắm lớn cá LEGO ngẫu nhiên.

Từ điểm đó, ai biết những mảnh vỡ đã được trở thành. Ô tô, xe tải, máy bay, tòa nhà, một ô tô điều khiển từ xa và mang theo một chiếc camera không dây. Chỉ ngẫu nhiên tạo những thiết kế của tôi. Không phải thiết kế vĩ đại bởi ý nghĩ bất kỳ gì, nhưng nó la của tôi. Ở điểm này, tôi đã xây một chiếc thang máy cho con chuột thú nuôi của tôi (Nó là câu chuyện ở thời điểm khác). Xây dựng, và quan trọng hơn, xây dựng mọi thứ , đó là những thứ của tôi

Nashville và những công việc cũ

Tôi đã được sinh ra và lớn lên tại Springfield, MA. Nhưng nếu bạn nhanh chóng chuyển tiếp về những năm tôi 20, tôi đã chuyenr đến Nashville, TN, cưới vợ, và không có ý tưởng tôi muốn làm gì với cuộc sống của tôi. Do đó, giống như hầu hết mọi người trong những năm 20 tuổi, những người đã không vào đại học và không có ý tưởng mình muốn làm gì trong cuộc sống này, tôi đã chọn ngẫu nhiên công việc.

Tôi trộn sơn ở Sherwin- Williams, bán xe điện cho doanh nghiệp địa phương, và cũng trở thành một nhân viên giao pizza cổ điển. Có nhiều công việc khác nữa, không việc nào trong chúng là hào nhoáng nhưng chúng thanh toán cho tôi hóa đơn. Trong thời gian này, công việc tôi có không bao giờ là full time. Tôi tìm ra một vài công việc part time cho phép tôi kiếm được ít tiền và có nhiều thời gian rảnh để thử những thứ khác. Và trong thời gian rảnh là nơi tôi học cách để xây dựng một website, và quan trọng hơn, tôi thích xây dựng website.

Tôi đã gặp 1 gã , gã này có một vài ý tưởng cho những việc kinh doanh khác nhau. Anh ý (và vẫn) là một người nhanh nhẹn, năng lượng cao. Một trong những ý tưởng của anh ấy là tạo một web-base, video training platform cho các lãnh đạo doanh nghiệp. Tôi thích khái niệm này và chúng tôi bắt đầu quan hệ. Tôi đã có khả năng xây dựng một trang web và platform cho các thành viên và anh ấy chịu trách nhiệm cho những thứ cơ bản khác. Mạng lưới quan hệ, sản phẩm hướng dẫn, sales, và tất cả những thứ kinh doanh khác mà tôi chả hề biết gì.

Nó thật tuyệt. Tôi bắt đầu xem xét nền tảng và cuối cùng lựa chọn Joomla. Joomla là một nền tằng tuyệt vời. Nó được xây dựng bằng PHP và có hệ sinh thái thứ 3 tuyệt với. WordPress cũng có sẵn ở thời gian đó nhưng nó không đủ lớn như bây giờ. Nên tôi đã chọn Joomla, những thực sự vui bắt đầu. Tôi quyết định cách tốt nhất để bắt đầu là bắt đầu từ đáy và tôi khởi tạo server đầu tiên.

Đó là những thứ tầm thường ở thời điểm hiện tại nhưng với tôi ở thời gian đó, nó giống như cố gắng xây một cái nhà, mà không có bản thiết kế và trong trời tối. Cảm ơn google và stack overflow, tôi đã tạo được nó. Tôi đã có một server, MySQL và Joomla chạy. Bây giờ là thời gian cho xây sản phẩm thật và website.

Nó tốn thời gian để có được Joomla và cách giải quyết. Tôi đã có một người hướng dẫn tuyệt vời khi tôi lần đầu bắt đầu, người ấy giúp tôi tránh hầu hết cách gotchas thông thường và chỉ đạo tôi đi xuống con đường ít vật cản. Những lời khuyên của anh ấy và thời gian của anh ấy là vô giá. Đừng hiểu lầm tôi, đêm muộn cho việc học và sự vỡ web là thường xuyên, nhưng nếu không có sự hướng dẫn của anh ý, tôi không chắc bao xa tôi có thể làm trước khi tôi từ bỏ.

Tôi nghĩ tôi thích điều này…

Dù việc kinh doanh của tôi và bạn tôi không thành công , tôi cũng đã ở một con đường sự nghiệp khác. Tôi từ bỏ công việc hàng ngày để bắt đầu công ty đó và dù nó tất cả là căng thẳng vào đêm muộn, nhưng tôi không muốn quay trở lại. Thời gian để hối hả.

Tôi bắt đầu học WordPress và bắt đầu làm những web cơ bản cho khách hàng. Không có gì fancy cả. Tôi đơn giản là nhà thầu cho các website. Tôi muốn làm cái tôi có thể tự mình làm. Tôi may mắn được giới thiệu (và sau đó được ký hợp đồng) bởi một tổ chức phi lợi nhuận ở đây, khu vực Nashville. Công việc ở tổ thức này giúp tôi thanh toán các hóa đơn trong khi tôi chuyển từ một web developer sang programmer. Tất cả từ sự thoải mái của văn phòng nhà tôi.

Dọc theo con đường, tôi gặp một gã sales, gã có khả năng bán những web wordpress. Chúng tôi hành hành quan hệ đối tác và bắt đầu công ty kinh điển “web dev”. Đầu tiên chúng tôi chỉ làm website. Sau đó nó nhanh chóng chuyển thành cung cấp thiết kế, SEO, kinh doanh mạng xã hội, và dịch vụ tư vấn kinh doanh. Mô hình kinh doanh mới không thực sự là ý chính của bài post này, nhưng tôi mang nó ra vì với tổ chức phi lợi nhuận đã cung cấp tôi cơ hội để gặp mọi người thông minh hơn mình và đưa cho tôi những dự án để triển khai, nó toàn là những thứ mới tôi học

THành thật, yếu tố lớn nhât trong sự dịch chuyển của tôi là từ WordPress và Joomla sang lập trình là do khách hàng của tôi. Không phải tất cả bọn họ, nhưng vài trong số họ là những kẻ mộng mơ. Mỗi lần chúng tôi chỉ cho họ cái gì là có thể với website mới và công cụ bên thứ ba, đầu óc của họ bắt đầu chạy đua. VIệc trả lời những câu hỏi như “Liệu nó có thể …” “Nó có thể cool như thế này nếu …”. Những ý tưởng của họ kết hợp với mong muốn của tôi xây dựng và học cái mới đã lái động lực của tôi thành cách để code như thế nào.

Coding 101

Php là ngôn ngữ lập trình của tôi. Tôi đã bắt đầu trong nhiều năm với Joomla và wordpres. Chỉ thay đổi bề mặt , hay đỏi giao diện, copy vào dòng từ internet và dán nó vào file của tôi. Thông qua tổ chức phi lợi nhuận, tôi gặp một gã, cho vài lý do, tìm ra nó trong trái tim anh ý để dạy tôi PHP. Thậm chí nhiều hơn, anh ý đã dạy tôi cách để nghĩ về vấn đề và cách để bẻ chúng ra thành các phần nhỏ. Nó là kỹ thuật thật, kỹ năng giải quyết ván đề.

Sau đó tôi đã xây dựng một vào app PHP và MySQL, học nhiều dọc theo cách đó. Xung quanh thời gian này, Javascript đẫ bắt đầu thống trị thế giới. NÓ không còn chỉ là hiệu ứng trên front end, bạn cũng có thể làm giải quyết những ván đề nghiêm túc với nó. NÓ là thứ tiếp theo tôi đã học.

Javascipt nhiều thử thách hơn PHP. Bản chất không đồng bộ của nó lạ lẫm với tôi. Nó cần thời gian để hiểu. Cuối cùng tôi cũng hiểu và tham gia một câu lạc bộ JS.

Với sự trỗi dậy của Javascript đã làm sống lại mô hình lập trình hàm. Ở mức độ cơ bản, ý tưởng là tạo những hàm nhỏ, tái sử dụng, luôn luôn trả về cùng kết quả đầu ra khi có cùng kết quả đầu vào. Nó là mô hình cho phép các lập trình viên xây dựng ứng dụng lớn có thể bảo trì. Muốn tạo một sự thay đổi trong cách chương trình của bạn xử lý cái gì đó ? Thật tuyệt, ở đó, sẽ có một nơi trong codebase để thực hiện cập nhật đó.

Vậy lập trình trong Javascript sử dụng mô hình hàm là mục tiêu tiếp theo của tôi. Tôi đã học một vài mô hình với PHP. Class, Factory, Object Oriented, Procedural .. nó là rõ ràng là học các mô hình là hữu ích với tôi. Các khái niệm là rộng và thường không áp dụng cho một ngôn ngữ đơn. Học cú pháp là hẹp hơn. Khi bạn học khái niệm, bạn học các để code.

Tôi nghĩ tôi đã có nó

Ở thời điểm này, anh tôi và tôi bắt đầu làm việc cùng nhau. Chúng tôi đi đến ý tưởng để xây một application framework trong js, sử dụng fp. Chúng tôi đã làm mặc dù nó lấy nhiều thời gian nhưng nó thực sự đáng giá. Ứng dụng của chúng tôi là framework, hiện nay nó là Pagoda. Nhiều ngày tập luyện là xây nhưng framework ở mức độ sâu; nó lấy nhiều áp lực để làm những thứ đúng…

Tôi khi vọng rằng cái gì bạn có được đó là bất cứ ai cũng có thể lập trình. Không cần bằng cấp, không cần kiến thức quá cao. Cơ hội cả được đưa ra, cả đươc tạo ra, làm và học chăm chỉ. Nó rõ ràng không phải công việc cho tất cả mọi người, nhưng nếu bạn thích nó, thậm chí một tí, đảm bảo bạn gắn với nó một thời gian đủ dài. Nó sẽ lấy nhiều tháng trước khi bạn thậm chí bắt đầu cảm thấy một chút thoải mái khi viết code.

Hãy hiểu rằng, nó là theo đuổi cả đời. Khi tôi nói tôi hiểu một ngôn ngữ hay một khái niệm. Nó thường có nghĩa tôi đủ biết để trở nên nguy hiểm với nó. Mọi lần tôi giải một vaans đè mới, tôi học được cái gì mới. Nó là quá trình không bao giờ có điểm cuối.

Học những khái niệm và những mô hình. Chúng sẽ giúp bạn cách để nghĩ về giải quyết vấn đề. Và thực tế là kỹ năng tuyệt vời trong lập trình không phải là ngôn ngữ bạn dùng mà đó là cách bạn tiếp cận giải quyết vấn đề

cảm ơn đã đọc !

Leave a Comment