Năm 2015 nhìn lại

Năm 2015 nhìn lại
Photo by Gerd Altmann from Pixabay

Năm 2015 sắp kết thúc và năm mới đang đến gần, mà đây là thời điểm chúng ta nhìn lại một năm vừa rồi. Có rất nhiều câu hỏi đặt ra, như tôi đang làm việc gì? Tôi làm ra cái gì? Tôi đã gây những lỗi lầm gì? Tôi đã học được những gì từ những gì tôi đã làm. Nhân dịp này, tôi sẽ viết một bài review. Đây là cơ hội rất tốt để tôi xem lại mình cũng như vạch ra phương hướng cho năm mới.

Với tôi, năm vừa rồi là một năm chuyển biến rất nhiều. Tôi đã đi làm được gần 2 năm, những khó khăn, bỡ ngỡ và thiếu tự tin của một sinh viên mới ra trường đã dần mất đi. Tôi đã được làm việc với những team rất tuyệt vời, làm những dự án tuyệt vời và cũng đã trưởng thành nền khá nhiều, ít nhất là trong công việc.

Năm vừa qua, tôi đã trải qua một số dự án, dự án nhỏ có, to cũng có. Tôi đã tham gia quá trình phát triển phần mềm nhiều hơn, sử dụng các công cụ thuần thục hơn. Mặc dù những dự án tôi làm cũng chưa phải là quá lớn, nhưng không sao. Quá trình phát triển cần phải dần dần.

Một năm khá vất vả, và cũng bận rộn. Nhưng có thể tổng kết được một số thành tích trong năm vừa rồi như sau:

Công việc:

  • Đã thành thạo hơn Ruby on Rails (RoR) sau thời gian bỡ ngỡ ban đầu.
  • Hoàn thành dự án DragonflyZ từ năm ngoái, mặc dù giai đoạn cuối có hơi mệt một chút, nhưng không sao.
  • Đang làm thêm một dự án nữa, có thể dự án kéo dài sang tận sang năm, nhưng cũng không sao. Mình không lo gì cả. Có việc gì khó đâu.
  • Nhờ hai dự án vừa rồi mà mình cũng học được JavaScript và cả code CoffeeScript, SCSS. Bây giờ thì không cần lo quá nhiều khi làm task nữa.
  • Một dự án không thành công lắm là Flavum. Đang làm khách hàng đổi BrSE khác. Thôi thì chuyển sang dự án khác. Dự án đó dùng Database sharding và AngularJS. Mình vẫn chưa hiểu hết. Nếu có thời gian mình sẽ tìm hiểu thêm. Chắc việc này phải để sang năm.
  • Học thêm được 2 framework viết Web của Python là CherryPy (sử dụng Jinja2 và SQLAlchemy) và Django. Django thì chỉ mới ở mức cơ bản, vì framework họ khủng quá, bao nhiêu tính năng đều có cả. Nếu thành thạo Django thì việc viết Web app không có gì khó. Nhưng muốn thành thạo thì cũng phải bỏ thời gian nghiên cứu thêm.
  • Sử dụng Pelican để sinh trang Web tĩnh, từ đó mà tạo thêm một trang blog cá nhân trên Bitbucket.
  • Quay lại với Github page sau một thời gian dài bỏ bê với design mới. Đồng thời đã đồng bộ nội dung của 2 trang với nhau.
  • Đã chuyển sang dùng Vim sau khi dùng các editor khác Sublime, Atom và cả Emacs đều khá là mỏi tay. Hy vọng dùng Vim sẽ đỡ hơn chút. Trước mắt thì phải làm quen với nó đã, bây giờ thao tác cũng chưa được thành thạo cho lắm. Hiệu quả thì trước mắt thấy tay phải đỡ mỏi hơn chút do không cần đến chuột nhưng tay trái vẫn thế do phải ấn Ctrl khá nhiều.

Cuộc sống:

  • Hai vợ chồng đã có cuộc sống rất hạnh phúc. Đã qua một năm cưới nhau mà càng ngày càng thấy yêu vợ hơn.
  • Hai vợ chồng đã đi chơi được hai nơi (Sài Gòn, Phú Quốc) và một lần đi chơi cùng công ty (Cát Bà). Lần nào đi chơi cũng thành công cả. Mà đi lại rất thích, mình chưa bao giờ thấy hối hận điều gì.
  • Kỷ niệm 1000 ngày yêu, hai vợ chồng đi picnic lên Ba Vì ngắm hoa dã quỳ rồi về thành phố ăn chơi. Nói chúng là ăn chơi lần nào cũng thành công cả.
  • Cuộc sống về cơ bản là ổn. Tuy nhiên vợ mình phải làm nhiều quá, toàn phải về muộn. Mà mình chẳng giúp gì được mấy, chỉ đỡ được vài việc lặt vặt.

Công nghệ và các Framework

Ruby on Rails

Ruby on Rails là framework đầu tiên mình được training khi vào công ty. Mình vẫn dùng nó từ đó đến giờ. Lúc đầu chưa được thành thạo cho lắm, nên khi bắt đầu dự án đầu tiên mình khá lo. Nhưng giờ thì ổn rồi. Mình đã có thể code nó khá tốt, dùng được các chức năng khó. Nó thực sự là một framework khá đầy đủ khi hỗ trợ hầu hết các thao tác cần thiết (có sự hỗ trợ không nhỏ của lượng gem rất lớn).

CherryPy

Được training Ruby on Rails, nhưng dự án đầu tiên mình làm lại là một dự án Python. Dự án đó cần mở rộng tính năng cho một trang Web viết bằng Python và nó dùng CherryPy. Mình đã biết đến CherryPy như vậy đó. Code Web bằng CherrPy rất thích, vì nó cho mình tự do viết bất cứ thứ gì mình muốn, mình có thể xử lý dữ liệu theo ý của mình, dùng template engine do mình chọn, dùng ORM mình thấy quen nhất (mặc dù mình toàn dùng SQLAlchemy).

Đây là một framework nhỏ nhẹ và phù hợp với nhiều nhu cầu viết Web của mình. Năm vừa rồi, lúc rảnh rỗi mình có nghiên cứu thêm một chút về framework này, và thấy rằng nó rất tuyệt vời. Bây giờ thì mình có thể code nó cũng tương đối ổn mặc dù một số tools vẫn phải dùng của người khác (tools của người ta tốt tội gì không dùng).

Django

Mình biết đến Django từ khi bắt đầu biết đến CherryPy. Lúc bấy giờ, mình thấy cả CherryPy và Django đều có rất nhiều người sử dụng. Mình cũng đã thử dùng cả hai. Nhưng thời điểm ban đầu, mình cảm thấy CherryPy thoải mái hơn hẳn, muốn code gì tự mình làm hết. Còn Django khá gò bó do phải dùng những gì có sẵn của framework.

Năm nay mình mới có thời gian học hành nghiêm chỉnh Django. Mặc dù mới ở mức cơ bản, nhưng mình thấy Django quả là một framework rất khủng (đúng là full-stacked framework). Nó cung cấp tất cả các công cụ mà một người viết Web cần, thậm chí nó còn tự động một số thao tác, nhất là trang admin rất dễ dàng config. Tuy nhiên cũng vì thế mà mới ban đầu mình thấy có chút gò bó.

Tuy nhiên, nếu thành thạo các công cụ, các app của Django thì một trang Web có thể được hoàn thành trong thời gian rất ngắn. Bản thân trang Bitbucket cũng chỉ cần 2 tháng với 1 dev và 1 designer để hoàn thành phiên bản đầu tiên. Đúng là một framework rất đồ sộ. Phần app form của nó mình vẫn chưa thạo lắm, có lẽ cần nghiên cứu thêm trong thời gian tới. Còn những app nào nữa mình chưa biết? Có lẽ cũng cần nghiên cứu thêm nhiều về framework này.

Grunt và JavaScript

Trong dự án gần đây nhất, mình đã có cơ hội làm việc rất nhiều với JavaScript và Grunt. Mặc dù code bằng CoffeeScript nhưng không vấn đề gì, vì tư tưởng vẫn dựa trên JavaScript. Mình đã thành thạo hơn CoffeeScript. Mặc dù chưa viết app nào dựa hoàn toàn trên các JavaScript framework. Có lẽ trong thời gian mình cũng nên nghiên cứu một số thứ như AngularJS, ReactJS chẳng hạn.

Một số thành tựu khác trong công việc

  • Sử dụng SASS trong các dự án thay cho CSS thông thường.
  • Sử dụng grunt task runner để tự động hóa một số công việc.
  • Sử dụng Pelican sinh trang Web tĩnh và Jekyll cho Github pages. Bây giờ thì hai trang blog đều đang hoạt động tốt.

Project

Nửa đầu năm nay mình đã hoàn thành project DragonflyZ kéo dài từ năm trước. Dự án kết thúc khá thành công, mặc dù lúc cuối hơi gấp rút một chút. Nhưng đã không có vấn đề gì quá lớn xảy ra. Mình có thể thao tác với server, chưa phá hỏng service lần nào (Đã rút kinh nghiệm từ năm trước).

Bây giờ mình đang làm một dự án khác, cũng Ruby on Rails. Dự án cũng khá thành công, việc release đúng hạn mà không có nhiều bug lắm. Bây giờ dự án đang đến hồi kết thúc thì phải. Mình đang phải làm những việc lặt vặt. Mình không thích việc này lắm. Mình thích được tham gia vào quá trình phát triển hơn, lúc đó có nhiều công nghệ, kỹ thuật được áp dụng. Làm việc cũng thích hơn.

Giữ năm nay, khi chuyển giao giữa hai dự án, mình có làm một dự án khác. Đang làm thì bị chuyển đi. Chả sao, mình cũng không thích dự án đấy lắm. Một dự án làm server game nhưng làm việc với khách hàng chỉ biết làm game mà chả biết gì server. Hỏi gì cũng không biết. Nhiều lúc còn hôm trước bảo mình tìm hiểu cái này, hôm sau lại kêu không cần nữa. Quit dự án sớm cũng tốt, để thời gian làm cái khác có ích hơn.

Hôm trước, khách hàng có nói họ có vài dịch vụ vẫn muốn hợp tác với bên mình. Chắc mình còn làm việc với họ dài dài.

Cuộc sống

Năm nay, mình đã có một chế độ luyện tập, dù không chuyên nghiệp nhưng cũng khá tốt. Kết quả là đã đỡ mỡ bụng mặc dù chưa hết hẳn. Chắc sang năm tập nhiều thêm chút là được.

Hai vợ chồng rất hạnh phúc, được đi chơi vài chỗ, rất thích. Kế hoạch đi chơi còn nhiều lắm nên sẽ thực hiện dần dần, cần phải có kế hoạch 5 năm, 10 năm. Được cái cả hai vợ chồng đều có máu chơi bời nên rất hợp nhau khoản này.

Cuộc sống riêng về cơ bản là ổn, mình cứ đúng giờ mà về. Cũng muốn giúp vợ vài việc mà chưa được. Chỉ giúp được mấy việc lặt vặt như đánh văn bản, nhập số liệu các thứ. Chứ chuyên môn mình không biết nên chẳng giúp được. Năm ngoái còn viết Web cho vợ mà năm nay chưa được cái nào. Chắc đợt noel cố làm lấy một cái.

Năm mới có gì?

Năm mới sắp đến, có nhiều dự định lắm.

Công việc thì đang ổn, nếu phát triển được hơn thì càng tốt. Kể được làm dự án nào tương đối lớn một chút thì thích, vì được làm việc liên tục. Chứ dự án cứ đến hồi thoái trào toàn làm việc lặt vặt thì chán lắm. Dự án ít việc thì lúc rảnh rỗi mình có thể học thêm vài thứ. Cái nào cũng có lợi cả. Nói chung là tùy cơ ứng biến.

Về hai vợ chồng, thì đã có nhiều dự định đi chơi lắm. Nên phải cố mà đi cho hết. Trước mắt là kế hoạch đi Buôn Ma Thuột. Chắc là sẽ thành công cả thôi.

Kế hoạch cho năm mới thì nhiều lắm mà liệt kê ra thì khó. Nên có lẽ mình chỉ nên đặt ra mục tiêu hằng tháng, hằng quý để thực hiện thì tốt hơn.

Trên đây là review cho một năm vừa rồi. Năm mới sắp đến, HAPPY NEW YEAR.

Tôi xin lỗi nếu bài viết có bất kỳ typo nào. Nếu bạn nhận thấy điều gì bất thường, xin hãy cho tôi biết.

Nếu có bất điều gì muốn nói, bạn có thể liên hệ với tôi qua các mạng xã hội, tạo discussion hoặc report issue trên Github.