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.
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ì.
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.
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?”
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.
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.”
Ở đâ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.
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).
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.
Ả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:
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ứ.
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ó.
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 đó, 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:
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).
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.
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. .
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:
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ó.
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 bạn cần biết là:
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.
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.
Đô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.
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ể.
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à:
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.
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 cảm thấy choáng ngợp và muốn bỏ cuộc:
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.
Liên kết tới ứng dụng => https://cyapass.com/js/cya.htm
Liên kết tới mã nguồn (ElectronJS chạy tự nhiên trên (Linux, Mac, Windows) => https://github.com/raddevus/CYaPass-Electron
Xem ứng dụng trong Windows Store : https://apps.microsoft.com/store/detail/cyapass/9PFD82D1Z7RW?hl=en-us&gl=us
Xem ứng dụng trong cửa hàng Snap IO (dành cho các bản phân phối Linux): https://snapcraft.io/cyapass
Đọc bài viết chuyên sâu về cách thức hoạt động của nó tại LinkedIn ( Phá hủy tất cả mật khẩu: Không bao giờ ghi nhớ mật khẩu nữa )