László Békéssy tốt nghiệp ngành kỹ sư điện. Anh hiện đang là chuyên viên lập trình kiêm đồng sáng lập và Giám đốc điều hành của Trường lập trình CodeBerry. Trong buổi phỏng vấn này, chúng ta sẽ được nghe về mã tự viết (self-writing code), các dự án tâm đắc của Laci, những định kiến mà anh gặp trong ngành CNTT, và lý do anh nghĩ rằng tự do là điều tối quan trọng trong công việc.

Mình sống ở Budapest, thủ đô của Hungary.
Mình làm việc tại trường lập trình CodeBerry
Mình làm việc với iPhone, Dell, Windows (máy tính của mình sử dụng các hệ thống của UNIX)
Phong cách làm việc của mình gói gọn trong hai từ: sẵn sàng. (Thật khó để mô tả điều này chỉ trong hai từ vì “sẵn sàng” có ý nghĩa khác nhau đối với mỗi người. Mình sẽ trích dẫn lời của Marsellus Wallace: nếu một việc đã sẵn sàng, tức là nó đã sẵn sàng. Không còn gì để bàn nữa.)

Khi được hỏi về nghề nghiệp, bạn trả lời như thế nào?

Mình sẽ xổ một tràng triết lý về ý nghĩa nghề nghiệp, năng khiếu, công việc, rồi sẽ hỏi ngược lại xem người kia đã tìm thấy năng khiếu của bản thân chưa. Thực lòng mình không thích trả lời vì đây là câu người ta hỏi khi chả có gì để nói giống như “Bạn có khỏe không?”. Mình thích những cuộc trò chuyện sâu sắc hơn. 🙂

Còn không mình sẽ tự giới thiệu là Giám đốc trường lập trình (CodeBerry) kiêm chuyên gia tự động hóa và thiết kế bot tự động.

Bạn có thể chia sẻ thêm về những gì đang làm liên quan đến lập trình?

Công việc của mình là tự động hóa các tác vụ nếu chúng lập lại nhiều hơn ba lần.

Trong mỗi sản phẩm (cụ thể như CodeBerry), người dùng có hành trình sử dụng khá dài và đa dạng. Bọn mình cần theo sát kể từ thời điểm người dùng vào trang web và click vào một nút nào đó trên trang.

Nhiệm vụ của mình là đảm bảo mọi tương tác diễn ra hoàn toàn tự động mỗi khi một học viên tiềm năng ghé vào xem trang web. Ví dụ, mình cần đảm bảo:

  • Học viên có thể đăng ký và nhận được email xác nhận từ hệ thống.
  • Học viên có thể thanh toán học phí.
  • Học viên được đánh giá qua các công cụ phân tích.
  • Học viên tự động nhận được email phù hợp bất cứ khi nào họ cần.
  • Học viên nhận được hóa đơn.
  • Bọn mình có thể biết học viên đã tìm thấy CodeBerry qua chiến dịch nào và chiến dịch nào thực sự mang lại hiệu quả.
  • Học viên không còn quyền truy cập tài khoản khóa học sau khi đã bỏ đăng ký và được hoàn tiền nếu có yêu cầu.

Ngoài ra, mình xây dựng nhiều tác vụ nền khác giúp hệ thống của CodeBerry trở nên đáng tin cậy. Việc khắc phục lỗ hổng bảo mật trên máy chủ và cài đặt lại mọi thứ theo bản lưu cũ vốn không hề dễ. Tuy nhiên giờ mình có nhiệm vụ tự động hóa toàn bộ quy trình này. Có vậy thì bọn mình mới có thể yên tâm ngon giấc mỗi đêm.

Không gian làm việc của bạn trông như thế nào?

Mình chủ yếu làm tại nhà, đôi khi ra quán cà phê nhưng ở đó thường kém thoải mái hơn. Có ba thứ quan trọng trên bàn làm việc của mình: máy tính xách tay (tất nhiên rồi), tai nghe (mình luôn nghe nhạc khi làm việc, không nói quá đâu, luôn luôn) và dùng hai loại ghế khác nhau (mình ngồi nhiều nên phải đổi ghế thường xuyên).

Mình định sắm một cái bàn đứng để cải thiện cách làm việc. À, trên bàn thường có trà hoặc nước để đảm bảo mình nhớ uống nước và đứng dậy thường xuyên hơn.

Bàn làm việc của Laci (Người chụp: László Békéssy)

Bạn học lập trình từ bao giờ, học ở đâu và bằng cách nào?

Mình học CNTT ở trường đại học. Thật ra mình học lập trình từ năm 14 tuổi, nhưng chưa thấy thú vị cho đến khi vào đại học năm cuối và được học về mã tự tạo cũng như robot tự động hóa. Nếu nhìn triết lý của mình theo hướng tích cực thì mình mong muốn có nhiều chuyên gia CNTT dành thời gian làm những việc hữu ích thay vì những gì họ vẫn đang làm hiện nay. Nếu nhìn theo cách nghiêm khắc hơn, thì mình muốn bỏ hết những công việc không cần thiết mà nhiều nhân viên IT vẫn đang làm hàng ngày. 🙂

Đâu là cơ hội việc làm cho các nhà phát triển web? Trung bình bạn mất bao lâu để tìm việc?

Mình chưa tìm việc bao giờ. Luôn có công ty nào đó cần kỹ sư, lập trình viên, chuyên gia CNTT và kỹ sư điện. Nhân tiện nói luôn, mình có bằng kỹ thuật điện và có liên quan chút về CNTT (thiết kế hệ thống nhúng).

Bạn có thể chia sẻ một chút về thời gian biểu của bản thân?

Lịch hàng tuần của mình như sau:

  • Thứ Hai: mình dành cả ngày để họp (hoạch định chiến lược và làm công việc điều hành) để có thể tập trung làm việc khác những ngày còn lại trong tuần.
  • Thứ Ba: thảo luận chiến lược dài hạn vào buổi sáng, sau đó gặp những người có trong lịch hẹn.
  • Thứ Tư và thứ Năm: mình ở nhà cả ngày mà chẳng bị ai làm phiền. Đôi khi mình làm việc 10-12 tiếng, nếu bận việc riêng thì mình “chỉ” làm 6 tiếng. Đây là thời gian làm việc thực tế, đã trừ thời gian ăn trưa, trò chuyện hoặc tắm rửa.
  • Thứ Sáu: sáng bọn mình tổng kết hoạt động trong tuần và lên kế hoạch tuần kế tiếp. Chiều mình dành làm những việc không cố định khác.
  • Thứ Bảy và Chủ Nhật: 80% thời gian mình rảnh. Là một doanh nhân, đôi khi mình vẫn cần làm việc vào cuối tuần.

Năm vừa rồi trôi qua như vậy đấy. Mình hài lòng với lịch làm việc này bởi có thể tự quản lý giờ làm việc của bản thân, và cũng không phải đến văn phòng hàng ngày. Mình luôn dành vài ngày để làm việc mà không bị quấy rầy. Đó là giấc mơ của những người làm lập trình.

Điều gì làm bạn ngạc nhiên và chưa từng nghĩ đến trước đây về công việc hiện tại?

Mình chẳng bao giờ nghĩ có một ngày lại dấn thân vào ngành lập trình sâu đến vậy. Nhưng mình rất vui khi có cơ hội tạo ra các sản phẩm, đặc biệt là khi thực hiện các dự án xuất phát từ động lực bản thân.

Bạn có kỹ năng nào khiến người khác phải ngạc nhiên?

Tiếc là mọi người thường hay bỏ ngang cuộc trò chuyện với lý do bản thân không giỏi toán mỗi khi ai đó nhắc đến “Công nghệ thông tin” và “lập trình”. Thực ra mình nghĩ CNTT rất thú vị và không hề phức tạp, chưa kể bạn có thể nói về ngành này theo cách mà ai cũng có thể hiểu. Mình và một người bạn thường đố nhau xem ai có thể giải thích các khái niệm khó trong công nghệ, vật lý và toán học sao cho những người “bình thường” cũng có thể hiệu được. Trong đa số trường hợp bọn mình đều thành công, ngoại trừ trường hợp của khái niệm tích chập (convolution). 🙂

Trở lại với câu hỏi, bất cứ điều gì mà mình quan tâm trong ngành CNTT đều có thể gây ngạc nhiên (hoặc gây nhàm chán) đối mọi người. Đặc biệt là về tự động hóa:

“Bạn có thể viết một chương trình giúp tải tất cả ảnh từ điện thoại xuống máy tính, đổi tên ảnh, sắp xếp chúng theo ngày và tải lên internet hay không?”

“Được chứ, chỉ 10 phút là xong.”

Bạn làm việc cùng ai?

Mình làm việc với nhóm đồng sáng lập của CodeBerry. Nhóm có tiểu sử khá thú vị. Bọn mình làm việc cùng nhau được 8 năm và làm chung nhiều dự án. Ví dụ như các dự án Invisible University, YearCompass và SotePedia.

Đâu là con đường sự nghiệp điển hình đối với nghề hiện tại của bạn?

Khá khó để trả lời câu hỏi này bởi công việc hàng tuần của mình liên quan đến bốn hoặc năm nghề khác nhau. Trong công ty, bọn mình gọi những nghề này là những chiếc “mũ”. Trước khi thực hiện một nhiệm vụ, bọn mình sẽ xác định xem ai đang đội chiếc mũ nào, nghĩa là người đó sẵn sàng làm gì vào lúc ấy. Xây dựng công ty, trao đổi với kế toán, cấu hình lại máy chủ, lập chiến lược hoặc viết code, mỗi nhiệm vụ lại yêu cầu kỹ năng riêng.

Giới thiệu bản thân và thông báo xem ai đang đội “mũ” gì là thông lệ vui bọn mình duy trì trước mỗi buổi họp. Nhìn từ góc độ kinh doanh, đây là điều vừa thú vị nhưng cũng vừa thách thức.

Kế hoạch tiếp theo của bạn là gì?

Hiện tại, bọn mình đang tập trung 100% vào CodeBerry. Bọn mình đang lên kế hoạch vươn ra quốc tế nên sẽ có khá nhiều hoạt động thú vị trong thời gian tới. Còn sau đó thế nào thì chúng mình cùng chờ xem.

Nếu phải thay đổi bạn sẽ chọn ngành nghề nào? Liệu bạn đủ khả năng để thay đổi hay không?

Mình không muốn thay đổi gì cả.

5 năm trước, mình ngồi đánh giá lại các khía cạnh quan trọng của công việc. Đây là những gì mình rút ra:

  • Mình được tự quản lý thời gian của bản thân, không phải chấm công vân tay khi đi làm.
  • Mình có thể chọn và làm các dự án có ý nghĩa và hữu ích.
  • Mình được làm cùng những người có năng lực, và những gì họ thể hiện trong công việc thường vượt xa kỳ vọng.
  • Mình được làm cùng những người có kỹ năng giao tiếp tốt.
  • Mình được làm ở các dự án có phạm vi ảnh hưởng lớn.
  • Công việc của mình mang lại thu nhập thụ động. Nếu muốn, mình có thể dừng làm việc bất cứ lúc nào.
  • Chỗ làm cách nhà mình có 15-20 phút.
  • Mình có thể làm việc ở nhà nếu muốn.
  • Vậy đấy, công việc hiện tại của mình đáp ứng tất cả những điều trên.

Kỹ năng nào tạo nên một lập trình viên giỏi? Những ai sẽ không phù hợp với nghề này?

Mình nghĩ bạn chỉ có thể làm tốt nếu thực sự thích những gì đang làm. May mắn là giờ lập trình cũng giống như bơi lội: bạn có thể thử, nếu thích thì tiếp tục, còn không có thể bỏ qua. Nếu thích kế toán hoặc ngành ăn uống, bạn có thể thử; nếu không, chỉ việc bỏ qua. Bạn hiểu ý mình phải không.

Vậy nên hãy cứ thử những nghề mà bạn quan tâm bằng tất cả khả năng, sau đó bạn có thể quyết định tiếp tục hoặc bỏ qua nghề đó.

Phần yêu thích của bạn trong công việc là gì?

Sáng tạo và tập trung vào công việc.

Như đã nói, mình luôn nghe nhạc khi làm việc vì nó giúp mình đạt tới trạng thái tập trung hoàn toàn chỉ sau chưa đến 5 phút. Mình nghe nhạc trance giọng nữ (giống nhạc điện tử), nhạc chill step, hoặc nhạc progressive trance – những dòng nhạc này có nhịp tương tự như sóng não của mình.

Điều gì khiến bạn chán nản? Khó khăn và rủi ro trong nghề này là gì?

Có những ngày mọi thứ diễn ra theo đúng kế hoạch. Mọi dòng code mình viết đều hoạt động, mọi thứ trơn tru và mình hoàn thành mọi việc như mong muốn. Thậm chí có khi hoàn thành thêm được vài việc không có trong kế hoạch nữa. Mỗi lần có một ngày như vậy mình đều tích vào lịch làm việc, và mỗi năm thì mình thường tích được 2 dấu như thế.

Những ngày còn lại thì khó khăn hơn. 20% thời gian của mình là viết code, trong khi 80% còn lại là dò bug và test. Nhiều khi bí quá, mình chuyển sang hỏi trên cộng đồng StackOverflow rồi ngồi chạy thử các đoạn code được gợi ý mà chẳng hiểu chúng có ý nghĩa gì.

Mình sẽ không giới thiệu nghề này cho những ai không thích tìm tòi khám phá. Đây là tố chất cần thiết để bạn dò ra một dấu cách còn thiếu trong đoạn code, mà vì nó toàn bộ chương trình không chạy được. 🙂

Công việc của bạn có ổn định không? Bạn thường làm bao lâu cho một công ty?

Công việc của mình khá ổn định. Mình là sếp mà.

Thành thật mà nói, mình chưa từng làm quá 2-3 năm ở cùng một nơi hoặc cùng một dự án. Tương lai mình vẫn sẽ duy trì như vậy.

Nếu được thay mặt cho tất cả lập trình viên đưa ra một yêu cầu, bạn sẽ yêu cầu điều gì?

Hãy thử theo đuổi lập trình một lần, biết đâu bạn lại thích nó. Thường sau khi thử những thứ mới cuộc sống của bạn sẽ tốt đẹp hơn.

Bạn kiếm được bao nhiêu từ nghề này (khi mới vào nghề, khi bắt đầu có kinh nghiệm và khi đã là một tay “lão luyện”)?

Mình bắt đầu sự nghiệp tại một công ty đa quốc gia và có mức lương ở những nấc thang đầu tiên, điển hình cho người mới vào nghề.

Mình không dám nói bản thân giàu kinh nghiệm hay là một cựu binh, nhưng với kiến thức hiện tại, có lẽ mình sẽ được thuê với mức lương khoảng 690 triệu VND một năm. Công việc không nhất thiết phải là lập trình viên, có thể là trưởng nhóm công nghệ hoặc một vị trí quản lý bậc trung.

Theo bạn đâu là cách tốt nhất để học lập trình?

Chọn một dự án trong danh sách “nên làm” của bạn (đây là danh sách những thứ bạn nên làm, nhưng thường chẳng bao giờ có thời gian …) và bắt tay code dự án đó.

Điều gì khiến cho lập trình là một kỹ năng đáng để học?

Nó sẽ không đáng trừ khi bạn thực sự đam mê.

Nhưng chắc chắn bạn nên bỏ tư tưởng chỉ có thể trở thành lập trình viên giỏi nếu bạn thích toán học và vật lý. Nghề này thực tế không phải như vậy. Mình có vài người bạn làm dược sĩ, nhà kinh tế, nghệ sĩ và họa sĩ đều thích code. Vài người trong số họ code để kiếm tiền, những người khác code chỉ đơn giản để hoàn thiện bản thân. Bạn hãy thử xem.

Miễn trừ trách nhiệm: CodeBerry Blog được xuất bản bởi Trường lập trình CodeBerry, đồng sáng lập bởi Laci.

Bạn có thích câu chuyện này không? Hãy đăng ký nhận tin từ CodeBerry và bọn mình sẽ gửi cho bạn những bài hay nhất mỗi tuần. Không thư spam, không chuyện nhảm nhí, và bạn luôn có thể hủy đăng ký nếu đổi ý.