Chuyển đến nội dung chính

Từng bước để trở thành lập trình viên giỏi (St)

Bước 1: Hãy cọn lấy một ngôn ngữ lập trình, và học từ những thứ căn bản nhất
Khi bạn viết code, hãy cố chắc chắn rằng bạn hiểu tất cả dòng code mà mình viết ra.
Bước 2: Xây dựng một cái gì đó nhỏ thôi
Đừng quá tham vọng tại thời điểm này – nhưng cũng đừng quá nhút nhát. Hãy kiếm tìm ý tưởng tạo ra một ứng dụng đơn giản để bạn có thể hoàn thành nó với một số nỗ lực.
Bước 3: Nghiên cứu về một framework
Bước 4: Học về một công nghệ cơ sở dữ liệu
Bước 5: Nhận một công việc hỗ trợ một hệ thống đang tồn tại
Mục đích của công việc này là học hỏi và thu được nhiều kinh nghiệm nhất có thể.
Bước 6: Học những bài thực hành tốt nhất về cấu trúc (structural)
Hãy bổ sung vào giá sách của bạn với những cuốn sách sau đây:
Các cuốn sách về cấu trúc ngôn ngữ xác định như:
Bước 7: Học một ngôn ngữ lập trình thứ hai
Bước 8: Xây dựng một cái gì đó có giá trị
Bước 9: Kiếm một công việc tạo một hệ thống mới
Bước 10: Học những bài thực hành tốt nhất về thiết kế phần mềm
Bạn nên tập trung vào việc nghiên cứu vào các bài thực hành thiết kế tốt nhất và một số chủ đề nâng cao kiểu như:
  • Design patterns
  • Inversion of Control (IOC)
  • Test Driven Development (TDD)
  • Behavior Driven Development (BDD)
  • Các phương pháp phát triển phần mềm như: Agile, SCRUM, v.v…
  • Message buses và integration patterns
Bước 11: Tiếp tục học
Một số điều cần làm trong suốt quá trình thực hiện các bước trên:
Dạy – Toàn bộ thời gian trong quá trình bạn đang học các thứ nói trên, bạn cũng nên dạy chúng cho những người khác. Không quan trọng là liệu bạn là một người mới bắt đầu hay là một chuyên gia, bạn sẽ có một cái gì đó có giá trị để dạy, dạy người khác thì cũng là một cách tốt nhất để học. Ghi lại tài liệu tất cả quá trình và chuyến hành trình của bạn, và giúp đỡ những người khác trên suốt con đường mà bạn đi.
Tiếp thị bản thân bạn – Tôi nghĩ rằng đây là một điều rất quan trọng đến mức tôi đã xây dựng một khóa học hoàn chỉnh về ý tưởng này. Học cách làm thế nào để tiếp thị bản thân và tiếp tục làm nó trong suốt sự nghiệp của bạn. Nhận ra cách làm thế nào để có thể tạo ra thương hiệu cá nhân cho chính bạn, xây dựng một danh tiếng cho riêng mình trong ngành công nghiệp phần mềm và bạn sẽ chẳng bao giờ sợ thiếu việc làm cả. Bạn sẽ quyết định về tương lai của chính mình nếu bạn học được cách tiếp thị bản thân. Có rất nhiều công việc phải làm, nhưng nó cũng mang lại giá trị xứng đáng. Bạn đang đọc bài viết này từ chính nỗ lực của tôi cho mục đích đó.
Đọc – Đừng bao giờ ngừng học. Đừng bao giờ ngừng đọc. Luôn luôn làm việc theo cách của bạn thông qua những cuốn sách. Luôn luôn phát triển bản thân. Chuyến hành trình tìm kiếm tri thức của bạn sẽ chẳng bao giờ kết thúc, vì việc học là chuyện của cả đời. Bạn có thể sẽ không biết được tất cả. Nếu bạn tiếp tục học trong suốt sự nghiệp của mình, thì bạn sẽ luôn luôn vượt trội hơn so với những đồng nghiệp khác.
Làm – Với mỗi điểm dừng chân trên chuyến hành trình đó, đừng chỉ học mà hãy làm. Hãy đặt mọi thứ mà bạn học được vào hành động. Thiết lập một quỹ thời gian bên cạnh để luyện tập các kỹ năng của bạn và viết code và xây dựng một số thứ. Cũng giống như việc bạn có thể đọc tất cả các cuốn sách về hướng dẫn chơi golf mà bạn muốn, nhưng bạn sẽ chẳng bao giờ trở thành tay golf số 1 thế giới như Tiger Woods nếu bạn không vác gậy đi đánh golf thực sự.


Sources: Teach yourself in 10 years_Petter Norvig 
              vinacode.net 

Nhận xét

Bài đăng phổ biến từ blog này

Why is Python so popular despite being so slow?

Is Python really slow? Yes, it is. If so, why is it so popular? Because it doesn't matter most of the time. Python makes you (the programmer) much more productive. Software performance is overrated - programmer performance tends to be more important nowadays. Have a look at the most popular Python projects - they are not really performance-critical. Even if they are, you can write the critical parts of them in C/C++ and all that remains in Python! I'll end this post with a quote from Don Knuth - probably the greatest computer scientist alive: "Programmers waste enormous amounts of time thinking about, or worrying  about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when  debugging and maintenance are considered. We  should  forget about small efficiencies, say about 97% of the time:  premature optimization is the root of all evil. ” Source:  https://www.quora.com/Why-i

Advanced Soil Mechanic – 1.Generall

Advanced Soil Mechanic – 1.Generall 1.     Soil aggregate. Plasticity & classification: Tính nguyên vẹn của đất. Độ dẻo. Phân loại đất 2.     Stresses & Strains – Elastic Equilibrium: Ứng suất và biến dạng – Phương trình đàn hồi 3.     Stresses & Displacements in a soil mass Ứng suất và chuyển vị   trong khối đất 4.     Pore water pressure due to undrained loading Áp lực nước lỗ rỗng do tải trọng không thoát nước. 5.     Permeability & seepage Tính thấm 6.     Consolidation Sự cố kết 7.     Shear strength of soils Cường độ (cắt) của đất 8.     Settlement of shallow foundation Độ lún của móng nông