我第一次真正进入编程领域是在13、14岁的时候。我从11岁起就对计算机很感兴趣,但直到13岁才开始涉足编程。那是大约五年前的事了。我记得在中学时玩过一个游戏:Runescape。很多时候游戏会崩溃,您会看到一个包含外文的奇怪文本文件。***,我有大约十几个文件,决定调查发生了什么。经过一些谷歌搜索后,我阅读了有关Java和线程的内容的链接。这让我摸不着头脑,但同时它又是如此迷人。过了一会儿,我只是把它抛在身后,我不知道下一步该做什么。这种情况一直持续到七年级。七年级时,我们班的每个人都被要求做一个科学展览项目。老师把我们带到了计算机实验室,给了我们一个带有项目想法的网站的URL。第一个引起我注意的项目名称是:“使用JavaScript构建计算器”。读完后,我觉得这很酷,并决定开始编程。几周后,我正在和一位朋友谈论我的新尝试。他从事IT工作的父亲提到了一种叫做Batch的语言。他教我如何用这门语言做测验,我觉得这很容易也很有趣。我花了几个月的时间主要研究基本的JavaScript、Batch和VBScript。这很有趣,但我没有做任何很酷的事情。老实说,我真的很想做游戏,就像许多年轻的“程序员”一样。几个月后,我开始摆弄C++。我记得向我介绍Batch的朋友告诉我,不上学就学不会C++。我要证明他错了。好吧,这是“编码训练营”之前的一个问题。我主要从谷歌“C++教程”或“如何使用C++(在此处插入任务)”学习语言。我很容易地掌握了基础知识。结构、语法,一切都很简单。我花了一段时间(有点)理解OOP和指针,然后,我开始对一切感到厌烦。我想做游戏。我发现的所有C++游戏框架都需要大量样板代码和/或相对复杂,并且由于我无法真正掌握其他任何东西,所以我决定继续前进。大约在7年级末和8年级开始时,我开始寻找新的语言。我查看了Python、Ruby、PHP,但没有一个是有趣的,下一个引起我注意的语言是C#。与C++一样,我学习了基本语法,但从未真正深入地学习过任何东西。事实证明,游戏开发不仅仅是编程,所以我继续前进。现在想开发桌面软件。没过多久,我就逐渐远离了C#,而在高一的时候,我突然发现自己在使用Java。在这一点上,我学到的Java比任何其他语言都多。回想起来,这可能是我唯一一次可以说我真正了解一门编程语言。今年我遇到了一些新的东西。九年级时,我第一次遇到了同样对编程感兴趣的人。他和几年前的我一样,想从事游戏开发。当他尝试学习C++时,我正在学习Java。然后一年后,他进入了Web前端开发。我们以前都写过一些HTML/CSS代码,但我们都没有真正生产过它。我们终于有机会一起工作,因为我们决定做一个网站,以成为我们其中一门课程的决赛选手。那时候,他读高三,我读高二。由于我仍然想使用Java,因此决定我为我们的网站做后端。在接下来的几周里,我们设计了一件可怕而羞辱的事情。好吧,为了证明我的话的真实性,让你们见证它有多糟糕,这里摘录一些我写的JSP:<%try{FileuserFile=newFile(request.getParameter(“usr”)+“.csv”);如果(request.getParameter("passwd").equals(pass)){out.println("AuthorizationSuccess");UserSessioncurrent=newUserSession(user);session.setAttribute("User",user);}else{out.println("BadPassword");}reader.close();}catch(FileNotFoundExceptionfnf){out.println("BadUsernameand/orPassword");}%>是啊,懒得建数据库了,就存了单个CSV文件中的用户。尽管代码很黑,但我们从中学到了很多有趣的东西,第二年(我大四),在我们学校的帮助下,我们开始做自由网络开发。小我们从未经历过任何真正的成功,我不喜欢做静态网站或WordPress管理(这是我们大多数SMB客户想要的)。我还在后端工作。我们还招募了懂HTML、CSS和JS的新手来帮助我们,顺便说一句,管理团队很有趣。但是,问题是,我似乎总是做所有的工作。我最终放弃了Java,因为我无法决定是学Spring还是学PlayFramework,陷入了Node.js和fullstackJavaScript的诱惑。我现在最大的遗憾是决定成为一名Javascript开发人员。虽然,我从来没有真正制作过任何很棒的Web应用程序,但我已经在一些客户站点上大量使用Express和jQuery。然后我上了高三(美国中学是四年)。和我做自由职业的朋友都毕业上大学了,团队里的其他人总是很忙。我需要团队中真正可以做事来帮助我的人(我在一些客户工作上落后了)。幸运的是,我找到了一个学习Node.js的三年级PHP开发人员。他很棒,帮助我让一些客户工作重回正轨。经过一些成功的合作后,我们决定暂时停止Web开发,并尝试为比赛制作移动应用程序。由于他有Mac而我没有,我说服他学习Swift,而我试图在Android上复习Java。***,在决定使用我们都不熟悉的技术维护两个代码库后,他决定将应用程序切换为Ionic应用程序。令我印象深刻的是,几天来我完全无能为力(那是另一回事),当我回来时,他已经为我们的应用程序提供了一个可行的MVP。我们俩都没有任何Angular经验,所以代码可能几乎和我以前的JSP一样糟糕,但应用程序看起来很漂亮(部分归功于我们的“设计师”,我的另一个了不起的朋友)。不管怎样,我毕业了,所以这篇文章真正说的是什么。为什么我是一个糟糕的程序员我从来没有真正学到任何东西。我犯了一个愚蠢的错误,不断地从一种技术和语言跳到另一种。所以虽然我知道很多语言和框架的基础知识,但如果不深入挖掘,我无法真正将它们应用到任何地方。我没学过算法,也没打算上大学。上过大学的你可能会说这些东西都不重要,但实际上并不重要。当我开发产品时,我可能不需要任何知识。但是等等,面试呢。在大多数情况下,你需要通过面试才能找到一份开发人员的工作,据我所知,面试通常涉及要求你解决一个传统的“算法问题”。我记得之前看过有人在面试中被问到如何反转链表。坦率地说,如果我在面试中被问到,我的回答是:java.util.Collection.reverse(someLinkedList);我可以使用一种API方法来执行此操作。如果那不是一个可以接受的答案,我唯一的选择就是与面试官争论。我不确定如果我没有准备好我是否能够做到这一点,但如果被问到,我会检查文档和/或谷歌来弄清楚。反正我觉得不是学算法好还是上大学好。我从来没有应用我所拥有的知识。他们说最好的学习方法是边做边做。我的问题是我不知道该怎么做。我不喜欢克隆流行的应用程序,因为它们不切实际。我喜欢采纳其他人的想法并为他们构建我有一段时间没有机会做的东西。我的Github上有很多很多废弃的项目。为中小企业制作网站。这是我唯一的经验,没有其他可以证明的。由于某种原因,我们开发的大多数网站不再活跃。事实证明,大多数SMB不需要网站,因为与Facebook页面+GoogleBusiness相比,几乎没有网站可以为他们提供(单击此处了解更多信息)。JavaScript。我讨厌这种语言及其社区。理由太多了,甚至可以写成一篇新文章。然而,不幸的是,它最终进入了它的辉煌岁月,如果你开发一个web应用程序而不使用像React这样的支持框架(即如果我使用像ASP.NetMVC+Razor这样的东西来编写应用程序的话),那么你将被钉死在十字架上一位军队“守护者”:不断告诉你不要向救世主React投降是多么愚蠢。结论d我最近才发现我真的很穷。毕业后,我没有从事任何工作,所以我的技能退化或变差了。我上一次在这个领域工作是大约7个月前。我知道我应该回到这个领域,虽然我不知道我想做什么。我想也许应该是:Android(Java、Kotlin等)或者C#和ASP.Net(Core很酷,但MVC更实用)不管是什么,这次我已经下定决心了。学好语言和相关框架,不再跳来跳去。这次我决定真正擅长某事。也许阅读本文的人可以从我的错误中吸取教训。好的,我希望如此。如果这篇文章对您来说有点混乱,我深表歉意,因为这是我在Medium上的第一篇文章。***,与你分享。
