Gửi cái gì đó nhỏ tuần này
Một kế hoạch cụ thể để gửi một dự án nhỏ đang hoạt động tuần này, từ xác định phạm vi đến triển khai, khi bạn bị mắc kẹt học mà không xây dựng.
Hầu hết những người bị mắc kẹt trong các vòng lặp hướng dẫn không có vấn đề về kỹ năng. Họ có vấn đề về gửi. Bạn có thể xem bốn mươi giờ nội dung Python và vẫn đơ người ngay khi ngồi xuống để xây dựng thứ gì đó của riêng mình, vì các hướng dẫn loại bỏ mọi quyết định cho bạn. Hướng dẫn này là một hàm buộc: chọn cái gì đó nhỏ, hoàn thành nó, đặt nó trước mặt ai đó, tuần này.
Chọn một dự án bạn có thể hoàn thành trong một cuối tuần
Chế độ lỗi ở đây là phạm vi. Mọi người quyết định rằng dự án đầu tiên của họ nên là một ứng dụng SaaS có auth, billing và dashboard. Đó là một dự án sáu tháng được ngụy trang thành một cái cuối tuần.
Thay vào đó, chọn cái gì đó có một chức năng rõ ràng:
- Một CLI tool đổi tên tệp trong thư mục dựa trên ngày EXIF
- Một script scrapes public API và gửi cho bạn một bản tóm tắt hàng ngày
- Một Flask app có một form và một trang output
- Một browser extension làm nổi bật một từ khóa trên bất kỳ trang nào bạn truy cập
Viết phạm vi xuống trong một câu trước khi bạn viết bất kỳ mã nào. Nếu câu cần "và" nhiều hơn một lần, cắt nó. "Một tool theo dõi chi phí của tôi và cũng phân loại chúng và cũng biểu đồ chúng" là ba dự án. Gửi tracker trước.
Đặt một deadline thực sự và một đối tượng thực sự
Một deadline không có hậu quả không phải là deadline. Nói cho một người bạn biết, đăng trong một máy chủ Discord, hoặc cam kết giới thiệu nó cho đồng nghiệp của bạn vào Thứ Sáu. Đối tượng quan trọng hơn deadline — biết rằng ai đó thực sự sẽ nhìn thấy cái gì thay đổi cách bạn xây dựng nó. Bạn ngừng gold-plating kiến trúc và bắt đầu đảm bảo rằng happy path thực sự hoạt động.
Give yourself a number, not a vibe. "Tôi sẽ làm việc trên nó khi có thời gian" không tạo ra cái gì. "Hai giờ tối nay, hai giờ ngày mai, gửi Sáng Thứ Bảy" tạo ra một dự án.
Xây dựng phiên bản xấu trước
Bỏ qua các cuộc tranh luận về cấu trúc thư mục, bỏ qua việc chọn một CSS framework, bỏ qua việc quyết định giữa Postgres và SQLite cho một tool sẽ lưu trữ bốn mươi hàng. Viết một file. Sử dụng print() statements thay vì logger. Sử dụng Python list thay vì database nếu đó là tất cả bạn cần.
# expenses.py - phiên bản xấu, và đó là ổn
import csv
from datetime import date
def add_expense(amount, category):
with open('expenses.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow([date.today().isoformat(), amount, category])
add_expense(12.50, 'coffee')
Đó là một expense tracker đang hoạt động. Nó không có khả năng mở rộng, nó không có test, và nó sẽ giúp bạn 90% cách để có thứ gì đó bạn thực sự có thể sử dụng ngày mai. Bạn có thể refactor một cái xấu đang hoạt động. Bạn không thể refactor một cái đẹp không tồn tại.
Triển khai nó ở đâu đó, ngay cả kém
Một dự án trên laptop của bạn không tính là shipped. Đặt nó trước mặt internet hoặc trước mặt một người chạy nó riêng.
- CLI tool: push nó đến một public GitHub repo với một README hai đoạn văn hiển thị các lệnh install và run chính xác
- Web app: deploy đến Render, Fly.io, hoặc một droplet DigitalOcean $5 — đừng dành ba ngày so sánh Kubernetes options cho một dự án với một người dùng
- Script: thiết lập một cron job hoặc GitHub Action nó chạy mà không bạn chạm vào nó
Deployment friction giết nhiều side projects hơn bất kỳ thách thức kỹ thuật nào. Nếu git push đến một platform như Render quá nhiều ngay bây giờ, chỉ cần ghi một video Loom 90 giây về nó chạy locally và gửi cái đó. Điểm là bằng chứng bên ngoài nó hoạt động, không phải độ trưởng thành cơ sở hạ tầng.
Viết xuống những gì bị hỏng
Sau khi gửi, dành mười lăm phút viết ba cái mà đã sai và cách bạn khắc phục chúng. Không phải cho bất cứ ai khác — cho bạn. Đây là học tập thực tế. Tutorial dạy bạn syntax. pip install bị hỏng, lỗi CORS, bug off-by-one date ở nửa đêm — những cái đó dạy bạn phần mềm thực sự hoạt động như thế nào.
Giữ các ghi chú này trong một file chạy liên tục. Sau năm hoặc sáu dự án nhỏ, bạn sẽ nhận thấy cùng các danh mục của bugs xuất hiện, và đó là curriculum thực tế của bạn: những khoảng trống tutorials không bao giờ bao phủ.
Sau đó chọn điều tiếp theo, lớn hơn một chút
Đừng nhảy từ một CLI script đến một distributed system. Thêm một chiều phức tạp tại một thời điểm: dự án tiếp theo nhận một database thay vì CSV, hoặc một test suite cơ bản, hoặc một người dùng thứ hai. Các bước nhỏ tích lũy đánh bại một rewrite ambitious sẽ đình trệ trong tuần ba.
Nếu bạn muốn các bước tiếp theo có cấu trúc sau điều này, các đoạn Python và DevOps của Korra Studio bao gồm chính xác deployment và tooling gaps có xu hướng làm bại một người sau dự án shipped đầu tiên của họ.
Viết với hỗ trợ của AI, được xem xét và đăng bởi Michal Pilch (CISSP), Korra Studio.
Đây là một ghi chép từ cơ sở kiến thức Korra Studio — nền tảng kết hợp mỗi chủ đề với phiên hỗ trợ 1-kèm-1.
Bắt đầu miễn phíarrow_forward