我以前也这样想来着,后来学了编程,莫名其妙的就上瘾了,数学也不咋的,还是能写一些有价值的代码。
快毕业了,我又在想:必须掌握一系列的软件开发知识,必须懂网络协议,必须懂数据库,必须懂内核,必须懂linux、windows或是ios,必须精通算法,必须做过大型项目,必须精通开发工具,必须精通多种语言,甚至必须能说一口流利的英语,必须……才能找到好工作吗?
等我稀里糊涂的第一次尝试一下应聘,结果一下子就被录取了,公司很年轻,很有朝气,待遇丰厚,我感觉是不错的一个环境。
而此时我只是告诉面试官,我熟悉c++,写过几个鸟程序。
结果,到了公司,我能使用的自己学过的东西,就仅仅只有意识:一些简单操作系统原理、一些简单的算法、一些编码思维、创新思维。我的工作所需要的技能(语言,开发工具,平台),全部从0开始,而公司给予了足够的时间让我学习。
在公司,短暂的时间,就能看到自己对于社会,对于用户,对于公司的价值。有价值,就有意义。
时间长一点,逛迹于一些开发网站,一些社区网站的时候,发现许许多多的牛人,公司也不少,一种开发的热情,让我执迷不悟,想要知道这些人何以为牛人,一定要精通内核,精通各类计算机技能,熟知IT各大领域吗?
前不久我发现,不是的,他们是做事认真、有恒心,对技术充满热情,当然,IQ不低于正常人。
当发现了这些牛人的“秘密”,我又对研发的支柱,产品的架构师们充满了好奇,他们又是怎么生存与IT界。和他们中的一些交流后,发现,他们关注IT的发展,关注行业的竞争,并且以睿智的判断力去筛选,去抉择。
而我最终觉得:IT业界,就像另一个社会,从上到下,从前到后,虽然没有华夏5000年,却有着相同的历史轨道, 而真正有价值的东西,就是促进整个社会的进步,建立各个历史点的里程碑。
如果你觉得你一直在追逐掌握各种技术,那么你只是这个IT历史的一颗小齿轮。
做,便做有价值的东西,而为了实现价值,去学习必要的技能,也会使得你成为牛人。
针对你的问题,我于是就问:你觉得你精通了数学再去学编程吗?那么怎么算精通,是会做题,还是会构造数学模型,然后编程实现这个模型?实现之后,这个又会有怎么样的价值?
IT诸多有价值的事物, 不能缺少算法人才,却不需要全是算法人才,总是需要各种各样的人来推动IT历史的进步。
怕你懵了,还是说下我的回答:
分析你自己的能力,学你可以学的技能,找准你可以融入IT大家庭的位置,全世界的IT在一起奋斗的。但是必要的一点是,你必须充满激情。 更好的,如果有时间和精力,你要有挑战精神,去做你认为你做不到的事儿。
软件开发,也和社会历史差不多的,要学会站在巨人的肩膀上,如果你不是一个对算法,对数学充满了无限热爱的人,为何不学会如何使用那些巨人们创造出的一个又一个经典的算法模型,然后去做其它有价值的事呢?
编程如果不是从事3D游戏引擎,人工智能,高级算法,航天科学,那数学一点都不重要。最多游戏开发中用到些牛顿运动定律,圆周和抛物线运动,而且有大量现成的例子,不需要你数学学得有多么好。
相比之下,英语却非常重要。因为绝大多数有用资料都在英文论坛,官网上面,英语不好你读不懂SDK那分分种就想回家。
还有一种品质,比数学和英语都重要。不知道LZ有没有看过圣斗士星矢,没错,就是需要那种能忍受常人难以忍受的煎熬的痛苦和克服一个又一个几乎不可能战胜的困难的品质。开发中,莫名其妙的问题会一个接一个蹦出来,你不可能 像系统重装一样的回避它,要克服它,战胜它,没有星矢那种不怕被虐不服输不屈服的精神,劝你别来找虐。
编程都是基于算法的,数学基础不好怎么成
不知道,我也喜欢编软件,我觉得应该在设计方面
必须