Giới thiệu
Liệu một kỹ sư dân dụng thiên về kỹ thuật có thể trở thành một nhà phát triển hay không ? Và liệu muốn trở thành thì bạn sẽ gặp phải những vướng mắc gì trong giai đoạn tiếp theo.Bài viết này Bạn sẽ nói qua một số ý chính về vấn đề này.
Hướng đi này có hai hướng nhưng hiện tại đang bị lệch so với nhu cầu hiện nay.Bài viết này sẽ tập trung giải quyết để người đọc có thể tự đúc kết hai vấn đề nhỏ sau đây:
- Kỹ sư trở thành nhà phát triển trong chuyên ngành của họ.
- Kỹ sư trở thành một nhà phát triển độc lập không liên quan đến chuyên ngành trước đây.
Có cung có cầu
Với sự phát triển công nghệ như hiện nay thì việc một kỹ sư thiết kế hay một kỹ sư kỹ thuật có thể trở thành một nhà phát triển là điều hết sức bình thường.Lý do ở đây rất đơn giản, có cung ắt sẽ có cầu. Với sự trao đổi internet dồn dập như hiện nay thì việc học một chương trình hoặc một kiến thức mới không còn là rào cản lớn nữa.
Dự đoán trong những năm tới nhu cầu về tự động hóa và năng suất sẽ tăng nhanh, các công ty cơ bản đã thiết lập cho bạn khá đầy đủ công nghệ và quy trình chuyển đổi trong những năm trước.
Các kỹ sư phần mềm thực thụ rất khó để có thể bước vào vị trí của những người này, đơn giản họ không đủ khả năng kỹ thuật để làm ra một phần mềm. Kỹ thuật ở đây không phải là kỹ thuật về phần mềm, quy trình phần mềm mà chính là các tính năng cốt lõi bên trong nó, nó chuyên biệt và đòi hỏi những người am hiểu về kiến thức chuyên ngành tích lũy của họ để làm ra sản phẩm thực thụ. Việc mang một cái đầu phần mềm thiết kế hệ thống đồ sộ quá cũng sẽ bị co cụm khi không hiểu được bạn sẽ làm gì tiếp theo và bạn sẽ phải làm những gì cho ngành này.
Cần phải học những gì ?
Sẽ rất nên nếu bạn tự đặt câu hỏi cho chính bản thân, bạn sẽ nhanh chóng giải quyết được vấn đề đó.
Phần mềm chuyên ngành
Bạn đã trở thành chuyên gia trong công việc của bạn chưa?
Bạn có thực sự hiểu nhiều về đồ họa và hình học không gian nhiều không?
Bạn đã sử dụng các phần mềm chuyên ngành thành thạo chưa?
Bạn đã tham gia bao nhiêu dự án rồi, phần mềm đủ tốt không ?
Khi một phần mềm mới ra, liệu Bạn mất bao nhiêu thời gian để hoàn thành những thứ cốt lõi?
Kỹ năng IT
Bạn có biết viết mã không? Viết mã chỉ là một kĩ năng nhỏ mà một người developer cần biết, đơn giản nó chỉ là công cụ để làm ra sản phẩm.Nhưng thiếu công cụ thì khó mà thực hiện.
Trước đây hoặc bây giờ bạn đã tạo ra phần mềm nào chưa?
Ứng dụng có hiệu quả không, đó có phải là sở thích của bạn không? Không cần biết là phần mềm bạn làm lớn hay nhỏ nhưng nó mang lại niềm vui hoặc giúp ích cho cộng động hoặc một ai đó.
Liệu bạn có thể đánh đổi việc ngồi trước máy tính hàng giờ cho các buổi hẹn không?
Bạn có thể chấp nhận một số lượng lỗi tràn ngập trước máy tính và giành hàng giờ để giải quyết nó không ?
Quy trình
Bạn đã hiểu rõ về các quy trình xây dựng chưa?
Các giai đoạn hàng tá phía sau một quy trình công nghệ hay một quy trình kĩ thuật là gì ?
Cấu trúc đường ống cột,.... quy trình thiết kế bên ngoài thế nào?
Bạn đã đủ khả năng để tự kiểm soát và am hiểu về một quy trình hiệu quả chưa ?
Nhìn chung quy trình là một phần không thể thiếu trong mỗi công ty, vì vậy việc nắm bắt được những quy trình này giúp bạn hiểu rõ về công ty mà mình đang làm.
Tự học
Bạn có hay tự học không ?
Trước đây Bạn có tự học không ?
Bạn đọc được bao nhiêu cuốn sách kể từ khi rời trường đại học ?
Ngôn ngữ
- Bạn đã biết tiếng anh chưa ?
Bạn có thể giao tiếp với người nước ngoài không?
Bạn có muốn học thêm một ngôn ngữ mới không?
Tại sao bạn phải học ngôn ngữ mới?
TIP
Tiếng anh có thể có hoặc có thể không nhưng biết được ngôn ngữ tiếng anh giúp làm việc teamwork hiệu quả, đọc tài liệu, trao đổi với khách hàng,..Ngoài ra cơ hội để làm việc ở nước ngoài cũng nhờ vào điều này.
Tập trung
Bạn làm gì để tập trung?
Tại sao bạn phải tập trung, điều đó có ích gì cho bạn ?
Kế hoạch ngày mai của bạn thế nào ?
Cuối cùng thì bạn có đang thực sự tập trung không ?
Bạn bè
Mối quan hệ của bạn với những người ngành này nhiều không ?
Bạn có bạn bè nào đang làm việc trong lĩnh vực đó không ?
Ai sẽ giúp đỡ bạn khi bạn gặp khó khăn ?
TIP
Nếu một mình bạn vào công việc mới này, sẽ rất áp lực nếu không có người đồng hành, nó giúp bạn duy trì khả năng học tập mỗi ngày, người này vừa là người đồng hành, người hướng dẫn, thậm chí biết đâu là bạn gái của bạn. Bởi vậy giang hồ mới có câu : "Học thầy không tày học bạn".
Các kĩ năng cho công việc
Một số kĩ năng nhỏ lẻ không kém phần quan trọng như : kỹ năng giải quyết vấn đề, kỹ năng đưa ra quyết định, kỹ năng viết email, kĩ năng thuyết trình,...Sẽ có rất nhiều điểm thuận lợi.
Tại sao bạn muốn chuyển
- Công việc của bạn nhàm chán chăng?
- Bạn chuyển đổi công việc này vì nghe nói đây là một công việc được trả lương cao, đãi ngộ tốt ?
Bạn chuyển đổi vì thích đơn giản thôi ?
Bạn chuyển vì bạn hứng thú với công việc mới này?
Bạn chuyển vì bạn đã chọn sai ngành do ba mẹ ép buộc trước đây hoặc bạn chưa chọn đúng nguyện vọng của mình ?
Bạn chuyển đổi vì bạn muốn làm những thứ phục vụ cho mục đích của bạn và mọi người ?
TIP
Nhìn chung, lý do bạn muốn chuyển đổi cũng chính là áp lực thậm chí là động lực để bạn đạt được điều này.Mức lương ở mọi ngành nghề đều như nhau nếu chúng ta làm tốt công việc hiện tại của mình.
Những khó khăn phải đối mặt
Thức khuya
Bạn trước đây có chạy deadline không?
Và bây giờ bạn vẫn thích công việc chạy deadline nhiều hơn ?
TIP
Cái khó ở đây chính là việc bạn thức khuya để làm công việc âm thầm chẳng ai biết bạn đang làm cả, ban ngày thì như gà mới vào chuồng, điều này cũng phổ biến khi bạn bước chân vào công việc của một developer.
Lệch suy nghĩ
Việc mang suy nghĩ của một người thuần kỹ thuật qua thiệt là rất khó tả. Một bản thiết kế có thể đập đi xây lại là chuyện bình thường nhưng một thiết kế phần mềm để đập đi xây lại là một việc không ai dám làm. Cơ bản vì nó liên quan nhiều đến tìm lực và cả tài chính của một công ty. Cũng chính vì đó, việc lên phương án thiết kế ngay từ đầu và hợp chuẩn chính là mấu chốt để giải quyết cho suy nghĩ đầu tiên này.
Một người kỹ thuật có thể nhớ rõ tháng trước tôi vừa làm cho tòa nhà nào, diện tích tầm cỡ bao nhiêu, dự án ở đâu nhưng một nhà phát triển sẽ rất khó để biết được một tháng trước họ viết gì trước khi nhìn vào lược sử của họ. Sự ràng buộc này cũng khiến cho suy nghĩ bị lệch đi khá nhiều.
Một tính năng đơn giản thật ra không đơn giản tí nào. Bạn muốn công cụ tìm kiếm google, bạn thấy nó đơn giản vì chỉ cần mở trình duyệt lên để tìm kiếm. Nhưng sẽ rất ít kỹ thuật có thể hiểu được bên trong là cả một bộ máy nhà phát triển, hệ thống gợi ý và các thuật toán phía sau phức tạp đến mức nào do chính những nhà phát triển tạo nên trong vài năm hoặc thậm chí cả chục năm. Đó chính là suy nghĩ giữa hai phía một bên thì sử dụng những thứ dễ dàng còn một bên biến những thứ phức tạp thành những thứ dễ dàng.
Đó cũng chính là lý do khi bạn học một ngôn ngữ lập trình bạn lại cảm thấy nó khó hiểu hơn cả một người từ chuyên ngành khác. Nó khuôn khổ, quy tắc, ràng buộc,... và rất nhiều thứ khác nữa mà bạn sẽ phải tuân theo và sắp đối mặt.
Tìm công việc
Một vấn đề khá nực cười bạn phải chấp nhận ở đây là nếu một kỹ sư cần một công việc phát triển phần mềm thì kiến thức kỹ thuật không được coi là lợi thế vì có thể sẽ không dùng đến nữa. Nhưng một nhà phát triển chuyển sang làm công việc của một nhà phát triển BIM khi biết về các vấn đề kỹ thuật lại là một lợi thế. Lợi thế chỉ thật sự chỉ khi bạn đang làm công việc liên quan đến nó.
Các công việc thường không phổ biến và thường xuyên như bao ngành nghề khác và chưa phổ biến nên sẽ có người chấp nhận lại quay về làm thiết kế, có người chuyển qua làm hẳn nhà phát triển, có người vừa làm thiết kế vừa phát triển khiến việc này khá hỗn loạn.
Kiến thức mới
Kiến thức thay đổi 360 độ khiến bạn phải cập nhật thông tin mỗi ngày, không giống như việc làm kỹ thuật, một phần mềm có thể làm việc đến cả thập kỉ thì những nhà phát triển là những người làm ra những phần mềm để làm việc cả thập kỉ. Khi làm việc với Autocad từ 2007 đến 2017 bạn sẽ thấy không có quá nhiều thay đổi trong các thao tác kỹ thuật và chỉ đơn giản là nâng cấp tính năng giao diện mới.Khi tính toán hiệu suất tòa nhà sẽ chẳng có quá nhiều công thức mới trong quy trình. Khi thiết kế một hệ thống lạnh, sẽ chẳng có hệ thống nào mới lạ nào liên tục phát hành trong 1 năm đâu.
Làm những thứ chưa bao giờ làm
Phát triển là một công việc đòi hỏi tính tư duy sáng tạo cao, sẽ có những lúc bạn phải làm những thứ mới mà chưa bao giờ đụng hoặc chưa bao giờ làm trước đây.
Bạn chính là người tạo ra nó, vì vậy chất lượng của nó sẽ phụ thuộc vào bạn, bạn sẽ phải tự đánh giá chất lượng của nó và tự đánh giá chất lượng của bạn dựa trên sự hiểu biết để phát triển một phần mềm cơ bản hoặc một hệ thống doanh nghiệp.
Đây là đâu tôi là ai
Đôi lúc bạn sẽ tự hỏi lại bạn, liệu bạn là một kỹ sư kỹ thuật hay một lập trình viên, liệu bạn đang ở đâu giữa họ. Liệu bạn có cơ hội phát triển sau này hay không trong khi Bạn phải gánh vác song song giữa hai thế giới.Hiện đại hóa khiến người ta phải chuyên môn hóa. Liệu đây có phải là một hướng đi sai lầm hay không.
Đôi lúc bạn lại tự đặt câu hỏi, tôi giành thời gian nhiều cho kỹ thuật thời gian đâu để tôi có kiến thức của một nhà phát triển. Nếu tôi trở thành nhà phát triển, liệu trình độ am hiểu kỹ thuật của tôi có bị mai một đi hay không? Vậy thì không lẽ tôi đang không bằng ai cả.
Sẽ có những lúc như vậy nhưng không sao đâu, chỉ cần hiểu ra cách sắp xếp và phân bổ thời gian hợp lý mà thôi.
Khác
Những thứ khác phải đợi những con người trải nghiệm rồi sẽ có những ý kiến được mình đưa vào ở đây.
Kết
Mình tin rằng bất cứ kỹ sư nào cũng có suy nghĩ và mong muốn đi con đường của riêng bạn, tuy nhiên cũng phải nên cân nhắc, đó cũng chính là lý do nhiều kỹ sư không chọn đi theo con đường này mà chuyển sang làm một công việc như giảng viên, kỹ sư cầu nối, tư vấn hoặc mở doanh nghiệp của riêng họ.