Hello,

Sign in to find your next job.

Blog IT

Kinh nghiệm “xương máu” khi lập trình

Kinh nghiệm “xương máu” khi lập trình

Trong thời gian gần đây nếu bạn để ý sẽ thấy nhu cầu tuyển dụng các vị trí CNTT đang rất “nóng” trên các trang tuyển dụng IT… . với số lượng tuyển dụng luôn đứng TOP 3, chỉ sau Bán hàng và Marketing.

Screen Shot 2016-07-14 at 3.12.21 PM

Để đảm bảo nhân lực cho các dự án của mình, ngoài các vị trí quản lý dự án, kỹ sư có kinh nghiệm,… hiện nay nhiều doanh nghiệp như FPT, CSC, HarveyNash, TMA cũng đã mở rộng đối tượng tuyển dụng qua các chương trình fresher, thực tập sinh. Có thể nói chưa bao giờ cơ hội việc làm CNTT lại “hot” như thế, nhưng không phải tất cả những bạn tốt nghiệp lập trình đều có việc làm như mong muốn, vì nếu quan sát kỹ yêu cầu của các mẫu tuyển dụng bạn sẽ thấy thường các doanh nghiệp đều có yêu cầu kinh nghiệm lập trình. So với các ngành khác, khi còn là sinh viên bạn cũng thường tham gia đồ án, làm bài tập, tức là cũng có kinh nghiệm lập trình, nhưng như vậy là bạn đã có đủ kinh nghiệm lập trình để ứng tuyển?

Kinh nghiệm là phải thực tế

Thường đa số các bạn khi mới nhận dự án thực tế sẽ có khuynh hướng  “tưởng” mọi việc là như vậy, “tưởng” rằng mình là đúng và cố gắng thuyết phục khách hàng theo ý mình.  Có bạn nhận được yêu cầu làm cuộc thi bình chọn ảnh trên website. Bạn nghĩ rằng cứ ai nhấn vào nút Bình chọn là tăng lượt đếm bình chọn lên nên bạn làm xong rất nhanh và đưa khách hàng luôn. Khách hàng đưa vào sử dụng rồi, khách hàng mới báo bạn biết là người dùng có thể dùng công cụ để bình chọn tự động và yêu cầu bạn phải làm lại, kỹ hơn như yêu cầu mã xác thực, xét đến các yếu tố địa chỉ IP, khoảng thời gian giữa hai lần bình chọn, … Bạn thấy đấy, thực tế không đơn giản, khá nhiều vấn đề cần phải giải quyết rồi.

Hay như có bạn được yêu cầu làm website kèm theo yêu cầu tương thích trên di động. Bạn ước lượng công sức làm website tăng 20% so với bình thường và thực hiện. Đến khi bạn làm xong, kiểm tra trên mobile của mình với trình duyệt Chrome và Firefox thấy ổn nên bàn giao kết quả. Đến khi khách hàng kiểm tra trên Safari thấy giao diện bị mất mấy chỗ, bạn kiểm tra lại mới thấy có nhiều mã lệnh HTML, CSS, Jquery không tương thích với Safari nên phải tốn thời gian khá nhiều để hiệu chỉnh. Bạn bị “trượt” deadline mất rồi. Thực tế vốn khá phức tạp, không giống như bạn nghĩ.

Hay như khi làm nút xác nhận mua hàng online, bạn sẽ kiểm tra dữ liệu đúng và đủ rồi thì ghi xuống CSDL, đồng thời gửi mail thông báo cho KH biết là đơn hàng đã được ghi nhận thành công. Rủi thay lúc đó server mail bị lỗi, thế là không thể gửi mail được, hệ thống bạn cứ xuất hiện biểu tượng chờ xoay vòng vòng mãi mà không có thông báo gì cả. Chờ lâu quá khách hàng tắt trình duyệt, rồi lại đăng ký lại, vẫn thế, họ bực mình, chia tay bạn luôn, không mua hàng nữa. Sếp thấy đột nhiên lượng đơn hàng giảm mà không biết tại sao cho đến khi phát hiện có email phàn nàn của KH thì sếp mới biết. Kết quả là bạn bị sếp la. Bạn  có thêm kinh nghiệm nữa rồi, thực tế là phải logic và kiểm tra các trường hợp cho kỹ.

Kinh nghiệm là phải tinh tế

Tinh tế là sự để ý, dự phòng các trường hợp sao cho những sản phẩm mình ra thật chăm chút và chất lượng.  Ngày đó, có bạn được yêu cầu làm báo biểu theo mẫu khách hàng đưa, dữ liệu in ra đúng hết, cộng trừ nhân chia chuẩn xác,  tương ứng với dữ liệu đang có trong CSDL. Một thời gian sau khách hàng gọi điện báo “Em ơi, sao số thứ tự không reset lại sau mỗi nhóm dữ liệu mà đánh số liên tục vậy, làm chị khó dò kiểm quá. Sao lúc sang trang em in lại tiêu đề báo cáo, ngày tháng năm, người lập biểu làm gì vậy, tốn giấy quá mà không cần thiết”. Thế là bạn phải mở chương trình lên xem, dò lại và chỉnh sửa. À, thì ra lúc làm báo cáo đó, dữ liệu ít nên mình in ra một trang là hết, đúng yêu cầu nên khách hàng đồng ý luôn. Nhưng thực ra là mình chưa đủ tinh tế để quan sát kỹ kết quả để hỏi kỹ lại khách hàng các trường hợp, thêm 1 bài học kinh nghiệm đáng nhớ.

Hay như có bạn làm website bán hàng, khi lập trình với dữ liệu thử bạn dùng các hình ảnh từ web bán hàng khác đang có sẵn để minh họa. Bạn kiểm tra kỹ các chức năng, chạy thử các mục thấy đúng như dữ liệu nhập vào và bạn an tâm bàn giao. Sau khi bàn giao, khách hàng upload hình ảnh sản phẩm thực tế lên mới thấy có vấn đề. Đó là do bạn giữ đúng kích thước người dùng up lên, không đóng khung ảnh nên bố cục trang web bị “nhảy” lung tung. Chưa kể khi xem trong giỏ hàng, các dữ liệu kiểu số bạn không canh hàng bên phải, vẫn lấy 2 số lẻ như dữ liệu gốc đọc lên từ CSDL, còn cột tổng thì không in đậm cho dễ nhìn. Rồi bạn không sắp xếp thứ tự các mặt hàng theo A-B-C mà sắp theo thứ tự người dùng đặt mua làm cho người dùng khó dò kiểm lại các mặt hàng mình đã đặt. Tất cả những vấn đề đó làm cho người dùng thấy “sao sao” khi nhận kết quả, mà ấn tượng đầu tiên luôn là ấn tượng “khó phai” nhất, bạn đã lỡ mất cơ hội gây ấn tượng tốt ban đầu rồi. Bạn nhớ lại, lúc làm xong đúng dữ liệu, tính toán đúng là bạn thấy hài lòng mà quên mất kiểm tra kỹ lại giao diện, bỏ qua những chi tiết mà bạn nghĩ là “nhỏ xíu” đó nhưng thật ra là “vấn đề lớn” với khách hàng. Nếu bạn tinh tế, để ý một chút thì hay hơn nhiều.

Kinh nghiệm là phải kinh tế

Học ở trường các bạn được học hệ quản trị CSDL SQL Server và Oracle, đến lúc đi làm, bạn được yêu cầu bảo trì và nâng cấp phần mềm quản lý kho của doanh nghiệp. Bạn nhìn qua thấy doanh nghiệp đang lưu CSDL với MS Access, bạn sẽ có ngay cảm giác “không ổn” và luôn nghĩ mình nên đề xuất cải tiến chứ MS Access làm sao an toàn, bảo mật như Oracle hay SQL Server được. Bạn làm mà tâm thế vẫn luôn nghĩ đến 2 hệ quản trị CSDL kia nên không tập trung lắm, mỗi chức năng bạn viết bạn hay ngầm so sánh với SQL Server và Oracle và mong muốn được nâng cấp hệ thống lên một trong hai hệ quản trị CSDL này thì bạn sẽ làm được tốt hơn. Cho đến một ngày bạn gặp người phụ trách dự án và trao đổi ý kiến của bạn. Người phụ trách phân tích cho bạn thấy cái được và chưa được của mỗi hệ quản trị CSDL và thực tế phát triển của công ty, đặc biệt là chi phí bản quyền của các phần mềm sử dụng. Bạn như vỡ ra, không phải mình muốn là được mà phải cân nhắc nhiều yếu tố, trong đó kinh tế là yếu tố rất quan trọng.

Trường học và Trường đời

Có nhiều bạn thắc mắc liệu học đại học có cần thiết không trong công việc khi ra trường. Các bạn nên nhớ rằng xã hội chúng ta vốn trọng bằng cấp và nhất là trong lĩnh vực CNTT thì những kiến thức bạn đã tích lũy trong thời gian là sinh viên sẽ tiếp tục đồng hành cùng bạn trong quá trình làm việc sau này. Nếu bằng cấp là tấm vé để bạn dễ dàng vượt qua vòng hồ sơ và giúp bạn dễ dàng tiến thân trên con đường sự nghiệp thì kiến thức, kỹ năng và đam mê sẽ xác định cách bạn đi và đi được bao xa trên con đường sự nghiệp đó.

Ở Trường học, bạn sẽ được Thầy Cô dạy bảo, chỉ dẫn tận tình, có sai thì sửa để rút kinh nghiệm lần sau và quan trọng là hiểu để làm tốt các bài kiểm tra giữa kỳ, cuối năm và tốt nghiệp. Học ở Trường đời, người Thầy chính là cuộc sống, là những trải nghiệm mà bạn sẽ được đánh giá, đo lường bằng những giá trị vật chất, tinh thần cụ thể. Ở Trường đời, bạn sẽ được tự do nhiều hơn, thử thách nhiều hơn và cũng nhiều rủi ro hơn, quan trọng là bạn có kinh nghiệm thực tế nhiều hơn.  Kinh nghiệm đó chính là những lý thuyết, nguyên tắc ở Trường học được bạn dùng thường xuyên, rút ra bài học thường xuyên, trong đó có cả những thất bại cũng như những vỡ òa trong niềm vui mà nên. Vậy Trường học và Trường đời, bạn sẽ chọn thế nào, tốt nhất là bạn chọn cả hai và bạn nên thử bước chân vào Trường đời khi còn đang ở Trường học để sớm có cơ hội việc làm tốt sau này.

Nhắc với bạn muốn thử sức Trường đời khi đang ở Trường học:

  • Sắp xếp thời gian hợp lý để không làm ảnh hưởng đến việc học
  • Tập trung tâm trí khi học cũng như khi làm
  • Nên tôn trọng ý kiến của khách hàng, tìm hiểu kỹ  vấn đề cần giải quyết
  • Bớt đi cái “tôi” mà luôn mở lòng lắng nghe nghiêm túc, suy nghĩ cẩn thận trước khi đưa ra hướng giải quyết.
  • Tập quan sát kỹ để hiểu rõ vấn đề và các chi tiết để hoàn thiện vấn đề hơn
  • Tập đặt câu hỏi và thường xuyên tự hỏi “có cách nào tốt hơn không?”

Techtalk via t3h

Nguồn: Techtalk.vn

Similar blogs

Hot Blogs

Similar jobs