问候,哈布罗夫齐!
我决定分享我“成功”学习编程语言的经验。
并不是说我在IT行业是一个完全的门外汉,但是我的培训计划“成为一名IT开发人员”-接连不断。
有点背景。
我必须马上说我没有经过计算机科学方面的有针对性的培训。而且我的教育专业远非技术。他从2005年开始工作。至2012与IT行业直接相关的大小公司中的各种公司。学到了点东西:sis。 Windows的管理(甚至MCP,MCSA都设法得到了它),一点点VMware(VCP也在储钱罐中),还研究了该系统的其他程序。管理员通常在日常工作中使用。
顺便说一下,我尝试过公司销售,效果很好。我设法与软件发行商以及集成商一起工作,并且对软件许可政策有很好的了解。他计划成为一名项目经理,甚至开始研究PMBOK,时间管理,各种国际标准(例如ISO,Tier),甚至转而参加PCI DSS。
但是在某个时候,他筋疲力尽,放弃了一切。可以这么说,我去度假了八年。
经过长时间的分析,我仍然成熟并意识到,是时候该转向西方了,最好是靠近硅谷,因为使用英语或多或少是正常的,您可以将自己提升到所需的水平。
显然,没有人在那里等我。管理员,销售人员和项目经理一应俱全。而且,在不了解当地市场情况的情况下,马上就可以找到工作,至少这是有问题的。
在我的脑海中,我选择了重新培训开发人员的途径。就西方市场的前景和工作而言,它将变得更加容易和更好。劳动力市场上一直缺少程序员,而程序员仍然不足。
而且,很长一段时间以来,我都想学习编程并专门研究SAP方向。选择了基础知识(ABAP语言)的独立学习路径,但是以某种方式放弃了这项业务。我不记得是什么原因,似乎是因为难以理解。
现在,故事本身,让我们开始...
因此,在总体上休息了8年之后,我开始研究海外劳动力市场,并决定开始专门研究移动开发。在谷歌搜索用于移动应用程序的编程语言之后,并受到谷歌正式宣布将Kotlin语言作为android应用程序的优先语言这一事实的启发,我坚定地决定独自学习最多一年的Kotlin并制定计划移民到美国永久居留权。
我花了几周的时间观看培训和阅读手册,足以确保没有Java的知识在Kotlin中无事可做。尽管在Internet上,许多人说您可以从头开始学习。在GitHub上注册,安装IntelliJ IDEA,JDK并尝试理解代码后,我已经开始意识到我将不得不花费非常长的时间和精力来学习。
决定暂时将Kotlin放在一边,并深入研究Java语言。所以他做到了。嗯,我记得当时我还是java的创意。
我很快就切换到Java,没有后悔。并且有更多的自学手册,还有Java开发人员的更多空缺。没错,我还没有决定从哪里开始会更好:使用Java还是仍然改用JS,但是哦,我想我会加倍解决的。我在论坛上的某个地方读到,用JS进入开发世界要容易得多,也更快。
在阅读了大量文章并观看了许多视频“如何成为Java程序员”之后,我开始以标准方式学习Java。根据论坛上许多人的建议,我下载了布鲁斯·埃克尔(Bruce Eckel)的《 Java哲学》一书,这是为初学者学习该语言的最正确开始。
因此,老实说,这对初学者来说根本不是。
我试着不去注意它,继续阅读,消化率大约为20-25%,我意识到这是行不通的。我们将必须了解C语言,即使他们在书中经常用黑白写成,该材料也是为了解C语言基础知识的读者设计的。
好吧,别无选择。我再次阅读了大量信息,并观看了数百篇有关C语言的视频片段,下载了Kernighan和Ritchie所着的《 C语言》这本书,开始学习,同化已经比Java好,可以说大约50%到60%,这一点都不令我满意。
一件事使人放心,真正的开发人员都是从C语言开始的,而且在学习C之后,其他语言(尤其是Java)将被更快,更容易地理解很多倍。
但是,书中的标题如下:
“这本书不是编程入门课程;它假定您对基本编程概念(例如变量,赋值语句,循环,函数“
或
”)有所了解,并假定他们具备基本编程元素的工作知识;它不解释计算机或编译器是什么,不解释诸如N = N +1“之类的表达式
以及诸如:
符号常量之类的 短语的含义。
等等
渐渐地,我想到了一个事实,那就是我必须学习计算机科学。
同时,我开始深入研究《计算机科学》,再次下载大量书籍。我注册了哈佛CS50课程,开始学习编程的基础知识,仔细阅读了弗拉德斯顿·费雷拉·菲洛(Vladston Ferreira Philo)撰写的《计算机科学的理论最低要求》一书。
我注意到学习C语言正逐渐成为背景知识,越来越多的时间投入到编程的基础知识上。
如果使用二进制,则变量,函数,循环,编译器,解释器,简单方程式等。我或多或少地弄清楚了,然后像N = N +1这样的表达式和更复杂的方程式将我带入一个简单的状态。
我花了很长时间研究为什么0到0的幂等于1,并且我感到我还没有完全理解整个要点。
但是这项任务使我停止阅读有关CS的书。我读得越远,方程式和问题就越复杂:
如书中所写,我不得不用谷歌搜索二次方程式,并深入研究判别式。好吧,我以为我忘记了代数,不会与谁发生。但是,我无法独自解决问题,我不得不向孩子的数学老师求助。
我有一个解决方案,但我不明白老师是怎么解决的:
对我的问题:“如何解这些方程式?”,答案很简单:
“教一个函数的学习,开始分析和优化问题。代数10-11年级。
好吧,我认为,好吧,我将在youtube上为小学生观看几个视频示例,我将了解如何解决这些问题,并且我将继续“锁定”在CS中学习。
在看完这些关于代数的视频后,我
突然
意识到... www.youtube.com/watch?v=RbX_QHxu7Lg
www.youtube.com/watch?v=FVSG7Neopuo
不是我不记得如何解决此类问题-我的初等原来,我根本不知道10-11年级的代数!
表达式,例如:极限,数学思维,极值,导数,多项式等。对我来说,就像是玛雅部落语言中的讲话。
大概,我的数学知识仍处于5-6年级的数学课程水平。
我开始意识到,要全面了解计算机科学,我需要重新学习代数,然后再学习HigherMat。我不排除该运动很可能需要重复物理课程以及学校课程中的其他内容。在实际学习Java和JS之前,我需要学习5年的代数和高等数学。
据科学家称,飞往火星的速度更快,只有1.5年。
因此,在分析了过去一个半月的独立学习之后,对我来说,我就像是“仓鼠”,就像我在跑步一样(学习),但实际上我站着不动。除了可以使用C语言(“ Hello,world”)运行程序外,我没有增加编程知识。
而且,在大量新信息落入我的小脑后,它似乎根本就“关闭”了,并断然拒绝接受新信息。
我为学习编程而构建的算法几乎在一开始就失败了。
很明显,您需要修改您的培训计划和方法。
但是,我还没有完全了解情况,现在应该从哪个方面来学习“ Java开发人员”的职业,因为从代数和高等教育的基础出发的标准教育将非常漫长,不适合我的情况。
就在那时,我已经有点不知所措了。
成为没有技术背景的程序员会花费这么长时间吗?
当然,我受到Internet上文章的启发,人们在文章中写道,他们在1.5年内成为Java开发人员并前往德国,加拿大和美国,但是根据我的悲惨经历,我不确定这是否可能。
还是不是我的?对于精英,对于“特殊人群”来说,职业是“开发者”吗?
我知道有些人已经掌握了程序,但没有完成计算机科学方面的高等教育。有很多。
我渴望加入这样出色而有目标的人们。
退订评论,Pliz,他设法掌握了编程知识,以及您对我的学习计划和方法失败的看法。您的建议对我非常有用,它可以修改我的编程学习计划,以及对最终结果的抱负和期望。
我怀疑我是唯一面临类似问题的人。我什至可以说有很多像我这样的人……
在此先感谢您!