Professional Documents
Culture Documents
12 Rules To Learn To Code eBook-Copyright App Brewery
12 Rules To Learn To Code eBook-Copyright App Brewery
HỌC
MÃ SỐ
Machine Translated by Google
Ǹǹ Quy tắc để
Tiến sĩ Angela Yu
iOS, WatchOS và Người hướng dẫn chính
của nhà phát triển web tại The App Brewery
www.appbrewery.co
Machine Translated by Google
Nội dung
9. Chơi Foosball
10. Tìm một người cố vấn - Thử lập trình theo cặp
www.appbrewery.co
1
Machine Translated by Google
Ǹ
Đánh lừa bộ não của bạn với
Học code cũng giống như đi tập thể dục vậy. Ngay cả khi bạn tập luyện tối đa và dành cả ngày
cuối tuần tại phòng tập thể dục, bạn sẽ không thấy sự khác biệt rõ ràng trên cơ thể mình. Bạn càng
bạn sẽ bắt đầu nhìn thấy các cơ mã hóa bị xé toạc của mình. (Điều trớ trêu là không bị mất trên
tôi).
Nhưng vấn đề là bạn tìm thời gian ở đâu? Giữa làm việc của bạn
công việc toàn thời gian, dành thời gian cho gia đình và quản trị viên cuộc sống của bạn, bạn đang ở đâu
có phải ngồi xuống và thực hành "viết mã hàng ngày" này không?
Trong khi làm bác sĩ, tôi đã ở bệnh viện khoảng 12 giờ,
chẳng hạn như ăn uống. Vì vậy, điều đó khiến tôi chỉ còn lại 9 giờ trong ngày.
Về mặt lý thuyết, 2 giờ có thể được phân bổ cho thực hành viết mã và 7 giờ cho giấc ngủ. Nhưng
không có gì khó hơn là cố gắng thuyết phục bộ não đang bão hòa công việc của bạn ngồi xuống và học
Là con người, chúng ta có rất nhiều quán tính. Điều này có thể không tốt cho chúng tôi - Tôi đang
nhìn bạn, bộ hộp “24”. Tuy nhiên, chúng ta cũng có thể biến nó thành lợi thế của mình. tôi đã tìm thấy
rằng một khi tôi bắt đầu viết mã và làm mọi thứ, tôi đã bị cuốn vào
dự án mà tôi không còn quan tâm đến TV, thức ăn hay giấc ngủ. Có khá nhiều
vài ngày cuối tuần khi tôi viết mã cho đến khi mặt trời mọc.
Vậy làm thế nào để chúng ta tận dụng được sức ì này? Trước tiên, bạn phải hiểu
việc chuyển đổi tác vụ là rất khó khăn. Nó đòi hỏi rất nhiều động lực. Nếu càng sớm
khi bạn về đến nhà, bạn thả mình trên ghế sofa và bật TV lên, bạn
đã mất vào buổi tối hôm đó. Điều này là do lượng động lực cần thiết
chuyển đổi nhiệm vụ và làm một việc gì đó không do sự tiến hóa thúc đẩy như ăn hoặc ngủ
Đây là lý do tại sao thời điểm bạn bước vào cửa và thay đổi
môi trường là thời điểm quan trọng nhất. Nếu tại thời điểm này, bạn nói với bản thân rằng bạn sẽ
chỉ thực hành 20 phút thực hành viết mã, bạn rất có thể sẽ thành công và sử dụng sức ì của chính
hơn. Không có bộ não nào coi một nhiệm vụ kéo dài 20 phút là rất nhiều nỗ lực và bạn sẽ kết thúc
đánh lừa bộ não của bạn để tận dụng buổi tối của bạn.
Bước tiếp theo là phát triển một thói quen. Nghiên cứu cho thấy rằng để
phát triển một thói quen mới, bạn phải thực hiện nhiệm vụ hàng ngày trong một tháng. tôi có
đã sử dụng thủ thuật tiếp theo này cho vô số việc khác nhau, từ tập thể dục đến viết mã, nó
luôn hoạt động như một sự quyến rũ. Để mở đầu cho thủ thuật này, tôi muốn bạn hình dung
bức tường treo năm bức tranh, bốn trong số đó thẳng hàng hoàn hảo, nằm ngang hoàn hảo,
nhưng một bức thì bị cong. Bây giờ thực sự tưởng tượng nó, có một phần của bạn muốn sửa chữa nó?
Bây giờ chúng ta hãy tưởng tượng một lịch hàng tháng với các hộp đại diện cho các ngày
riêng lẻ. Nếu bạn nuôi dưỡng thói quen mới đó vào một ngày cụ thể, thì bạn sẽ
dòng qua ngày hôm đó. Nếu bạn tiếp tục chuỗi ngày hôm sau thì bạn
kéo dài dòng đó, vân vân và vân vân. Có một cái gì đó về không
phá vỡ một đường liên tục thúc đẩy hầu hết mọi người tiếp tục
phát triển một thói quen. Nghe có vẻ lạ lùng, có rất nhiều lần tôi muốn
đã từ bỏ, nhưng buộc phải tiếp tục vì một hàng dài liên tục.
ǹ
Mã cho một mục đích
Khi tôi mới bắt đầu học cách viết mã, đã có vô số lần tôi
nhặt nó lên rồi từ bỏ, hết lần này đến lần khác. Đây là một câu chuyện phổ biến giữa
lập trình viên tự học. Nhìn lại, sau khi dạy rất nhiều học sinh, cuối cùng tôi
nhận ra những gì đang xảy ra. Rất nhiều người mới bắt đầu học viết mã bằng cách chọn
một ngôn ngữ tùy ý và làm theo cùng với một loạt các hướng dẫn. Sao chép mã, từng dòng,
đôi khi viết mã để tính ra các số nguyên tố, lần khác để tìm tất cả các số chẵn. Nhưng bạn
biết không? Tôi có thể tìm các số nguyên tố nhanh hơn rất nhiều bằng cách sử dụng Google cho
Đây là sự thật. Nếu bạn đang học viết mã vì mục đích học viết mã,
sẽ rất khó để bạn có thể làm tốt nó. Các kỹ năng đòi hỏi nhiều
thời gian trau dồi, chẳng hạn như lập trình, sẽ ăn sâu vào nguồn nội bộ của bạn
động lực. Có điều gì đó từ bên trong khiến bạn quên ăn quên ngủ. Tôi
thành thật có thể nói rằng viết mã cho các dự án của riêng tôi là một trong những
những điều thú vị tôi làm. Nó kết hợp tư duy logic với sự sáng tạo, và cuối cùng, bạn sẽ
làm được điều gì đó. Trong hầu hết các trường hợp, một cái gì đó mà thế giới chưa bao giờ
nhìn thấy. Điều gì đó có thể giúp cuộc sống của bạn trở nên dễ dàng hơn hoặc hơn thế nữa
thú vị. Điều gì đó có thể giúp cuộc sống của mọi người dễ dàng hơn và
thú vị hơn. Nó giống như việc bạn tạo ra một chiếc xe máy tùy chỉnh đẹp đẽ đến điên cuồng
nhà để xe, mà không cần nhà để xe hoặc chi tiêu một xu cho các thành phần.
Đây là điều thúc đẩy hầu hết mọi người. Phần tạo. Phần chế tạo. Vì vậy tôi
khuyến khích bạn bắt đầu học viết mã bằng cách làm theo một hướng dẫn làm cho
một cái gì đó, bất cứ điều gì. Tất nhiên, không chắc rằng ngay từ đầu bạn sẽ
có thể viết mã Clash of Clans hoặc League of Legends. Nhưng bạn sẽ có thể
làm một cái gì đó thú vị. Nó có thể là một trò chơi xúc xắc hoặc một ứng dụng thẻ flash. Nhưng mà
miễn là ở cuối hướng dẫn, bạn sẽ tạo ra thứ gì đó mà bạn có thể sử dụng
và chơi với, sau đó bạn sẽ có động lực hơn để viết mã đến cuối cùng.
Trong tất cả các khóa học của mình, chúng tôi luôn yêu cầu sinh viên của mình nghĩ ra một cách đơn giản
đã học trong suốt khóa học nhưng cũng sẽ kéo dài chúng một chút vì họ phải tìm cách đưa vào
Chúng tôi có một sinh viên đã tiếp tục tạo ra một ứng dụng đánh thức họ
sớm hơn một phút mỗi ngày để dễ dàng chuyển sang thời gian thức dậy sớm hơn.
Có một sinh viên đã tạo một ứng dụng trình chiếu tùy chỉnh như một món quà nhân ngày của
mẹ. Ai đó đã tạo ra một ứng dụng có chức năng hẹn giờ để tạo ra sự hoàn hảo
Không có giới hạn cho trí tưởng tượng của bạn. Nó sẽ khó khăn khi bạn bắt đầu
làm việc trên ứng dụng của riêng bạn vì không có hướng dẫn từng bước,
nhưng nó cũng sẽ mang lại sự cải thiện lớn nhất trong khả năng viết mã của bạn.
Bất cứ khi nào tôi nói chuyện lớn, sẽ luôn có một người hỏi tôi “tôi nên bắt đầu học ngôn
nhận thức chung rằng ở đâu đó ngoài kia có một ngôn ngữ hoàn hảo cho
lập trình viên mới bắt đầu. Một số cho rằng đó là Python, một số cho rằng đó là Swift.
Một ngôn ngữ lập trình chỉ đơn giản là một công cụ. Nó không khác với bất kỳ công cụ nào khác
trong hộp phần cứng của bạn. Nếu bạn muốn đóng một chiếc đinh, bạn nên
sử dụng một cái búa. Nếu bạn muốn sửa đường ống nước của mình, có thể bạn sẽ cần một
cờ lê. Có, có thể đóng đinh bằng cách sử dụng mặt bên của cờ lê
và cùng một ngôn ngữ lập trình có thể được sử dụng để giải quyết các loại
các vấn đề. Người thợ mộc sẽ nói với bạn rằng công cụ yêu thích của anh ấy là một cái búa và
thợ sửa ống nước sẽ nói đó là cờ lê, nhưng nó vẫn không làm cho nó trở thành “công cụ tốt
Một nhà phát triển web sẽ cho bạn biết rằng JavaScript là ngôn ngữ tốt nhất để học cho người
mới bắt đầu. Một nhà thống kê sẽ khuyên bạn rằng bạn sẽ được phục vụ tốt nhất với ngôn ngữ lập
bạn đang cố gắng thực hiện với công cụ của mình. Nếu bạn muốn tạo ứng dụng iOS, hãy học
Nhanh. Nếu bạn muốn tạo trang web, bạn sẽ cần JavaScript. Nhưng tốt
tin tức là các khái niệm lập trình cốt lõi: vòng lặp, điều kiện, hàm, v.v.
tất cả chúng đều giống nhau. Sự khác biệt chủ yếu là cú pháp. Bằng tiếng Anh, chúng tôi
Động vật có vú xé áo xuất hiện trong lúc trăng tròn, nó chỉ được đánh vần
khác nhau.
Vì vậy, hãy quyết định nhiệm vụ mà bạn đang cố gắng hoàn thành, sau đó chọn nhiệm vụ tốt nhất
Hiểu bạn là gì
Viết
Tôi gặp vấn đề với cách viết hầu hết các hướng dẫn lập trình.
Có quá nhiều hướng dẫn mà bạn thấy "đây là cách bạn vẽ một
hiện tượng cú ”.
chỉ cho bạn cách thực hiện mọi thứ, từng bước một. Nhưng sau đó, tại một số điểm,
anh ta nhận ra rằng anh ta đã bắt tay vào một nhiệm vụ Sisyphean và từ bỏ. tôi có
đã xem các hướng dẫn mà tác giả bắt đầu với mức độ chi tiết đáng kinh ngạc
thì giữa chừng sẽ trở lại thành “bây giờ bạn chỉ cần thiết lập cơ sở dữ liệu đám mây”. Ổ đỡ trục
hãy nhớ rằng đây là một hướng dẫn dành cho người mới bắt đầu!
Điều này dẫn đến một số vấn đề. Vấn đề thường gặp nhất là sinh viên
người chỉ sao chép mã trong hướng dẫn và không có manh mối gì về bất kỳ mã nào trong số đó.
Tại sao anh ấy lại thêm dòng bổ sung đó sau khi phân tích cú pháp JSON? Tại sao anh ấy làm từ
Rất dễ dàng tập trung vào một trong những loại hướng dẫn này vì nó hứa hẹn sẽ dạy bạn cách xây
dựng “Flappy Bird” hoặc “Candy Crush”. Nhưng hai phần ba chặng đường, không có nội dung nào bạn
bạn bắt đầu thấy màu đỏ trên toàn màn hình. Lỗi. Tải trọng của chúng. Tại sao? Không ý kiến.
Không có gì chạy. 3 giờ qua đã dành để sao chép mã và bạn đã học được
Đừng mắc vào cái bẫy này. Nếu bạn thấy một hướng dẫn có các bước chuyển từ người mới bắt đầu sang
nâng cao sau dòng 3 hoặc sử dụng từ "đơn giản" quá phóng khoáng hoặc không
giải thích bất kỳ mã nào của họ, sau đó dừng lại. Để lại hướng dẫn đó.
Lần khác, tác giả cố gắng giải thích những gì họ đang làm. Nhưng bạn vẫn
không hiểu điều họ đang nói, thì bạn đang ở trình độ nâng cao
hướng dẫn sẽ không cải thiện chương trình của bạn. Nó có thể hấp dẫn để xây dựng
những điều tuyệt vời, đặc biệt là khi blog hứa hẹn rằng bất kỳ ai cũng có thể làm được.
Nhưng nếu bạn không thể tìm ra những gì đang xảy ra, bạn sẽ được phục vụ tốt hơn bằng
Chìa khóa để học viết mã là tất cả về sự gia tăng. Bạn muốn được trải dài hơn nhiều lần và để kiến thức
được xây dựng trên kiến thức trước đó. Nếu đoạn đường dốc đó quá dốc, bạn sẽ bị lạc. Nếu đoạn đường nối
chán. Gradient phù hợp là khác nhau đối với tất cả mọi người. Đó là lý do tại sao chúng tôi khuyến khích
sinh viên sử dụng chức năng thay đổi tốc độ một cách tự do trong các hướng dẫn của chúng tôi. Đây
bằng cách này, bạn có thể nghe với tốc độ gấp đôi nếu bạn cảm thấy thoải mái với các khái niệm
và giảm tốc độ xuống một nửa nếu đó là điều gì đó không quen thuộc và bạn cần thời gian
dân số những người mắc Hội chứng Imposter. Hội chứng kẻ mạo danh là một
hiện tượng tâm lý nơi mọi người cảm thấy thích gian lận và ồ ạt
Các lập trình viên có xu hướng tự phê bình và liên tục cảm thấy rằng mọi người khác đều
giỏi lập trình hơn họ. Nếu bạn đã từng cảm thấy như vậy, bạn không
một mình, như các nghiên cứu cho thấy rằng 70% số người đã mạo danh
hội chứng.
Gần đây, tôi đã thấy một bài đăng trên trang web Hỏi & Đáp Quora nơi ai đó hỏi: "
Tôi bị sa thải tại Google (hoặc một công ty công nghệ lớn khác nếu tôi bị bắt gặp sử dụng
Anh ấy đã nhận được rất nhiều câu trả lời thực sự tuyệt vời từ các kỹ sư làm việc tại Google,
Amazon và các công ty công nghệ lớn khác. Bất kỳ ai đã làm việc như một
kỹ sư phần mềm sẽ cho bạn biết rằng không nhìn vào tài liệu tham khảo là nhiều hơn
không được chấp thuận. Trên thực tế, tôi thách bạn tìm một lập trình viên Google duy nhất
người chưa sử dụng Stack Overflow. (Nếu bạn không quen thuộc, StackOverflow là một
trang hỏi đáp cộng tác dành cho lập trình viên).
Rất nhiều lập trình viên mới lo sợ rằng bằng cách kiểm tra tài liệu tham khảo và hỏi
mọi người để được giúp đỡ, họ sẽ tự nhận mình là kẻ lừa đảo không biết lập trình. Không
ai có thể nắm giữ tất cả các thông tin liên quan trong đầu của họ. Ví dụ: đây là tên của một
- (id) initWithBitmapDataPlanes: (unsigned char **) các mặt phẳng pixelWide: (NSInteger) width
Trong lập trình iOS, có hơn 800 lớp, 9000 phương thức và
phát triển. Trong phát triển web, có một khuôn khổ mới mỗi tuần. Không ai sẽ mong đợi bạn có thể
nhớ mã. Đây là lý do chính xác tại sao chúng ta là lập trình viên, chúng ta có thể khiến máy tính
cho chúng tôi. Ví dụ, mã để ghi âm chỉ là một tìm kiếm ngắn
Kỹ năng mà hầu hết các nhà tuyển dụng tìm kiếm khi tuyển dụng là khả năng tư duy.
Tri thức được đánh giá cao trong một thế giới mà thông tin rất khó đến. bên trong
Những năm 1800, chỉ những người giàu mới được tiếp cận với những cuốn sách hay và những giáo viên giỏi. Hiện nay,
mọi người đều có tất cả thông tin họ có và hơn thế nữa chỉ bằng một cú chạm chuột.
Thông tin ngày càng mất giá, khả năng tưởng là cổ phiếu cần mua. Vì vậy đừng
ngại tìm kiếm, yêu cầu trên StackOverflow hoặc tìm tài nguyên để giúp bạn
giải quyết các vấn đề của bạn. Các lập trình viên giỏi nhất làm điều đó.
Kỹ năng bạn cần trau dồi là đặt câu hỏi tốt và hiểu
câu trả lời. Không có mã sao chép điểm từ câu trả lời StackOverflow nếu bạn không biết cách
hoạt động của nó. Bởi vì StackOverflow hoạt động trên một
hệ thống danh tiếng, họ quan tâm đến việc càng rõ ràng càng tốt
câu trả lời để được đánh dấu là đúng và thu thập phiếu tán thành.
Trong hầu hết các trường hợp, bắt đầu tìm kiếm StackOverflow là không hợp lý
bất cứ khi nào bạn gặp khó khăn. Lựa chọn đầu tiên nên luôn cố gắng tìm ra nó
tự ra ngoài. Vì vậy, chương trình của bạn không làm những gì bạn mong đợi, nhưng trước đây
Tôi đã gõ 3 dòng mã cuối cùng, nó hoạt động tốt. Vì vậy, chúng ta hãy tìm ra những gì
trong 3 dòng cuối cùng đã làm hỏng ứng dụng của tôi?
Nếu bạn thực sự không thể tìm ra, hãy bắt đầu với Google. Tìm kiếm truy vấn của bạn hoặc nếu
bạn có một lỗi dán mã lỗi và thông báo lỗi. Rất có thể
rằng khi mới bắt đầu, những rắc rối trong lập trình của bạn sẽ rất phổ biến và ai
đó thậm chí có thể đã dành thời gian để viết một hướng dẫn rõ ràng và ngắn gọn để
giúp bạn hiểu lỗi của mình. Khi bạn phát triển kỹ năng hơn trong
lập trình, các vấn đề bạn sẽ gặp ngày càng trở nên khó hiểu,
nhưng hy vọng, nếu bạn tuân theo 11 quy tắc khác, bạn cũng sẽ
lập trình viên có năng lực và tự tìm ra nó hoặc biết chính xác nơi để lấy
Cứu giúp.
Lý do khác tại sao bạn nên bắt đầu với Google là StackOverflow's
thuật toán tìm kiếm sắp xếp các câu hỏi và câu trả lời theo lần truy cập gần đây và không
phổ biến. Rất nhiều vấn đề bạn sẽ gặp phải khi bắt đầu sẽ
đã được hỏi và trả lời từ nhiều năm trước nhưng vẫn còn phổ biến.
Vì vậy, hãy hỏi một cách khôn ngoan và bạn sẽ gặt hái được những lợi ích từ cộng đồng. Một ngày
khi bản thân bạn trở thành một bậc thầy về mã, bạn sẽ trả lại cho chính điều đó
ǽ
Hãy là một người sao chép
Khi bắt đầu hành trình viết mã của mình, tôi đã nghĩ cách để học cách viết mã
tải nhiều hơn. Bạn đặt tên cho nó, tôi đã có nó. Nhưng họ không làm được gì nhiều ngoài việc
Tôi đọc. Tôi nhấn mạnh. Tôi quên mất. Tôi ngủ quên mất.
Sách là tài liệu tham khảo tốt. Nếu bạn muốn tìm hiểu sâu về các đại biểu và
giao thức, hãy đọc chương về điều đó. Nhưng nếu bạn muốn học, hãy
thứ gì đó.
Thiếu ý tưởng? Hãy là một người bắt chước. Làm sổ tay của riêng bạn, làm cho của riêng bạn
MSPaint, tự làm đàn piano của riêng bạn. Nếu bạn thích trò chơi, hãy chế tạo máy quét mìn,
tạo Tetris, tạo Flappy Bird. Chúng không chỉ hữu ích mà còn
chúng cũng sẽ là cơ hội hoàn hảo để bạn tìm ra cách thực hiện mọi việc
và có được kinh nghiệm trong việc tìm kiếm sự trợ giúp. Một cái gì đó hoàn toàn mới với thế giới
chẳng hạn như các phép chiếu ba chiều trên điện thoại thông minh, sẽ không ai có thể
giúp bạn. Bằng cách tạo ra các ứng dụng hoặc chương trình sao chép, bạn sẽ đi trên con
đường mà nhiều người đã đi trước bạn. Bằng cách này, bạn tối đa hóa cơ hội
một người nào đó sẽ có thể cung cấp cho bạn sự giúp đỡ và lời khuyên khi bạn gặp khó khăn.
Vấn đề lớn nhất với các khóa học viết mã trực tuyến là thiếu trách nhiệm giải trình.
Không nghi ngờ gì nữa, có rất nhiều Khóa học trực tuyến mở rộng lớn (MOOC) tuyệt vời,
hậu quả của việc không làm bài tập về nhà của bạn hoặc bỏ lỡ một tháng đáng giá
Hãy đối mặt với nó, động lực bên trong không phải là mạnh mẽ trong bất kỳ ai trong chúng ta. Chúng tôi luôn có thể
tìm lý do tại sao chúng tôi xứng đáng “Netflix và thư giãn”. Tôi thậm chí không thể đếm làm thế nào
nhiều khóa học trực tuyến mà tôi đã đăng ký và sau đó không nghe
một bài giảng hoặc hoàn thành một phần của môn học.
Bạn cần có trách nhiệm và cam kết học hỏi. Hãy nghĩ lại của bạn
những ngày đại học, có muốn hoàn thành bài luận đó lúc 3 giờ sáng nếu không có gì phụ thuộc vào nó?
Bạn sẽ đi xem bất kỳ bài giảng nào nếu bạn không quan tâm đến việc đậu hay rớt?
Đây là lý do tại sao chúng tôi cố gắng đưa trách nhiệm giải trình vào các khóa học của mình.
Chúng tôi nhận ra rằng việc kết hợp sinh viên với một người bạn sẽ giúp ích. Một người nào khác là
một người mới bắt đầu, ở cùng cấp độ với bạn, người đôi khi giúp đỡ bạn và những người khác
những lúc cần sự giúp đỡ của bạn. Đôi khi, khi tỷ lệ học tập của mọi người khác nhau hoặc nếu
bạn được ghép nối với một trình bugger lười biếng, bạn có thể hoán đổi nó và nhận một
Bạn bè. Bởi vì hệ thống này là hoàn toàn tự nguyện, có một mức độ
tự chọn cho những người làm việc tốt trong nhóm và được thúc đẩy bởi
khác. Cũng như bạn có nhiều khả năng đi đến phòng tập thể dục hơn nếu bạn đăng ký với
đối tác, bạn có nhiều khả năng học hỏi hơn nếu bạn có một người bạn mã hóa.
Vì vậy, nếu bạn không tham gia khóa học của chúng tôi thì hãy tự tìm kiếm. Có rất nhiều
Nhóm Facebook dành riêng cho những người đang học viết mã. Có một
toàn bộ subreddit (r / learningprogramming) dành riêng cho việc này, tôi chắc rằng bạn sẽ tìm thấy
những người cùng chí hướng ở đâu đó trực tuyến hoặc ngoại tuyến.
Điều tiếp theo tôi sẽ nói với bạn sẽ gây tranh cãi. Chúng tôi tin rằng
mọi người không coi trọng những thứ không có giá trị. Đây là lý do tại sao
Coursera đang gỡ bỏ một số lượng lớn các khóa học miễn phí của họ. Họ đã thấy điều đó
các lớp chưa hoàn thành bất kỳ dự án nào. Việc cung cấp một khóa học miễn phí thực sự gây bất lợi
cho việc học của sinh viên. Tất cả chúng ta đều có xu hướng tích trữ ở một mức độ nào đó và rất
tương lai-bạn có thể đau khổ vượt qua. Cô ấy nói luôn luôn có ngày mai.
Vì vậy, nếu bạn bị thúc đẩy bởi động lực bên ngoài nhiều hơn là bên trong, hãy cố gắng sử dụng
một chút động lực tài chính để thúc đẩy việc học của bạn. Suy nghĩ về bao nhiêu
một kỹ năng sống đáng giá đối với bạn và hãy đặt tiền của bạn vào đúng nơi bạn có ý định.
Xem liệu bạn có đang tham gia vào nội dung khóa học nhiều hơn khi có hoặc không có
cam kết tài chính. Có rất nhiều nơi mà bạn có thể thanh toán
một cái gì đó giá cả phải chăng để thúc đẩy bản thân bắt đầu một thói quen học tập thường xuyên.
Phần cuối cùng của quy tắc này là thử và tìm cách để được đánh giá. Ok, vậy
được đánh giá là phù hợp với cái chết và thuế về mức độ mà mọi người được hưởng. Nhưng
khi học bất cứ điều gì, điều quan trọng là nhận được phản hồi. Bạn sẽ nhận được đánh giá khách
thay vì cảm thấy như một kẻ mạo danh hoặc tràn ngập sự tự tin sai lầm.
Coursera có một hệ thống mà các sinh viên đánh dấu công việc của nhau. Tại
App Brewery, chúng tôi sử dụng giáo dục Github để kiểm tra mã của bạn và tìm lỗi
và các vấn đề với mã của bạn. Nhưng nếu bạn đang tham gia một khóa học lập trình thì không
có một hệ thống như thế này, thì sẽ rất đáng để bạn tìm một người cố vấn về mã
người có thể xem lại mã của bạn và cung cấp cho bạn phản hồi. Chỉ những gì được đo lường mới có thể
ǿ
Tiếp tục học hỏi
Trở thành một lập trình viên giỏi cũng giống như trở thành Madonna.
Đừng chạy ra ngoài và mua áo lót hình nón của bạn ngay lập tức. Ý tôi là lập trình sẽ tiếp tục
Luôn có những xu hướng mới, công nghệ mới và ngôn ngữ mới. Tuyệt quá
các lập trình viên thích thú khi học những điều mới, ngay cả khi điều đó có nghĩa là họ trở thành một
Thế giới sẽ tiếp tục chuyển động, nếu bạn ở yên một chỗ, cuối cùng bạn sẽ bị bỏ lại
phía sau. Tôi biết những lập trình viên chưa bao giờ học bất cứ điều gì khác ngoài
Fortran. Tôi biết các lập trình viên Objective-C không thể thuyết phục bản thân
tạo bước nhảy vọt và học Swift, mặc dù Apple đang nói với các nhà phát triển rằng
Objective-C sẽ bị loại bỏ dần. Tất cả chúng ta đều biết rằng Apple không bao giờ đưa ra các mối đe
dọa mà họ không thực hiện, chỉ cần nhìn vào ổ đĩa quang (và sắp tới là giắc cắm tai nghe?).
Đừng là ổ đĩa quang. Hay đúng hơn, đừng là chiếc máy tính xách tay vẫn đang cố chạy đĩa CD. Nếu nhu
cầu của bạn thay đổi, hãy học cách sử dụng một công cụ mới. Tiếp tục học hỏi, tiếp tục
Bạn có phải là nhà phát triển web luôn muốn phát triển thiết bị di động không? Chọn
một nền tảng và tìm hiểu iOS hoặc Android. Bạn có phải là front-end không
nhà phát triển bị cám dỗ bởi full-stack? Bắt đầu phát triển web với
Nút. Nếu bạn đã hiểu các khái niệm lập trình cốt lõi, hãy chọn
một vài ngôn ngữ nữa sẽ dễ dàng hơn rất nhiều so với việc bắt đầu lại từ đầu.
“Học x trong y phút” là một tài nguyên tuyệt vời dành cho các lập trình viên hiện tại để học
ngôn ngữ lập trình mới. Kiểm tra tài nguyên của họ ở đây:
learningxinyminutes.com
Chơi Foosball
Khi bạn xem các bộ phim Hollywood về các lập trình viên, họ thường ngồi vào
mặt trước của một máy tính xách tay, trộn lẫn bàn phím như thể chúng đang ở một dạng nào đó
tiền cược cao trong trò chơi "đập chết con chuột chũi".
Khi bạn thấy các lập trình viên thực sự làm việc. Chúng có xu hướng trông như thế này:
Đúng, đúng vậy. Không đánh máy. Chỉ nhìn chằm chằm. Rất nhiều nhìn chằm chằm.
Trong một công ty, mọi người có xu hướng phàn nàn rằng các lập trình viên luôn
chơi bi lắc hoặc làm một việc gì đó khác trông không giống như công việc. Mọi người có thể không biết, nhưng
Khi bạn thấy họ thích trò chơi bóng bàn, cười đùa và đùa giỡn,
họ có thể đang đau khổ bên trong. Vì có một lỗi, luôn luôn có một lỗi. Hoặc
Có thể mã đang hoạt động hoàn hảo, nhưng thật bất ngờ (các lập trình viên không
như bất cứ điều gì bất ngờ bằng cách này). Giống như thể họ vừa gõ ra một nghìn
Người khác có thể không hiểu, nhưng trong những tình huống này, hầu như
luôn có giá trị tránh xa mã của bạn và dành cho nó một chút thời gian và
khoảng cách.
Bạn có một lỗi trong mã của mình mà bạn không thể giải quyết? Ngủ trên đó, chơi
foosball, đi dạo. Trong 9 trên 10 trường hợp, giải pháp sẽ trở thành
rõ ràng. Trong 1/10 trường hợp còn lại, bạn chỉ đang bị hỏng.
Điều này nghe có vẻ không trực quan, nhưng lời khuyên của tôi là luôn luôn viết ít mã hơn, hãy suy nghĩ
hơn. Một khi mã không được suy nghĩ kỹ càng được viết và đưa vào
thế giới, chắc chắn bạn sẽ phải quay lại và lướt qua mã của mình,
từng dòng, cấu trúc lại và xóa mọi thứ. Đây luôn là một nỗi đau
trải qua.
Vì vậy, hãy nhớ rằng, mã dễ dàng nhất để loại bỏ là mã chưa bao giờ
ǸǷ
Khi tôi học tiếng Pháp, tôi đã bắt gặp một phương pháp dẫn đến
bước tiến lớn nhất trong khả năng nói của tôi. Đó là có sự trao đổi ngôn ngữ
qua Skype. Tôi sẽ bắt cặp với một người nói tiếng Pháp bản ngữ, người muốn
học tiếng Anh. Chúng tôi sẽ dành nửa giờ để nói tiếng Pháp và nửa giờ
giờ nói tiếng Anh. Cả hai chúng tôi sẽ dành một giờ mỗi tuần để cải thiện ngôn ngữ mà chúng tôi
Trong khi chúng tôi trò chuyện bằng tiếng Pháp, anh ấy sẽ sửa
cách phát âm hoặc ngữ pháp và đề xuất những cách mà tôi có thể xây dựng
Lập trình cặp là một kỹ thuật phát triển phần mềm nhanh nhẹn dựa trên các nguyên tắc rất giống nhau. Ví
dụ, một người học và một người cố vấn sẽ ngồi xuống cùng một máy trạm và giải quyết một vấn đề. Người
học đang ở
phụ trách viết mã và người cố vấn xem xét từng dòng mã khi họ
được viết.
Lúc đầu có thể không thoải mái vì hơi xấu hổ khi làm
những sai lầm và được họ chỉ ra cho bạn. Nhưng nếu bạn có một người cố vấn
là một giáo viên tốt thì họ sẽ cống hiến cho bạn nhiều thập kỷ thông thái tích lũy
điều đó có thể dẫn đến những cải tiến lớn trong khả năng của chính bạn, tất cả chỉ trong một vài
giờ.
Bạn sẽ được tiếp cận với một người đã có thời gian trau dồi kỹ năng của họ, tìm
những cách hiệu quả để thực hiện công việc và chỉ cho bạn cách họ lập trình và tiếp cận
Những người cố vấn giỏi không giải quyết vấn đề của bạn, thay vào đó họ thực hành Socrate
phương pháp đặt những câu hỏi hay giúp bạn tự suy nghĩ. nếu bạn
hỏi tôi làm thế nào để viết một cuộc gọi mạng, tất nhiên, tôi có thể chỉ cần gõ tất cả
và yêu cầu bạn sao chép nó. Nhưng điều đó không giúp được gì cho bạn. Thay vào đó, nếu bạn chỉ cho tôi
cách bạn tiếp cận vấn đề và tôi chỉ cho bạn cách tôi tiếp cận vấn đề
thì bạn có thể học được nhiều điều hơn là chỉ làm theo một công thức.
Lần sau khi gặp một vấn đề khác, bạn có thể áp dụng tương tự
tiếp cận và bắt đầu giải quyết nó cho mình. Luôn nhớ rằng thông tin là rẻ. Cách đây một thế kỷ,
nếu muốn tìm hiểu nguyên nhân gây bệnh, có lẽ tôi phải làm quý tộc, hay đốn củi gánh nước cho
thầy.
và trở thành người học việc của họ. Ngày nay, tôi có thể tìm kiếm trên Google và nhận được
Vì vậy, không bị treo vào thông tin. Thay vào đó, hãy học cách suy nghĩ. Làm thế nào để
tiếp cận một vấn đề. Làm thế nào để chia nhỏ vấn đề. Làm thế nào để đóng khung
vấn đề. Những kỹ năng này sẽ đưa bạn tiến xa hơn nhiều so với việc ghi nhớ đơn giản
và nôn trớ.
Có các cuộc Gặp gỡ liên quan đến lập trình diễn ra ở hầu hết các thành phố trong
thế giới. Truy cập www.meetup.com và tìm một trang liên quan đến ngôn ngữ mà bạn đang
cố gắng học. Tham dự các buổi gặp mặt, làm quen với mọi người. Trao đổi của bạn
chuyên môn cho chuyên môn của họ. Có thể ai đó cần một kế toán, có thể
ai đó cần tư vấn pháp lý. Đổi thời gian của bạn lấy thời gian của họ. Đừng nói với ai đó, “bạn sẽ
là người cố vấn của tôi chứ?”. Không ai muốn vứt bỏ miễn phí của họ
thời gian cho một số người lạ. Thay vào đó, hãy đề nghị sự giúp đỡ của bạn để đáp lại sự giúp đỡ của họ và
95% thời gian bạn sẽ thành công trong việc tìm kiếm một người cố vấn.
ǸǸ
Tham gia vào thói quen của
Chunking
Vì vậy, bạn có một ý tưởng ứng dụng tuyệt vời. Nhưng nó quá phức tạp
cho trình độ kỹ năng hiện tại của bạn. Bạn làm nghề gì? Bạn tham gia Chunking Express.
Không, tôi không nói về bộ phim art house. Tôi đang nói về việc phá vỡ
Giả sử bạn đang cố gắng tạo ra một con rô bốt có thể nướng bánh mì nướng bơ. (Nếu ai
đang làm việc trên một trong những thứ này, tôi rất vui lòng tài trợ cho Kickstarter của bạn!)
không biết gì về bánh mì nướng, bơ hoặc dao. Tin hay không tùy bạn
thực sự cần một mạch khá phức tạp trong não của chúng ta để có thể
đạt được điều gì đó đơn giản như nướng một lát bánh mì nướng. (Đây có lẽ là
tại sao tôi dường như không thể làm điều đó nếu không có cà phê).
Vì vậy, việc tạo ra một robot có thể thực hiện tất cả những điều đó một cách tự chủ thực sự phức tạp
và khó khăn. Nhưng là những lập trình viên giỏi, chúng ta có thể thực hiện một số thao
Robot không thực sự cần biết thế nào là bánh mì nướng và thế nào là bơ, chúng tôi
không tạo Skynet ở đây, vì vậy chúng ta hãy chỉ tập trung vào những điều thực tế. Có ba
1. Nhặt và sắp xếp miếng bánh mì nướng vào vị trí nướng lý tưởng.
3. Bôi bơ lên bánh mì nướng với độ phủ vừa phải (đây là phần tôi thấy thích nhất
khó khăn).
Tiếp theo, bạn chia nhỏ từng mô-đun ra xa hơn nữa. Trong quá trình này, bạn có thể
nghĩ về các cách khác nhau để giải quyết vấn đề. Ví dụ,
robot cần "phết" bơ? Hoặc nó có thể chỉ làm tan chảy bơ lên
nướng? Nó có cần phải học để nhặt một con dao? Hoặc nó có thể có một số loại
cánh tay dao sẵn có, giống như một số loại cướp biển shiv trong tù?
Bạn càng chia nhỏ các vấn đề và xác định vấn đề thì bạn càng
cố gắng giải quyết, thì càng dễ dàng đóng gói mã của bạn thành các phần nhỏ.
Vì vậy, vào lần tiếp theo khi bạn đang cố gắng làm cho điều đó "giao nhau giữa Snapchat
và Evernote ”, hãy nhớ chia nhỏ vấn đề thành các phần có thể giải quyết được.
Ǹǹ
mã số
Một trong những bước quan trọng nhất cần thực hiện để chuyển từ học lập trình
viên thành lập trình viên chính thức là hiểu cách nhận trợ giúp. Mọi người cần
giúp đỡ. Tất cả mọi người, kể cả những người được gọi là “Lập trình viên cấp độ
thần”.
Nhưng những gì bạn làm với sự trợ giúp sẽ quyết định bạn tiến bộ nhanh như thế
nào với tư cách là một lập trình viên. Trên một trang web như StackOverflow, có thể
rất hấp dẫn nếu chỉ sao chép và dán mã mà ai đó đã cung cấp. Chương trình của bạn hoạt
động chính xác như bạn mong đợi và bạn cứ tiếp tục cách lập trình vui vẻ của mình. Bài
tập này không dạy bạn bất cứ điều gì khác ngoài việc dựa vào mã. Bởi vì lần tiếp theo
bạn gặp phải vấn đề tương tự nhưng trong một tình huống khác, đoạn mã tương tự mà ai
đó đã cung cấp có thể không hoạt động nữa. Sau đó, bạn sẽ làm gì? Bạn đang mắc kẹt.
Đó là lý do tại sao có một quy tắc trong lập trình nói rằng "không bao giờ sao chép
mã mà bạn không hiểu". Vì vậy, bạn nên làm gì khi đối mặt với một khối mã giải quyết
vấn đề của bạn nhưng bạn không biết cách hoạt động của nó? Phá vỡ nó.
Bước 1 - Sao chép và dán mã vào chương trình của bạn. (vâng, vâng, tôi biết tôi chỉ
nói không làm điều đó, kiên nhẫn, kiên nhẫn).
Bước 2 - Đảm bảo rằng chương trình hoặc ứng dụng của bạn đang hoạt động như
mong đợi. Tức là xác nhận rằng khối mã thực sự đã giải quyết được vấn đề của bạn.
Bước 4 - Mỗi khi bạn xóa một dòng, hãy kiểm tra xem dòng nào bị hỏng. Ứng dụng vẫn
chạy chứ? Mã lỗi là gì? Việc xóa dòng mã đó đã ảnh hưởng đến chương trình của bạn là
gì?
Bước 5 - Ngay cả khi bạn nghĩ rằng bạn biết dòng mã làm gì, hãy xóa nó đi.
Nhiệm vụ quan trọng nhất của một lập trình viên là luôn kiểm tra các giả định của
bạn so với kết quả. Đối với cảm giác thú vị nhất với tư cách là một lập trình viên
là thế giới thực để xác thực các giả định của bạn. Bạn biết cảm giác tuyệt vời biết
bao khi bạn trai / bạn gái / chồng / vợ của bạn nói ra ba từ kỳ diệu đó không?
"Ba n đa đung".
Bước 6 - Hoán đổi một số dòng xung quanh. Có thể đạt được cùng một chức năng
với một thứ tự dòng khác không? Tại sao chúng được viết theo thứ tự chúng được viết?
Bằng cách phá mã giải pháp, từng dòng một, bạn sẽ học và hiểu mỗi dòng có chức năng gì
và tại sao nó được viết. Đây là một cách tốt hơn nhiều để sử dụng mã từ người khác
thay vì chỉ dán nó vào và hy vọng điều tốt nhất. Một khi bạn hiểu tại sao mỗi dòng đó
lại cần thiết, lần sau khi bạn gặp một vấn đề tương tự, bạn sẽ có thể tìm ra vấn đề và
tự giải quyết nó.
Khi bạn đã thành thạo việc phá mã từ StackOverflow, tài nguyên tiếp theo cần nhắm mục
tiêu là GitHub. Nó là một công cụ được các lập trình viên sử dụng để cộng tác nhưng nó
cũng là một trong những kho lưu trữ mã nguồn mở lớn nhất.
Vậy bạn có thể sử dụng nó như thế nào để trở thành một lập trình viên giỏi hơn? Giả
sử bạn muốn tạo bản sao Instagram. Nhưng thật không may, bạn không biết làm thế nào để
làm điều đó. Vì vậy, bạn truy cập github.com và tìm kiếm “Instagram” hoặc “ứng dụng
ảnh”.
Chắc chắn là sẽ có thứ gì đó được viết bằng Swift / Objective-C / Java mà bạn có
thể tải xuống và xem qua.
Hãy suy nghĩ về cấu trúc của chương trình của họ. Hãy xem tất cả các lớp, các
hằng số, tác động qua lại. Thực hiện một số sửa đổi đối với mã. Nó vẫn hoạt động
hay bạn đã bị hỏng nó? Tại sao bạn lại phá vỡ nó? Có liên kết nào mà bạn không xác
định được không? Hãy tự hỏi mình một loạt câu hỏi, tìm hiểu thông qua phương pháp
Socrate. Xé nhỏ dự án và hiểu cách nó được xây dựng.
Khi bạn bắt đầu thực sự giỏi trong việc này, điều tiếp theo bạn có thể thử là
thiết kế ngược. Tìm một dự án nhỏ trên GitHub do một lập trình viên uy tín thực
hiện, tải ứng dụng xuống. Chạy nó và xem tất cả các chức năng của nó. Chơi xung
quanh với nó.
Sau đó, xây dựng nó từ đầu và khi bạn hoàn thành, hãy so sánh mã của bạn với mã của
họ. Có những lợi ích về hiệu quả mà bạn có thể đạt được không? Có giải pháp nào cho
những điều bạn không thể tìm ra không? Bây giờ bạn đang thực sự tham gia vào các giải
đấu lớn.
Đó là tất cả cho bây giờ folks. Bạn còn chần chừ gì nữa? Đêm vẫn còn trẻ! Mã
một cái gì đó, làm một cái gì đó, học một cái gì đó ngay hôm nay! Truy cập
www.appbrewery.co để bắt đầu hành trình viết mã của bạn!
www.appberwery.co