很久以前(1983 年),我站在高中走廊尽头紧闭的门外这台巨大的行式打印机(如下所示)前。那是职业日,我选择了数据处理(计算机编程)作为我想了解更多的职业。
在我们站在走廊尽头的那台打印机前之前,我们都坐在教室里听老师解释什么是数据处理。当老师滔滔不绝地挥手时,我们所有人都清楚地知道他根本不知道数据处理是什么。
老师坚持的一件事是数学和计算机之间的联系。
“你必须非常擅长数学才能从事数据处理工作,”老师说。 “如果你不擅长数学,那么你就没有机会使用计算机。”
我倒在椅子上。我已经知道我的数学很糟糕。 “他们”告诉了我。
30分钟的讲座结束后,老师带我们去了高中的数据处理室。最后,我会看到人们坐在电脑前实际进行编程。我会瞥一眼他们的电脑显示器,看看程序员实际上在做什么。不。
当我们站在巨大的打印机前时,老师说:“程序员把这台打印机放在这里,这样他们就不用整天听它了。声音很大。”
群里有人指着紧闭的房门问道:“嗯,我们可以进去看看他们在做什么吗?”
老师摇摇头说:“好吧,我们不能打扰计算机系,所以我们不能进去。他们需要很多安静的时间来做他们的工作。”但这是他们使用的打印机。”
就是这样。我又看了那台巨型打印机一会儿,皱起了眉头。
当我盯着巨大的沉默怪物(当时它甚至没有打印,太无聊了)我想,“呃!好吧,这对我来说扼杀了计算机编程的想法。我数学不好,数据处理似乎很无聊。”
2023 年,我在 IT(信息技术)领域工作了 32 年(仍在工作),自 1999 年以来我一直是一名软件开发人员(超过 23 年)。自 1991 年以来,我一直在 IT 领域工作。这很重要,因为我能够用高中老师向我保证我永远无法成功的东西来养家糊口。
很久以前,那位老师就数学如此重要的观点大错特错了。数学有助于成为一名程序员。但是,这不是绝对必要的。很遗憾他不知道一个人真正需要什么才能成为一名优秀的(或伟大的软件开发人员)。
我放弃了成为一名计算机程序员的想法,但我开始玩电脑。
科莱科亚当
我的第一台电脑是Coleco Adam(维基百科) ,我是在 1984 年买的。Coleco Adam 是由创建 Colecovision 游戏系统的同一家公司制造的(游戏使用相同的墨盒)。 Adam 有一个内置的文字处理器和一种 BASIC 编程语言,您可以从高速磁带加载它们。
图片由Andrew Lih提供。
尝试过 BASIC 编程
我会忠实地输入家庭计算杂志列表中的程序,但我总是会输入错误的东西,或者杂志上印错的东西,而这些程序永远无法运行。
这似乎证实了老师告诉我的话,“你永远不会成为一名计算机程序员,因为你不懂数学。”
令人惊讶的是,我尝试输入的原始程序之一实际上已被 Archive.org 存档在以下链接中(这是我在 1984 年读回的实际家庭计算杂志)。
这是我实际尝试输入的代码的快照:
TRS-80 - Tandy Radio Shack 型号 80
然后第二年(1985 年)我在高三的时候上了编程课,学习了一些关于 TRS-80 的 BASIC。我记得为期末项目复制了一些其他学生的代码,所以我不确定我学到或理解了多少。
1986 准将 128
最后,在 1986 年,我在当地一家百货公司买了一台 Commodore 128,开始用它玩游戏。我必须学习如何加载游戏,而那时你必须阅读手册才能学习东西。
但在这个过程中,发生的事情是我注意到我开始对我使用的所有命令都有很好的记忆。我只是玩玩游戏,所以我没有想太多。
随着我继续玩电脑,我开始对它们有了更好的理解,并开始对它们感到自在。我没有在想老师说的话,也没有担心我缺乏数学技能。我在学习,但我什至都不知道。
然后大约在 1989 年左右,在尝试了各种大学课程但没有真正成功之后,我终于参加了一些计算机课程,并注意到我所学的东西是有意义的。
但我也需要赚点钱,所以我在社区学院的计算机实验室找到了一份工作,我开始帮助那些不知道如何启动文字处理器或如何将文件保存到软盘的人。
两年的社区大学就足够了
我上了两门关于 COBOL(通用面向业务的语言)的课程,结果很糟糕!真的很无聊。我即将毕业并获得应用科学计算机信息系统副学士学位,但我精疲力尽,所以我在完成三门课程之前就停了下来。
我还没有完成三门课:
我去当地一家电脑店工作。我们制造并销售与 IBM 兼容的 PC(386 和 468 Intel 处理器已经过时,它们运行的是 Windows 3.0)。
1992 年,我在一家大公司找到了一份为特定软件包提供技术支持的工作。那是我职业生涯的真正开始,因为发生了一些事情。我注意到我所有的技能都汇集到了一起。我也开始专注于编写可以在 Windows 上运行的小程序。我开始学习 C++ 编程。
停止考虑数学要求,开始编写软件
因此,我不再担心那位老师过去说过的话,而是开始专注于制作一些东西。我从事自己喜欢的事情,这又像是在“玩耍”。
我的工作要求我了解如何让人们在 DOS 上进行设置(在 config.sys 文件中配置 himem.sys ),所以我一直在学习 PC 是如何工作的。
当然,一路上都有看门人。当我开始编写程序时,与我一起工作的开发人员经常会取笑我缺乏知识,并在我编写的程序中戳漏洞,提醒我还有很多东西要学,我不太可能成为一名程序员.
这听起来像是我在抱怨或抱怨悲惨艰难的生活,但我不是。
或者,这听起来像是我在吹嘘我所做的事情。真的不是那样。实际上,令我惊讶的是,即使我的技能为零,我也能够在计算机领域建立自己的职业生涯。
我试图在文章中揭示三件事:
但是,我注意到有几件事可以帮助您一路取得成功。
第一个不能由任何人或大学提供给您。但这并不意味着你没有它。
幸运的是,当我慢慢进入(并通过)IT 世界时,我偶然发现了对我帮助最大的事情。
如果您刚开始感到灰心
也许我可以揭示其中的一些事情,如果您刚开始感到灰心,它们会帮助您继续前进。
我对软件开发和学习的了解
多年来,我发现了一些帮助我留在 IT 世界(没有倦怠)的事情。这些事情帮助我前进,尽管我几乎没有接受过正规培训(没有大学学位)。
你需要知道的第一件事是:
学习任何东西都是困难的,学习编程语言或技术可能非常困难。学习新技术和语言会让您在每天结束时感到不知所措和无能为力。当您努力使程序或功能正常运行时,您可能会觉得自己从未成功过。但是,重要的是要问问自己,“我真的喜欢这样做吗?我真的喜欢解决问题的挑战吗?”
如果你诚实地去做,那么即使你被卡住了,觉得自己永远无法理解它,你也会度过难关。
请理解,我并不是说你必须对你所做的一切都爱不释手。过去我不得不使用一些我讨厌的编程语言(PERL,讨厌它!)。有一些方法可以克服你不喜欢的部分。
有时当我们被技术(或任何我们不理解的东西)所淹没时,实际上是因为技术让我们觉得自己很愚蠢。
一般人不会把我刚才说的大声说出来,所以让我再说一遍。
技术常常使我们感到愚蠢。我们开始质疑自己、我们的知识,甚至我们的生活。 “我是怎么了?为什么我不能理解这个?我一定是傻了。”
我的大部分 IT 生活都感觉很愚蠢
IT 行业在不断变化,因此有时我们都会陷入对我们正在处理的事物一无所知的境地。这是缺乏知识。
缺乏知识就像是一种弱点
这感觉像是一个弱点。我们在一个未知的地方用未知的技术工作,很难站稳脚跟。 IT 行业变化如此频繁、如此之快,以至于我们经常在一个薄弱的地方工作。
了解很多人都有这种感觉(但不会说出来)
许多 IT 行业的人都有这种感觉,但他们不会大声说出来,因为他们觉得暴露这种明显的弱点可能会导致他们失去声誉甚至丢掉工作。
你必须给自己一种不知道事情的自由,同时仍然感觉自己是一个有效的人。你不必无所不知,无所不知也是不可能的。
所有这些学习都会变得非常难以抗拒,让我们感到非常虚弱。当你对这个主题感到厌倦时,弱点往往会变成不适。你的大脑反抗并说,“我们不需要学习这些垃圾。我什至不喜欢学习这些东西。”
那一刻你所要做的就是:
如果你专注于构建你想要的东西,那么你会获得一些能量,它会带你度过困难的部分。
如果你不能完全构建你想要的东西,那么找到一个可以做一些接近的事情的例子并让它工作并专注于将那个例子变成你想要的东西。
你必须做自己的事情,这样你才能通过控制自己的命运来获得力量。
与其只专注于您正在学习的内容(这通常很无聊),不如将您的注意力转移到您将如何使用该技术来获得您想要的东西上。它会让你充满活力,你会摆脱教程的萎靡不振。
如果您感到不知所措并想放弃:
我将所有软件发布到开源,您可以在我的 GitHub上查看我的所有项目。
您可以查看源代码,将其拉下并进行更改。
应用程序链接=> https://cyapass.com/js/cya.htm
源代码链接(ElectronJS 在(Linux、Mac、Windows)本地运行=> https://github.com/raddevus/CYaPass-Electron
请参阅 Windows 应用商店中的应用程序: https://apps.microsoft.com/store/detail/cyapass/9PFD82D1Z7RW ?hl=en-us&gl=us
请参阅 Snap IO 商店中的应用程序(适用于 Linux 发行版): https ://snapcraft.io/cyapass
在 linkedIn 上阅读有关它如何工作的深入文章( 销毁所有密码:不再记住密码)