paint-brush
Tôi đã định hướng sự nghiệp 30 năm trong lĩnh vực CNTT và phát triển phần mềm như thế nàotừ tác giả@raddevus
2,036 lượt đọc
2,036 lượt đọc

Tôi đã định hướng sự nghiệp 30 năm trong lĩnh vực CNTT và phát triển phần mềm như thế nào

từ tác giả Roger Deutsch11m2023/02/16
Read on Terminal Reader

dài quá đọc không nổi

Năm 1983, một giáo viên nói với một nhóm sinh viên rằng họ phải rất giỏi toán để trở thành Lập trình viên Máy tính. Giáo viên không biết Xử lý dữ liệu là gì. Anh ấy dẫn cả nhóm đến phòng Xử lý Dữ liệu của trường trung học, nơi họ nhìn thấy một máy in khổ lớn. Máy in khổng lồ được sử dụng để in dữ liệu từ máy tính. Trải nghiệm này đã giết chết ý tưởng về Lập trình máy tính đối với tôi.
featured image - Tôi đã định hướng sự nghiệp 30 năm trong lĩnh vực CNTT và phát triển phần mềm như thế nào
Roger Deutsch HackerNoon profile picture
0-item

Ngày hội nghề nghiệp 1983

Cách đây rất lâu (vào năm 1983), tôi đã đứng trước chiếc máy in khổ lớn này (hiển thị bên dưới) bên ngoài cánh cửa đóng kín ở cuối hành lang trong trường trung học của tôi. Đó là Ngày hội việc làm và tôi đã chọn Xử lý dữ liệu (Lập trình máy tính) là nghề nghiệp mà tôi muốn tìm hiểu thêm.

Giáo viên không có đầu mối

Trước khi đứng trước chiếc máy in ở cuối hành lang, tất cả chúng tôi đã ngồi trong một lớp học và lắng nghe giáo viên giải thích về Xử lý dữ liệu là gì. Khi giáo viên nói tục và xua tay, tất cả chúng tôi đều thấy rõ rằng anh ấy không biết Xử lý dữ liệu là gì.


Máy in dòng IBM cũ


Tất nhiên là Toán

Tuy nhiên, có một điều mà giáo viên mắc kẹt là mối liên hệ giữa Toán học và Máy tính.


“Bạn phải rất giỏi toán để làm việc trong lĩnh vực Xử lý dữ liệu,” giáo viên nói. “Nếu bạn không giỏi toán thì bạn không có cơ hội với máy tính.”


Tôi ngồi phịch xuống ghế. Tôi đã biết mình rất tệ môn toán. "Họ" đã nói với tôi.


Thầy Hết Ý Tưởng, Dẫn Chúng Em Đến Phòng Xử Lý Dữ Liệu

Kết thúc bài giảng kéo dài 30 phút, giáo viên dẫn chúng tôi đến phòng Xử lý dữ liệu của trường trung học. Cuối cùng, tôi sẽ thấy mọi người ngồi trước máy tính và thực sự lập trình. Tôi muốn nhìn thoáng qua màn hình máy tính của họ và xem Lập trình viên thực sự làm gì. KHÔNG.


Khi chúng tôi đứng trước chiếc máy in khổng lồ, giáo viên nói: “Các lập trình viên đặt chiếc máy in này ở đây để họ không phải nghe thấy nó cả ngày. Thật ồn ào."


Một người nào đó trong nhóm chỉ vào cánh cửa đóng kín và hỏi: “Chà, chúng tôi có thể vào xem họ làm gì không?”


Lập trình viên thập niên 1980 cần sự im lặng

Giáo viên lắc đầu và nói: “Chà, chúng tôi không thể làm phiền Khoa Máy tính nên chúng tôi không thể vào được. Họ cần rất nhiều sự yên tĩnh để làm việc. Nhưng đây là máy in mà họ sử dụng.”

Vì vậy, đó là nó. Tôi nhìn chiếc máy in khổng lồ một lúc lâu hơn và cau mày.


Lập trình máy tính hoàn toàn bị giết đối với tôi

Khi tôi nhìn chằm chằm vào con quái vật im lặng khổng lồ (nó thậm chí còn chưa được in vào thời điểm đó, thật nhàm chán) tôi nghĩ, “Ugh! Chà, điều này giết chết ý tưởng về Lập trình máy tính đối với tôi. Tôi dở môn toán và Xử lý dữ liệu có vẻ hoàn toàn nhàm chán.”


Tua nhanh đến năm 2023

Ở đây vào năm 2023, tôi đã làm việc trong lĩnh vực CNTT (Công nghệ thông tin) được 32 năm (vẫn đang làm việc) và tôi là Nhà phát triển phần mềm từ năm 1999 (hơn 23 năm). Tôi đã liên tục làm việc trong lĩnh vực CNTT từ năm 1991. Đó là một vấn đề lớn vì tôi đã có thể hỗ trợ gia đình mình bằng một thứ mà giáo viên trung học đảm bảo với tôi rằng tôi sẽ không bao giờ có thể thành công.


Đó không phải là về toán học, mà là về học tập

Giáo viên đó cách đây rất lâu đã không có cơ sở về việc toán học rất quan trọng. Toán học có thể hữu ích trong việc trở thành một lập trình viên. Nhưng, nó không hoàn toàn cần thiết. Thật tệ là anh ấy không biết một người thực sự cần gì để trở thành một Nhà phát triển phần mềm giỏi (hoặc Nhà phát triển phần mềm tuyệt vời).

Điều gì đã xảy ra với tôi giữa năm 1983 và 1991?

Tôi đã từ bỏ ý định trở thành một Lập trình viên Máy tính nhưng tôi bắt đầu chơi với máy tính.


Coleco Adam

Máy tính đầu tiên của tôi là Coleco Adam (wikipedia) mà tôi có được vào năm 1984. Coleco Adam được chế tạo bởi cùng một công ty đã tạo ra hệ thống trò chơi Colecovision (sử dụng cùng hộp mực cho trò chơi). Adam có Bộ xử lý văn bản tích hợp và ngôn ngữ lập trình CƠ BẢN mà bạn có thể tải từ băng cassette tốc độ cao.


Coleco Adam đi kèm với hai ổ băng cassette tốc độ cao

Ảnh của Andrew Lih .


Đã thử lập trình CƠ BẢN


Tôi sẽ gõ các chương trình một cách trung thực từ danh sách trên tạp chí Máy tính gia đình nhưng tôi luôn gõ sai hoặc có một số thứ được in sai trên tạp chí và các chương trình không bao giờ hoạt động.


Điều này dường như khẳng định điều mà giáo viên đã nói với tôi, “Em sẽ không bao giờ trở thành một lập trình viên máy tính vì em không biết toán.”


Thật ngạc nhiên, một trong những chương trình ban đầu mà tôi cố gắng nhập vào đã thực sự được Archive.org lưu trữ tại liên kết sau (đây là tạp chí Máy tính gia đình thực tế mà tôi đã đọc lại vào năm 1984 ).


Đây là ảnh chụp nhanh mã mà tôi thực sự đã cố gắng nhập vào:


Mã CƠ BẢN Từ tạp chí Family Computing


TRS-80 - Tandy Radio Shack model 80

Sau đó, vào năm sau (1985), tôi tham gia một lớp lập trình vào năm cuối trung học và học một số CƠ BẢN về TRS-80. Tôi nhớ là đã sao chép mã của một số sinh viên khác cho dự án cuối cùng nên tôi không chắc là mình đã học hay hiểu nhiều.


1986 Hàng hóa 128

Cuối cùng, vào năm 1986, tôi mua một chiếc Commodore 128 tại một cửa hàng bách hóa địa phương và bắt đầu chơi game trên đó. Tôi đã phải học cách tải trò chơi và hồi đó bạn phải đọc sách hướng dẫn để tìm hiểu mọi thứ.

Dọc đường, chuyện gì đã xảy ra?

Nhưng trong quá trình đó, điều xảy ra là tôi nhận thấy rằng tôi bắt đầu có một trí nhớ thực sự tốt đối với tất cả các lệnh mà tôi đang sử dụng. Tôi chỉ vui vẻ và chơi game nên tôi không nghĩ nhiều về nó.


Chơi là một con đường vững chắc để hiểu

Khi tôi tiếp tục chơi với máy tính, tôi bắt đầu hiểu rõ hơn nhiều và bắt đầu cảm thấy thoải mái với chúng. Tôi đã không nghĩ về những gì giáo viên đã nói và tôi không lo lắng về việc mình thiếu kỹ năng toán học. Tôi đã học nhưng tôi thậm chí không thực sự biết nó.

Sau đó, tuyệt vọng về thu nhập

Sau đó, khoảng năm 1989, sau khi thử nhiều khóa học đại học khác nhau và không đạt được thành công thực sự, cuối cùng tôi đã tham gia một vài lớp học máy tính và nhận thấy rằng những điều tôi đang học rất có ý nghĩa.

Nhưng tôi cũng cần kiếm thêm thu nhập nên tôi đã nhận một công việc trong Phòng thí nghiệm Máy tính của Trường Cao đẳng Cộng đồng và tôi bắt đầu giúp đỡ những người không biết cách khởi động một trình xử lý văn bản hoặc cách lưu tệp của họ vào đĩa mềm.


Hai năm đại học cộng đồng là đủ

Tôi đã tham gia hai lớp học về COBOL (Ngôn ngữ định hướng kinh doanh thông dụng) và nó thật tuyệt! Thật sự rất chán. Tôi chuẩn bị tốt nghiệp với bằng Cao đẳng về Hệ thống thông tin máy tính khoa học ứng dụng nhưng tôi đã quá mệt mỏi nên tôi đã dừng lại trước khi chỉ hoàn thành ba lớp.


Tôi vẫn chưa hoàn thành ba lớp học:

  • COBOL III
  • Quản lý 205
  • Máy tính trong kinh doanh CIS 112


Tôi đã đi làm cho một cửa hàng máy tính địa phương. Chúng tôi đã xây dựng và bán các PC tương thích với IBM (bộ vi xử lý Intel 386 & 468 đã hết và chúng đang chạy Windows 3.0).

Hỗ trợ kỹ thuật năm 1992

Năm 1992, tôi nhận công việc hỗ trợ kỹ thuật cho một gói phần mềm cụ thể tại một Tập đoàn lớn. Đó là sự khởi đầu thực sự trong sự nghiệp của tôi bởi vì một điều gì đó đã xảy ra. Tôi nhận thấy rằng tất cả các kỹ năng của tôi đã kết hợp với nhau. Tôi cũng bắt đầu tập trung viết các chương trình nhỏ chạy trên Windows. Tôi bắt đầu học lập trình C++.


Ngừng suy nghĩ về yêu cầu toán học, bắt đầu viết phần mềm


Vì vậy, thay vì lo lắng về những gì giáo viên đó đã nói trong quá khứ, tôi bắt đầu tập trung vào việc tạo ra thứ gì đó. Tôi làm những thứ mà tôi thích và một lần nữa nó giống như “chơi”.

Công việc của tôi yêu cầu tôi phải hiểu cách thiết lập mọi người trên DOS ( đặt cấu hình himem.sys trong tệp config.sys) vì vậy tôi đã tìm hiểu cách thức hoạt động của PC trong quá trình thực hiện.


Người gác cổng là có thật

Tất nhiên, suốt dọc đường đều có người gác cổng. Khi tôi bắt đầu viết chương trình, các nhà phát triển mà tôi làm việc cùng thường chế nhạo sự thiếu kiến thức của tôi và chọc thủng các chương trình tôi đã viết, nhắc nhở tôi rằng tôi còn nhiều điều phải học và tôi khó có thể trở thành một Lập trình viên. .

Tại sao tôi lại đề cập đến tất cả những điều này?

Nghe có vẻ như tôi đang than vãn hoặc than vãn về một cuộc sống khó khăn đáng buồn, nhưng không phải vậy.

Hoặc, có vẻ như tôi đang khoe khoang về những gì tôi đã làm. Nó thực sự không phải vậy. Tôi thực sự ngạc nhiên rằng mặc dù tôi không có kỹ năng nào nhưng tôi vẫn có thể xây dựng sự nghiệp trong lĩnh vực Máy tính.

Tôi đang cố gắng tiết lộ ba điều trong bài viết:

Ba điểm chính của bài viết này

  1. Tôi khởi nghiệp mà không có kỹ năng nào và bị coi là thứ gì đó kém cỏi trong ngành.
  2. Tôi đã hỗ trợ bản thân và gia đình bằng công việc trong lĩnh vực CNTT (chủ yếu là phát triển phần mềm) hơn 30 năm nay, mặc dù kỹ năng máy tính còn nhiều vấn đề và không có bằng Đại học.
  3. Nếu tôi làm được (và vẫn đang làm) thì bạn cũng làm được


Tuy nhiên, tôi đã nhận thấy rằng có một vài điều sẽ giúp bạn thành công trên đường đi.

Cái đầu tiên không thể được trao cho bạn bởi bất kỳ người nào hoặc trường đại học nào. Nhưng nó không có nghĩa là bạn không có nó.

Điều Một Người Thực Sự Cần

May mắn thay, khi tôi bò vào (và qua) Thế giới CNTT, tôi tình cờ tìm thấy những thứ giúp ích cho tôi nhiều nhất.


Nếu bạn đang bắt đầu và cảm thấy nản lòng

Có lẽ tôi có thể tiết lộ một vài trong số những điều này và chúng sẽ giúp bạn tiếp tục con đường của mình nếu bạn đang bắt đầu và cảm thấy nản lòng.


Những gì tôi đã học được về phát triển và học tập phần mềm

Trong những năm qua, tôi đã phát hiện ra một số điều đã giúp tôi ở lại Thế giới CNTT (mà không bị kiệt sức). Những điều này đã giúp tôi tiến lên mặc dù tôi được đào tạo rất ít chính quy (không có bằng Đại học).


Điều đầu tiên, hãy quan tâm

Điều đầu tiên bạn cần biết là:


Đam mê môn học sẽ đưa bạn vượt qua khó khăn

Học bất cứ thứ gì đều khó và học một ngôn ngữ lập trình hoặc công nghệ có thể cực kỳ khó. Học các công nghệ và ngôn ngữ mới có thể khiến bạn cảm thấy choáng ngợp và bất lực vào cuối mỗi ngày. Bạn có thể cảm thấy như mình không bao giờ thành công khi phải vật lộn với việc làm cho một chương trình hoặc chức năng hoạt động. Tuy nhiên, điều quan trọng bạn cần tự hỏi mình là: “Tôi có thực sự thích làm việc này không? Tôi có thực sự thích thử thách tìm ra mọi thứ không?

Nếu bạn thành thật làm, thì ngay cả khi bạn bế tắc và cảm thấy như mình sẽ không bao giờ hiểu được nó, thì bạn cũng sẽ vượt qua được.

Tôi không nói rằng bạn phải yêu thích mọi phần của công nghệ

Hãy hiểu rằng tôi không nói rằng bạn phải yêu tất cả những gì bạn làm. Có những ngôn ngữ lập trình mà trước đây tôi phải sử dụng mà tôi không thích (PERL, ghét nó!). Có nhiều cách để vượt qua những phần bạn không thích.

Cảm thấy ngu ngốc không phải là dễ dàng

Đôi khi chúng ta bị choáng ngợp bởi công nghệ (hoặc bất cứ thứ gì mà chúng ta không hiểu), thực ra là do công nghệ khiến chúng ta cảm thấy ngu ngốc.

Người bình thường không nói to những gì tôi vừa nói nên để tôi nói lại lần nữa.

Công nghệ thường khiến chúng ta cảm thấy ngu ngốc. Chúng ta bắt đầu đặt câu hỏi về bản thân, kiến thức và thậm chí cả cuộc sống của mình. "Có chuyện gì với tôi vậy? Tại sao tôi không thể hiểu điều này? Tôi phải ngu ngốc.


Tôi đã sống phần lớn cuộc đời CNTT của mình với cảm giác ngu ngốc


Ngành công nghệ thông tin liên tục thay đổi và do đó, đôi khi tất cả chúng ta đều rơi vào tình huống mà chúng ta không có kiến thức về những thứ chúng ta đang làm việc. Đây là một sự thiếu hiểu biết.


Thiếu kiến thức cảm thấy như một điểm yếu


Điều này giống như một điểm yếu. Chúng tôi đang làm việc từ một nơi xa lạ trong một công nghệ chưa được biết đến và thật khó để tự mình kiểm soát. Ngành CNTT thay đổi thường xuyên và nhanh chóng đến mức chúng ta thường làm việc từ điểm yếu.


Hiểu rằng nhiều người cảm thấy như vậy (Nhưng sẽ không nói ra)


Nhiều người trong ngành CNTT cảm thấy như vậy nhưng họ sẽ không nói ra, bởi vì họ cảm thấy việc phơi bày điểm yếu rõ ràng này có thể khiến họ mất danh tiếng hoặc thậm chí mất việc.


Cho Mình Sự Tự Do Không Biết

Bạn phải cho mình quyền tự do không biết mọi thứ trong khi vẫn cảm thấy mình là một người hợp lệ. Bạn không cần phải biết mọi thứ và biết mọi thứ là điều không thể.


Để duy trì niềm đam mê về chủ đề này: Hãy làm những gì bạn muốn

Tất cả việc học này có thể trở nên cực kỳ choáng ngợp và khiến chúng ta cảm thấy vô cùng yếu đuối. Điểm yếu thường biến thành khó chịu khi bạn trở nên nhàm chán với chủ đề này. Bộ não của bạn nổi loạn và nói: “Chúng ta không cần học thứ rác rưởi này. Tôi thậm chí không thích học những thứ này.”

Tất cả những gì bạn phải làm trong thời điểm đó là:

Xây dựng thứ bạn muốn

Nếu bạn tập trung vào việc xây dựng thứ bạn muốn thì bạn sẽ nhận được một chút năng lượng và nó sẽ đưa bạn vượt qua những phần khó khăn.

Nếu bạn không thể hoàn toàn xây dựng thứ mình muốn, thì hãy tìm một ví dụ gần giống và làm cho nó hoạt động, đồng thời tập trung vào việc thay đổi ví dụ đó thành thứ bạn muốn.

Thoát khỏi sự khó chịu của hướng dẫn

Bạn phải làm việc của riêng mình để bạn cảm thấy được trao quyền bằng cách kiểm soát vận mệnh của chính mình.

Thay vì chỉ tập trung vào những gì bạn đang học (điều này thường khá nhàm chán), hãy tập trung vào cách bạn sẽ sử dụng công nghệ để đạt được điều mình muốn. Nó sẽ tiếp thêm năng lượng cho bạn và bạn sẽ thoát ra khỏi Tình trạng khó chịu của Hướng dẫn.

Nếu bạn đang cảm thấy choáng ngợp

Nếu bạn cảm thấy choáng ngợp và muốn bỏ cuộc:

  1. Hãy dành một chút thời gian và loại bỏ áp lực, chúng ta chỉ học được một điều tại một thời điểm, một ngày tại một thời điểm : bạn sẽ vượt qua điều này
  2. Hãy để bản thân thoải mái với việc không biết. Mặc dù ngành công nghệ thông tin phát cuồng về kiến thức nhưng không biết gì cũng không sao. Nếu bạn thực sự cần biết chúng, thì bạn sẽ học chúng theo thời gian. Phải mất thời gian và điều đó không sao cả.
  3. Xây dựng những điều thú vị đối với bạn. Xây dựng thứ nhỏ nhất (tập lệnh hoặc chương trình dòng lệnh hoặc một vài dòng mã làm điều gì đó bạn thích) khiến bạn cảm thấy hài lòng. Nhắc nhở bản thân về lý do bạn tham gia lập trình và điều bạn thực sự thích về nó.



Tiếp tục nếu bạn muốn tìm hiểu về phần mềm tôi đã phát triển

FOSS (Phần mềm mã nguồn mở hoàn toàn)

Tôi phát hành tất cả phần mềm của mình cho Nguồn mở và bạn có thể xem tất cả các dự án của tôi tại GitHub của tôi .

Bạn có thể kiểm tra nguồn, kéo nó xuống và thực hiện các thay đổi.

Dự án cụ thể bạn có thể thích

C'YaPass: Không bao giờ nhớ mật khẩu nữa



Năng lực cốt lõi - Người tạo thành tích Đánh giá hàng năm



  • MojiWriter - Bảng biểu tượng cảm xúc cho phép bạn sao chép nhanh chóng và dễ dàng một hoặc nhiều biểu tượng cảm xúc vào ghi chú của mình. Cũng cho phép bạn thêm biểu tượng cảm xúc tùy chỉnh