1
Plumes 2013-07-04 22:08:00 +08:00 2
我感觉干程序员最重要的是兴趣,否则会很痛苦,至于聪明不聪明,我想还是那句话 "很多人的努力程度之低,根本谈不上比天赋".
|
2
haichong520 2013-07-04 22:18:54 +08:00 via iPad 1
凡事要沉的住气
|
3
luxxing 2013-07-04 22:22:09 +08:00 1
天赋很重要,做程序员,但是很多时候根本到不了比天赋的时候。
|
4
Windweller 2013-07-04 22:25:02 +08:00 1
其实对基本CRUD需求的公司也还是有很多吧。技术什么的都可以再提升。书看不懂可以以后再看。。并不是说要做程序员的人人都该梦想成为大神的。。也不是成不了大神就应该随便放弃啥的。。
|
5
jiangle 2013-07-04 22:25:08 +08:00 1
和撸主一样
|
6
satgi 2013-07-04 22:37:49 +08:00 1
跟楼主差不多,提高审美水平,慢慢往设计方面靠算不算条道?
|
7
oldcai 2013-07-04 22:40:48 +08:00 1
莫非楼主跟我一样想去卖烧烤?
|
8
kk71 2013-07-04 22:40:49 +08:00 1
有兴趣一切都不必顾虑。
数学白痴撸过… 我没觉得编程和数学有多大关系(这是我的肤浅理解,倒不是一点无关,只是在大多数情况下没问题) |
9
saggit 2013-07-04 22:45:05 +08:00
不知道是否每个程序员都有一个开水果店的想法?(可能还有一部分想要开咖啡馆)
|
11
PrideChung 2013-07-04 23:31:52 +08:00 via iPhone 1
"程序员的数学很好"这种都市传说一样的东西就不要信了。
|
12
MASAILA 2013-07-04 23:37:14 +08:00 1
高中都不学数学的路过
|
13
notedit 2013-07-05 01:11:36 +08:00 1
以大多数人的努力情况来看 远没到拼智力拼天赋的程度
|
14
L42y 2013-07-05 01:19:17 +08:00 1
只有高中学历的程序员被你这么一说准备沿着这条路继续做十年
|
15
LincolnDz 2013-07-05 01:24:19 +08:00 1
就目前来说,还不到拼天赋的时候咯——如果你已经为此付出超过10000小时请忽略并立即放弃!
学数学的,一般的编程真心没用多少数学。基本上初高中就够了。 |
16
LincolnDz 2013-07-05 01:27:33 +08:00 1
我的意思不是说数学不重要,事实上我个人认为大学里学计算机专业再双修数学系的信息与计算科学,是比较完美的一条路。————本人大三信科对这条路的领悟。但一般的编程什么的真没感觉到数学起到多大作用,再者大学级别的数学也不需要天赋。
|
19
nsa 2013-07-05 06:33:43 +08:00
@LincolnDz 实变,泛函,偏微分,拓扑, 微分几何, 数理方程。。。概率论,数理统计有的放在之前,有些放在这学年。。。 总体来说,做了程序员后,我赶脚就快速傅利叶变换出现频率最高, 其它也就数值方法和数值分析里面的东西适用。 做一个好程序员,从弄好FFT开始。
|
21
LincolnDz 2013-07-05 07:27:37 +08:00
@nsa FFT是在数值分析一开始就学了,拓扑和概率论在算法里还是很有用的,随机过程我没学,在概率论上增加一时间变量,反正经院的同学拿着来问我这没学的...仅书本上的东西也难不到哪
我想说的是这些东西真不需要什么天赋,或许有人学起来比较辛苦,但只要花多点时间(一倍两倍时间也就到顶了)是可以学会的,只要还没进入研究层面,一般的人都是可以学会这些数学的 |
23
kidblg 2013-07-05 08:43:50 +08:00 1
你现在上的这个网站,v2ex的作者,也没上大学,但在code这条路上坚持了十多年,不一样成为大牛了么?
|
24
kidblg 2013-07-05 08:48:19 +08:00
貌似跑题了,我的意思是,要坚持下去,其他的都是浮云。
|
25
viator42 2013-07-05 09:10:30 +08:00
英语比数学重要,很多资料可以直接看原版的不用等那些但疼的翻译.
|
26
fooCoder 2013-07-05 09:29:25 +08:00 1
说真的,我不同意楼上很多人讲的 "很多人的努力程度之低,根本谈不上比天赋"。 同样的付出,不同的天赋所获得的肯定不同。
不过我同意,天赋并不是重点。 |
27
ameba 2013-07-05 09:31:45 +08:00
同感同情况 自勉!!!
|
29
timepast 2013-07-05 09:43:15 +08:00
楼上兄弟说的都很好,加油!
|
30
wity_lv 2013-07-05 09:43:26 +08:00
工科出身,非计算机专业。从高三玩war3 editor开始走上编程这条路。 大学自学+上培训,现在工作4年+。现在后台(Java),前端,iOS什么都做,核心功能大多数也是CRUD。
“出路”? 无非是走出这个围城,钻进下个围城。 有兴趣,继续做就好了。 |
31
solupro 2013-07-05 09:47:18 +08:00
同感呀,不过我觉得首先不能自己把自己否定了。
|
32
Ponyets 2013-07-05 09:49:04 +08:00
去做产品经理吧。
|
34
fangzhzh 2013-07-05 09:50:54 +08:00
@fooCoder 我觉得只有一些人才能明白你说的什么意思.
因为作为一个天赋比较不高的选手, 是真见识过天赋高的选手的天赋, 骑着电动车也没有人家走着快, 摊手 尽管如此,但是自己还要努力, 否则更追不上了 |
35
GTim 2013-07-05 10:03:39 +08:00
楼上的亲们已经把该说的都说了...如果你想更强...逻辑思维强是必须的...至于数学知识...等你觉得他是你 短板的时候再学不迟
|
36
binarymann OP 我昨晚又仔细想了下,造成我现在这个心态的原因我看是因为大环境太乱,自己也太浮躁,危机感很重,不说什么出人头地,在国内这行就是拼体力,劳动密集型工种,大公司可能好些吧,平庸的我又进不了大公司...
|
37
refresh 2013-07-05 10:17:31 +08:00
兴趣比什么都重要,做牛逼的人需要天赋,但很遗憾,牛逼的人多是极少极少的,你我都很平庸
|
38
zhicheng 2013-07-05 10:22:08 +08:00
楼主还年轻,有兴趣是好的,慢慢努力。不要让周围的环境和人成为自己不努力的借口。
|
39
GTim 2013-07-05 10:24:11 +08:00 6
@binarymann 不要否定自己...否定昨天的你,就代表否定今天的你,看不到昨天的出路,今天照样会迷路...
我本人非计算机毕业,非985高校...就凭着毕业找不到工作,一个好心的老板收留让我学php,于是一进就是4年... 在这四年里,其它不说,买书的钱,至少去了5k...花在学习方面的钱至少2w(咖啡厅) 4年前看那些工资2k左右的程序员,我觉得自己没出路 3年钱看那些工资4k左右的程序员,我觉得自己没出路 2年前看那些工资6k左右的程序员,我觉得自己没出路 1年前看那些工资8k左右的程序员,我觉得自己没出路 现在,看蔡学镛,fenng,白鸦等人,我觉得自己没出路 但这都不要紧,过去4年,我成长了...我也时刻觉得自己选这条路是错误的..但那只限于看到牛人的那一刹那,因为,晚上,我会努力,早上,我会努力...工作我会努力..我只要比昨天强那么一点...就足够了.. |
40
binarymann OP @GTim 最佳回复!没有之一!感谢!很受鼓舞!是的,每天都有成长才最重要,明天如何大家都不知道,或许我成了大神,或许世界末日
|
41
durrrr 2013-07-05 10:27:28 +08:00
如果连程序员都不敢自称,还是多抽点时间补补吧。先做个自认为靠谱的人(这可是你目前吃饭的手艺啊)
|
42
graypants 2013-07-05 11:01:58 +08:00
你想一下,除了写代码,你还会不会做其他东西,并且能拿来养家糊口。如果没有的话,踏踏实实写下去。非工科出生、数学不好,这些都不能构成问题,要相信自己能搞定,你会慢慢的走的更远。我与po主情况很类似,写下这些,与君共勉 :)
|
43
66beta 2013-07-05 11:22:54 +08:00
楼主,比你写得烂得人到处都是,可是人家活得很滋润。(本司供应商)
楼主,你以为500强里面都是高人,其实里面大部分都是一群拿着名校毕业证混日子的,思路和工作能力差得吓死你。作为外企职员,写邮件语句都不通,单词都写错!这样的公司,不被X宝打败才怪呢。 我毕业的时候连CSS属性都记不住几个,硬着头皮买了本CSS书上了~垃圾公司面试成功,现在PHP/JS/CSS不说玩的转,写几个普通网站还是毫无压力的 不过最近有点懒了,没有刚毕业时候的冲劲了~~~与楼主共勉 |
44
reducm 2013-07-05 11:47:34 +08:00
回复楼主,如果要跟牛人去比,自知自己想去甚远
但这条路走下来,其实感觉最主要的区别就是懂与不懂的区别,一个问题有没有想通的区别 的确爱好与兴趣对成长的影响是很大的,所以楼主要问问你自己的心,你真的喜欢编程吗,如果不喜欢的话我觉得继续下去也只是痛苦 我觉得编程之于我是一种工具,我喜欢有美感,有效率的工具,于是爱上了Ruby,但也发现了Lisp(scala),go的各种美。 用美好的工具去创造一个产品的感觉比谁都要强烈,而现在我有能力去做这种事,既有成就感,同时工作也是我喜欢做的事的一种延伸。 就是这种感觉驱动我继续再这条路走下去,盼望你也能早日走出迷茫 |
46
cxshun 2013-07-05 13:10:20 +08:00
其实现实生活中,我们搞开发的也不一定都是要搞算法的。总有一些人是搞底层,深入算法的,总有一些人是搞应用层的,这部分人的工作建立在前面一部分人在基础上。
我是搞WEB开发的,算法也不怎么行,主要是当时没学好,有点后悔。 但实际的情况下,就算我们算法很精通,在当前的国内的状态下,你不能保证你比那些连JS函数都写不好的人赚得多,或者干得好。 前面的朋友说得很对,对比的结果,要看你挑选的对比对象,如果跟fenny,老赵,云风,淘宝的那些牛人比,估计大家都会觉得弱爆了。但每个人都有自己擅长的地方,比如老赵对微软系很了解,代码写得很不错,但让他立刻用ruby写一个网站,估计就不行了,或者用PHP,他也可能不行了吧。哈哈,举个例子,不排除老赵这两个很牛。大家都有专长的地方,做好现在的,没必要一定说都要深入算法。比如PHP,有一堆框架,可以学习下设计原理。还有负载均衡等等,或者大数据,检索之类的,这些也不需要太牛的数学基础。 记得在《编程之魂》里面有个牛人说过,数学思维对搞开发有益,但不是说学不好数学就搞不了开发,只是做不了一些特定的跟数学联系比较紧的,比较算法研发之类的开发而已。 所以,楼主不用觉得多没希望。选择了这条路,就走下去,找到自己的兴趣点,好好干。 |
47
v8ex 2013-07-05 13:11:22 +08:00
初中沒畢業的路過。..
|
48
likuku 2013-07-05 13:25:03 +08:00
和数学关系不大的,能理解客户的业务需求,然后用自己掌握的程序语言实现其业务流程,之后懂得优化,就可以作出相当成就了。若代码可以弄的构架更好,更便于维护和扩展,那就相当高级了。
|
49
Ricepig 2013-07-05 14:14:02 +08:00
@LincolnDz 你说的这些都是大一大二课程吧,而且大部分是分析课程。
高年级课程,可以参考一下测度论、实分析、范畴学、微分流行、同调代数、整体微分几何等等。 可以参考一下各大高效的数学系高年级选修课程。 |
50
Ricepig 2013-07-05 14:19:22 +08:00
实际上,说计算机对数学的要求很高,这句话对也不对。
如果限定于计算机科学,那确实对数学有一定要求,但也不是对数学的每一方面都有要求。 如果限定于工程方向,尤其是软件工程方向,那对数学的要求大部分情况下是极为有限的。 最后,正如ls某位说的,只要自己爱学习,有成长就好。 我想,数学不好不是理由,如果实在需要,努力补充一点也就够了。大部分的计算机工程领域,对数学,或者说对智商要求真的不是想象中那么高。 |
51
xmbaozi 2013-07-05 15:23:40 +08:00
虽然很多初级编程扯不上数学,但我觉得数学天赋跟编程天赋还是有一定关系的
|
52
gzb1985 2013-07-05 16:05:21 +08:00
编程不是抽象的,要具体到所作的事情上,编程是创造性的工作,比如这里谈得Web开发。
首先我们作的事情都很简单,或者说我们不要把事情或者问题复杂化,要时刻提醒自己用简单的方法来解决,基本上和高级的数学扯不上关系。假如你把编程当做艺术来看待,而不是科学来看待,实际上绝大部分工作需要的是你的创造性和努力,而不是作为的数学能力。 举个不恰当的栗子,如果《社交网络》中都是真的话,他们开头做了一个给美女评分的网站,扎克写了网站,Saverin给的公式,我们假定Saverin数学好,扎克数学不好,可是有啥关系呢,扎克有想法,编码厉害,执行力强,这些能力和数学好不好有神马关系? 最后推荐《黑客与画家》一书中的第二篇文章,标题同书名,可以更进一步解答的困惑。 |
53
luoqeng 2013-07-05 16:08:04 +08:00
答读者问(1)——对程序员的一些个人建议
郑晖 2010-06-03 12,273 6 答读者问以下内容摘自冒号论坛的一个话题,考虑其具有一定的典型性,故转至冒号空间,希望能对更多的读者有所帮助,也算是一种代码重用吧。 读者Jee问: 之前在Top language里的一位网友像我推荐您的《冒号课堂》,书中eric向您建议开设社区,我猜测可能会有,就找到您的博客发现此地,很幸运您是一个如此有责任心的作者。 我是一名没有什么理论基础的不合格的计算机专业毕业生,毕业后却对软件方面技术非常感兴趣,可能与个性有关。于是在这近2年的找工作和工作过程中看了一些书,也和一些过来人聊过,总体来说让我对软件编程有了一点认识。在阅读您的冒号课堂之前,我曾一度认为我所差的是经验和一些诸如高级算法之类的进阶技术, 可现在,一个用了一个多月时间的夜晚阅读《冒号课堂》之后的我发现我所差的不仅仅是那些,而是最基础最根本的对计算机本身的认识,对数学的认识,对软件工程的认识。 我不想能有速成一说,只想能够现在正视自己,脚踏实地的一点一点的学习和进步,哪怕让我自学4年大学课程也未尝不可,只是有些时候有点找不到一个开始。我数学不好,作为一名程序员我想这是个令人沮丧的事实,我英语也不好,当看到蹩脚的一些翻译著作后痛苦不已。我想尝试着去改变这些,但是却不知该如何去做, 您知道,作为一名已经进入社会的成年人,我需要承受一些生存的压力和一些生活的负担,我希望能更好的利用每天那抽出来的时间,所以望郑晖老师能给我指出一条明道。 我一直没有说我从事的语言和方向,因为我知道这并不是核心,也不是想从您这得到如何学习XX语言等。万分打扰,还望见谅。 作者hui答: 你提到的问题十分典型,我非常理解你的心情,同时也非常乐意分享一些个人的看法。 虽然你在言语之中流露出不少负面的情绪,但我看到的却是正面的希望。首先,你对软件技术很感兴趣,而兴趣是学习和工作的最大动力。一般说来,我也没兴趣回答那些对编程不感兴趣者的有关编程的问题。一方面,我会劝他们改行,否则彼此都痛苦;另一方面,我建议的方法通常也不适合他们。其次,你很清楚地意识到自己在哪些方面不足,这是一切进步的基础。许多程序员意识不到自己的无知,甚至自以为足够有知,那又如何能进步呢?最后,你不指望任何捷径,愿意通过踏踏实实的学习来弥补不足。在浮躁之风盛行的当下,这点也是难能可贵的。 关于数学基础,窃以为并非什么太大的问题。几乎每个得知我数学背景的人都会对我说:哦,学数学的人来学计算机自然容易啦。事实上,这种观点虽然极为普遍,但也极为肤浅。本人从事数学14年(从本科算起)、从事计算机12年(与前者有部分重合),在这一点上还是比较有发言权的。事先说明,以下提到的数学不包括高中数学。其实大多数从事软件开发的人员用不到太多的数学知识,他们只需要正常的逻辑思维能力和抽象思维能力。整天拿数学说事,要么是无知,要么是找借口,要么是装高深。当然,我不否认一些高级算法、计算机理论以及人工智能等领域可能涉及到高深的数学知识(其实也只是图论、组合数学、数论、概率论、计算几何、抽象代数、数学逻辑等中的一小部分),但那毕竟只是少数。我也不否认自己的数学背景有助于对编程的理解,但投入产出比太低,不值得作为经验来推广。不过若想成为一位计算机科学家,那就另作别论了——这时数学懂得再多也会嫌少的。 倒是英语我希望你更重视些。我在《冒号课堂》中专门提过阅读原著的必要性,而且你也意识到译著的质量问题。建议不必特地去学习英语(你本来就会了,不是吗?),只要坚持读经典原著即可。其实,计算机方面的英文算是很容易的了,关键是克服自己的惯性和惰性。开始可能不习惯,看多了就习惯了。在此提醒一点,在阅读时请有意识地培养自己对英语的语感,就像编程时要有意识地培养自己对编程语言的语感一样。 总之,对于程序员来说,数学没有人们认为的那么重要,英语没有人们认为的那么不重要。 再说说专业方面的问题。你提到愿意重新自学大学课程,虽精神可嘉,但未必可取。从软件(或建筑)设计的观点来看,这是bottom-up法。作为学生,最好采用这种方法,但你已经参加工作了,所以我建议你更多地采用top-down法。这当然不是轻视基础知识,而是认为获取知识最高效的方法莫过于按需(on demand)学习。在实际工作中意识到某个知识点的重要性,从而有针对性地弥补短板,这样学习起来不仅更有效率,也更有兴味。需要强调的是,绝不能只是 “头痛医头”,而要“拔萝卜带出泥”。只有寻根究底、以点带面,才能快速有效地建立起自己的知识结构体系。对于软件开发这类实践性很强的专业来说,该法尤其奏效。 话又说回来,这种项目驱动式的学习方法也是有一定局限的。毕竟大多项目涉及的深度和广度通常都很有限,单纯凭此建立起来的知识体系不可能非常完善。 这就需要平时有计划地阅读一些经典著作以加强深度,并定期浏览一些高质量的技术网站以加强广度。 以上谈的都是一些较为宏观的建议,我想你需要的是更加具体的建议。《冒号课堂》上已经阐述了不少关于编程语言、编程范式、设计原则方面的观点,此处不复赘言。我想特别强调一点——把握抽象(abstraction)。事实上,无论是在书中还是本论坛中,我都不厌其烦地再三提到抽象的重要性,今后有时间还会深入地挖掘这一主题。对编程的语言、范式、设计、实现体会得越深,对抽象体会得也越深。借用Hakell的设计者之一Paul Hudak的一句略带夸张的话(overstatement):“abstraction, abstraction, abstraction” are the three most important things in programming。一定会有人会问:难道编程语言就不重要了吗?设计模式就不重要了吗?算法设计就不重要了吗?那是他们尚未真正理解何为抽象——抽象不仅渗透在编程范式之中,也渗透在编程语言之中;不仅反映在设计原则之中,也反映在设计模式之中;不仅体现在架构设计之中,也体现在算法设计之中。 说来也怪,明明是想提“具体”建议的,偏偏又扯出了“抽象”,大概不是你想要的答案吧?既然你是计算机专业毕业的,又有一定的工作经验,其实也不需要太过具体的建议。你的苦恼是找不到努力的方向,而这个方向恐怕还是得靠自己去寻找。建议试试两种方法:研读一本有趣的名著或开发一个有趣的应用。只要深入其中,相信绝不会再为找不到方向而发愁,说不定倒会为方向太多而发愁呢。 最后,说句更实际点的话:如果平时能有意识地积累一些计算机以外的领域知识(domain knowledge),比如金融、电信、教育、企业管理等等,对提高个人在IT业的核心竞争力也是大有裨益的。当然,前提是你有兴趣或有条件获得这些知识。 一家之言,希望能对你有所帮助。 http://blog.zhenghui.org/2010/06/03/advice-on-programmer/ |
55
xi4oh4o 2013-07-05 16:20:03 +08:00
初中没毕业的路过...
|
56
fork3rt 2013-07-05 17:19:51 +08:00
收藏了,每当我失去信心的时候过来看看 ..
|
57
Mize 2013-07-05 17:39:43 +08:00
同楼主,数学也就高中水平,学算法很困难,最近看高数打基础。
|
58
ffts 2013-07-05 17:49:57 +08:00
喜欢的话就干吧
|
59
michaelye1988 2013-07-05 18:28:32 +08:00
我数学就很烂,以前也认为搞计算机的数学要多牛逼,其实没有这回事。计算机这方面太广泛了,看你从事的是那个方面的工作了。如果是纯研究型的,那可能需要很聪明的头脑和和很厉害的数学知识,但这样的人有几个呢?哪怕是做底层开发,我一好朋友之前做驱动的,用C,我问他是不是算法很厉害,他说也没有,实际上工作中都没有用到什么算法,算法都被封装好了,直接用就好了。我现在也觉得,其实写了这两年代码(做Android开发),做应用层软件,算法基本用不到,但也是可以去大公司工作,可以拿高工资,也可以成为大牛的。
|
60
zhanggggfd 2013-07-05 20:42:40 +08:00
其实,我是很喜欢计算机的,尤其用计算机做些小东西用。奈何现在公司一年内不在开发。我到时觉得所有一切都不是问题。数学不好直接用数学好的编写的库啊~对吧~
我们还不是在用计算做着各种工作。我在毕业以来的这一年,就用过好几种语言开发过东西。我觉得蛮好玩的。 所以,有兴趣就做好了,能干自己感兴趣的多好啊~ |