Hành trình Swift: Từ 30 đến 60 ngày

216

PHẦN 1: Từ Zero đến với Swift trong 30 ngày

Tháng trước, tôi đã viết 1 bài về From Zero to Swift in 30 Days – tháng đầu tiên học Swift và lập trình ứng dụng iPhone.

Bài viết này sẽ tiếp tục phân tích nấc thang tiến bộ của tôi trong 30 ngày tiếp theo, thêm 1 số nguồn tài liệu hữu ích mà tôi vừa kiếm được.

Dần tiến bộ

1. Dành mỗi ngày 3 đến 4 tiếng để code

Tôi đã dần làm quen với công việc coding mỗi ngày. Khung giờ làm việc hiệu quả nhất của tôi là từ 6h đến 10h sáng. Tôi dành thời gian này để bổ sung, thay đổi tính năng của ứng dụng và chỉnh sửa các trường hợp bất thường mà mình đã bỏ qua lúc đầu, thực sự học Auto Layout và làm sạch các đoạn code.

Tôi dành thời gian còn lại trong ngày để làm những việc khác, tiếp thu những gì mình học được và nghiền ngẫm các vấn đề. Tôi không thể kể cho bạn nghe mình đã từng “aha” bao nhiêu lần, khi ngộ nhận ra nhiều điều sau mỗi lần coding vào cuối mỗi sáng.

Thật tuyệt vời khi chứng kiến ứng dụng của mình dần phát triển trong quá trình bản thân vẫn tiếp tục xây dựng các concepts và học hỏi nhiều hơn. Mặc dù tôi có hàng triệu ý tưởng để xây dựng mọi thứ, nhưng khi ngồi trước màn hình máy tính, tôi lại tự đặt cho mình những mục tiêu khả thi, cụ thể hơn. Tôi phân chia các tính năng hoặc chức năng thành những nhiệm vụ để xử lý có thể xử lý được trong 1 giờ. Nhờ vậy, mỗi lần gạch nó ra khỏi danh sách, tôi lại thấy rất vui.

2. Tiếp tục cố gắng với khóa học Swift của Stanford

Như đã đề cập ở bài trước, khóa học của Paul Hegarty rất tốt nhưng khá nặng nếu bạn chỉ mới bắt đầu coding. Tôi đã cố gắng giải quyết 1 hoặc 2 bài giảng trong 1 tuần, ghi chú lại và dừng ở những videos khi cần.

Càng theo khóa học, tôi lại càng nhận ra các bài giảng rất hữu ích và dễ học. Thay vì cứ giải quyết mãi những bài tập về nhà, tôi áp dụng những conceprts đó vào trong chính những dự án của mình – cách thức này truyền cảm hứng rằng tôi đang học đúng. Thỉnh thoảng khi bế tắc, tôi sẽ nhớ lại điều gì đó từ khóa học, đọc lại những ghi chú hoặc xem lại phần nào đó.

So với việc bạn chỉ đọc các tutorials, lắng nghe 1 ai đó chia sẻ về code của mình khi họ viết nó tạo nên sự khác biệt rất lớn và đặc biệt hữu ích nếu bạn không phải học coding ở nơi nào khác.

ide

3. Tìm hiểu nhiều hơn!

Coding mỗi buổi sáng là cách khiến tôi tiến bộ nhiều nhất, nhưng chỉ sau 4 giờ, năng suất làm việc bắt đầu giảm đi và đầu óc bắt đầu lan man. Vì thế, thay vì ép mình ngồi trước Xcode, tôi nhận ra có nhiều cách khác để tiếp tục tìm hiểu về Swift nhiều hơn.

Tương tự như các bài giảng của Standord, bạn hãy tìm cách nghe nhiều người nói chuyện về lập trình Swift và iOS để làm quen với ngôn ngữ này. Với raywenderlich.com podcast đã đề cập trong bài trước, tôi cũng nghe iOhYes và NSBrief nữa. Chương trình iOhYes mùa xuân và mùa hè này đã cho ra mắt series concepts lấy từ quyển Swift Language Programming của Apple. Nếu bạn đang đọc quyển này, bạn nên nghe thêm podcase để “thẩm thấu” và review lại tài liệu.

Nếu bạn đang tự học code, hãy ra khỏi nhà và nói chuyện với mọi người. Ngoài những buổi meet-up tại New York (Brooklyn Swift Developers, iOSoho, CocoaPods NYC iOS Study Group), tôi cũng hỏi thêm người quen để giúp tôi tiếp cận với các dev iOS giỏi mà họ biết. Tôi cố gắng sắp xếp 2-3 buổi hẹn coffee hoặc ăn trưa trong 1 tuần với các dev iOS này để mở rộng mối quan hệ và trình bày mục tiêu và những gì mình đang làm.

4. Tra khảo mọi thứ

Đôi khi, việc tra khảo, nghiên cứu tài liệu khá là phiền toái, nhưng nếu làm được, bạn sẽ chắc chắn sẽ biết ơn chính mình sau đó. Khi tôi giải quyết các vấn đề coding phức tạp hơn, việc tra khảo tài liệu giúp tôi tìm hiểu thông tin, xác định các patterns để học hỏi và chúng cũng là tham khảo hữu ích nếu tôi gặp trường hợp đó lần nữa.

Tôi khuyến khích bạn nên viết các tài liệu thân thiện và dễ xuất bản. Tôi sử dụng Tumblr, vì nó dễ tạo blog, dễ xuất bản, dễ công bố. Dù bạn cho rằng không ai đọc bài của mình, thì biết đâu đấy, giải pháp của bạn có thể giúp 1 ai đó hoặc 1 ai đó có thể đề xuất 1 giải pháp khác để hỗ trợ bạn.

Hai bài notes của tôi:

Tôi đã sẵn sàng đi làm!

Bây giờ thì tôi đã đạt được cột mốc đầu tiên của mình là chính thức submit ứng dụng RoundTrip lên app store. Từ đây, tôi đã sẵn sàng để giải quyết nhiều vấn đề hơn.

Tôi thực sự rất muốn học nhanh hơn bằng cách làm việc với các lập trình viên khác, để tận dụng mọi vai trò: từ dìu dắt, phối hợp làm việc, thực tập và cuối cùng là trở thành lập trình viên.

Tôi có nhiều kinh nghiệm startup trong vị trí 1 product manager, project manager và user researcher. Hiện tại, tôi đang mở rộng các lĩnh vực này để tìm kiếm cơ hội làm chung với các kỹ sư di động.

Nguồn: IDE Academy via Medium