🎁 长周末专享特惠!VIP通行证6个月立减$50,蓝莓立减$25 🎁
查看: 223837| 回复: 168
收起左侧

[找工就业] 说说作编程/coding的,有没有前途

   
Warald | 显示全部楼层
本楼:   👍  40
100%
0%
0   👎
全局:   22337
93%
7%
1754

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x



经常有人问:XXX是吃青春饭吗?YYY是不是饱和了?ZZZ有没有前途?其实,这样的话题,早在好多年前,在过去的好多年里,一直被人反复提起。

这个帖子是一亩三分地2009年创建时发的,tid 337,是论坛第337个主题帖子。. 1point 3acres

在这里也提供点帖子发表时的背景知识:2009年正好是美国经济的低谷,留学生遭遇金融危机,毕业几乎等于失业;那个时候,即使在硅谷,年薪也没有十万,公司当然不包饭;学CS不火;Warald要写文章告诉大家CS是最好找工作的专业;好多同学犹豫是不是要转CS。

之后的十年里,facebook、linkedin、twitter一个个上市,至于uber、airbnb、dropbox、pinterest等的兴起,在2009年更是无法想象,这些独角兽当时还没成立吧?这两年来IT疲软,市场跌宕起伏。十年里,地里的老用户们也算是过山车般走了一趟。

当年在帖子里回复过的同学,还有多少依然在地里活跃?你们现在怎样呢?聊下你这些年的感受?

也欢迎大家写新的回复。再过十年,2029年,我们回头再看看今年写的东西 ^_^



=== 2009年原帖如下 ===
. 1point 3 acres
觉得DarkBrian提的问题很好,单独列举出来讨论吧:

From DarkBrain:
1) 其实从别的专业转到CS了,并且拿到了全奖,但是忽然想转出去了,因为不想毕业之后一直做IT民工的生活。即使毕业之后先作一段时间,以后总归要转的吧。编程这种东西做不了一辈子吧。
2)如果是EE experience还好说,如果纯粹做coding的话呢?新技术新语言可是层出不穷阿,真的有很多程序员会一直做到老吗?至少对我来说,并不讨厌编程,甚至很有感情。但是要做到老的话,还是觉得很累很累的

类似的问题还有:
程序语言变化飞快。年轻人还行,学新东西快,老了就完蛋了,因为技术过时,学习也慢。也没年轻人的体力

评分

参与人数 2大米 +4 收起 理由
Momooooo + 1 给你点个赞!
Ravel拉威尔 + 3 很有用的信息!

查看全部评分


上一篇:在为10年fall申请PHD做准备,先予
下一篇:EE的帮看看学校提供的这几个方向哪个好些

本帖被以下淘专辑推荐:

 楼主| Warald 2009-7-18 01:52:02 | 显示全部楼层
本楼:   👍  12
86%
14%
2   👎
全局:   22337
93%
7%
1754
我的回复如下:. .и

随着工作时间的增长,你可以获得experience,年龄大了以后,丰富的experience就是优势了.

1) 计算机兴盛也就是从90年代起,时间上来看,经验丰富的开发人员大多也不过10-20年.
2) 有了工作经验,有机会接触到各种事情和机会,慢慢的就有人做起他的工作去了, 比如有的人做architect,有的人不做开发,改成提供技术服务,直接跟客户打交道, 工资更高; 也有人技术很强, 加上丰富的经验, 改行去作咨询了。我听说过一个比较老的开发人员, 和他儿子一起开IT咨询公司,好像一个小时收费100-150美元. 父子两个都上阵作技术活.
3) 我见过50多岁作开发的, 人家也没什么上进心, 典型的朝九晚五上班, 完成任务, 干活挣钱就是了. 跟我说工作轻松, 自己能处理得过来,工资也不错, 很满意.

至于新技术. 新技术应该可以更好更快的促进开发, 所以应该更容易,而不是更难学. 比如java比C++容易, 用C++开发也比C方便的多; 以前开发个web application, 要配置一些东西,现在ruby on rails很多东西直接都自动给你做好.

如果是很细节的老技术东西,可能来了新的技术, 你的知识就不值钱了,但是你学习到了如何设计软件, 如何从high level考虑architecture/infrastructure里很关键的一些东西, 这种经验, 是不可替代的. -baidu 1point3acres

开发大项目尤其需要经验,年轻人解决小问题,作具体的底层活没问题,但是要搞定复杂系统,没有经验是不太可能的。

打个比喻说,software development就像是建楼, 如果你就是一民工, 当然可以说老了就做不了了,但是盖楼也不是随便一群民工就能做好的,最起码得有人设计楼房, 考虑里面的技术问题,免得突然楼就塌了, 也得有人管理工程. 你要盖个小土屋或者2-3层楼可能也没啥, 但是几十层甚至摩天大楼, 这个不是一群民工就能盖好的. 当一辈子底层民工卖体力是没有多少前途,但是你要想着如何利用自己对建筑行业的熟悉, 发挥经验优势, 比如说你慢慢来管理工程指挥年轻人干活, 或者你知道怎么样造楼更稳固,什么失误常见而且会导致问题。

老的东西不是一下子可以被抛弃的, java现在最popular,但是C++也没有消亡,更古老的C照样也有市场.  C和C++都是哪年设计的?过了这么多年了还活着. 请问,哪个语言可以在很多领域广泛替代java? 什么时候能出现?java也早就不是新东西了,这都多少年了,还占据着统治地位,technology也没发展的那么快。等基本可以替代java的东西出现了,后面还得相互搏斗若干年。就算java过时了,很多公司还是要继续用手头的java软件系统, 稳定, 而且不用花高价更新. 在business world,并不是简单的什么技术nb,什么技术就总是赢. .google  и

公司里采用新技术也是渐进的, 比如用ruby代替一些java的东西, 公司固然需要从外面招ruby developer, 但是老的技术骨干也在学习ruby, 他们又懂公司的核心技术, 知道什么地方该怎么做, 知道新旧技术该怎么整合,可能主导的人群, 还是老的骨干. 如果交给新人,哪怕他ruby技术很NB,公司现存的复杂系统他们也得花上不少时间才能完全理解。你说老程序员从java改成ruby快,还是这些ruby新人积累经验,彻底了解公司现有系统快?ruby设计的很好学,很容易上手, 老人家们不用几个星期就学得可以拿来干活了,而且可以更迅速的明白目前公司里什么地方需要ruby,什么地方可以用ruby改进。

如果你自己懒惰不去学习新技术,所以被淘汰,那是你自己的问题,不怪编程这种工作. --- 现在有什么专业, 是不需要学习新知识新技术的吗? 你不会指望着年轻的时候学一门技术, 老了的时候还能用吧.1point3acres

[2013年更新]看我写的这篇文章:《拿微软软件工程师做例子,说说做码农、做工程师技术活的工资上限:一年50-100万美元是可能的




评分

参与人数 5大米 +5 收起 理由
fmusk + 1 赞一个
thinkoutofbox + 1 赞一个
miaoxingren + 1 赞一个
fishinlove + 1 赞一个
熊脚mm + 1 回答的很好!

查看全部评分

回复

使用道具 举报

danielgao 2010-4-1 19:06:16 | 显示全部楼层
本楼:   👍  13
93%
7%
1   👎
全局:   163
97%
3%
5
难得看到这么好的主题,也过来水一下. Χ

同意楼上的说法,扎实的coding基础是重要的,最起码应该有一门比较熟悉的语言,无论是C,java,或者python, 而且应该能够做到在没有编译器帮忙检查的情况下写出高质量和能直接运行的代码段。像一些比较厉害的公司在面试的时候都会要求你能在纸上手写代码,就我自己碰到过的G和M公司都有这个要求。而且G公司那边甚至要我手写一个高精度数的N次方,然后一边看我写一边把我的代码往手提上敲,然后告诉我哪里有问题。如果你写的代码不堪入目,都是语法错误,又或者平时都是现查的帮助文档,函数名字都记不清。。那给面试官的印象就不怎样了。

另外也赞成不应该在大学的时候花太多的时间在熟悉各种框架上面,那是出去工作后的事情。就算你读大学的目的就是为了找工作,能多熟悉一些操作系统的原理,算法的技巧甚至函数式编程这种理念,都比熟悉框架这些性价比要高的多。特别是BGMF这些大公司,面试的时候都是考你算法或者对一个问题的想法,很少会有人去考你某某框架怎么用的……

另外关于前途。。我很多美国同事都50多岁还在做coding,consultant engineer和architect里面这种年纪的人都很多,所以coding有没前途,更多还是取决于个人的努力。。.

warald插入备注:这层楼发言的danielgao,在发帖一年半以后,拿到facebook的offer。. 1point 3acres


评分

参与人数 2大米 +47 收起 理由
fishinlove + 1 赞一个
Warald + 46

查看全部评分

回复

使用道具 举报

 楼主| Warald 2019-1-22 05:09:12 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   22337
93%
7%
1754
本文被选为01/20/2019全站置顶文章之一。

本文被提升为今日话题:凡是在置顶有效期内参与讨论,提供言之有物、切中主题的高质量回复,最低奖励20大米,干货越多奖励越多。前几天今日话题里的干货讨论 都至少50,有的>80

也欢迎大家参与,对于“干货”回答,请加分、请顶上去。
说明:给别人加分不会扣除你的积分。
.--
今日还有另外一个话题:老板把你的credit给同事怎么办?




images (22).jpeg
回复

使用道具 举报

cztianshi 2014-8-25 06:23:44 | 显示全部楼层
本楼:   👍  22
100%
0%
0   👎
全局:   39
100%
0%
0
本科学的数学,对于大三以后得理论课越来越绝望,很少有实际用处,花了大把时间做数学题还不如大四下学期在图书馆看小说充实,出来读master果断转了CS,明年即将毕业,现在每天花3个小时刷刷leetcode,每做出来一道题都有无比的成就感,这是做数学题不可能有的。。。当然这里的数学,CS我觉得可以任意代换,关键是找一个自己还算喜欢,并且毕业后能够拿到一份不错收入的工作,这对于学生党来说就是“幸福”了。至于未来的方向,我感觉这个问题就跟大学选专业一样,现在还什么都不懂,谈这些为时尚早,工作一两年之后对社会各个行业有更好的见解之后再谈这些不迟

当然了,也有可能你从一开始就进入了一个你不喜欢的领域,对于这样的同志,要看有没有毅力和条件重新选择了,对于人生,现在的我的理解就是,中轴线是自己的爱好和家庭,人生轨迹最好稳定在这条中轴线附近小幅波动,至于荣华富贵,得之我幸不得我命,活得有尊严,并且活得开心才是最重要的

评分

参与人数 7大米 +61 收起 理由
pusheen3222 + 1 赞一个
joyli66 + 2 给你点个赞!
dppss91102 + 1 赞一个
happydreamer + 3 很有用的信息!
LittleLeon + 1 赞一个

查看全部评分

回复

使用道具 举报

cliff 2009-7-18 03:01:14 | 显示全部楼层
本楼:   👍  10
91%
9%
1   👎
全局:   104
99%
1%
1
本帖最后由 Warald 于 2009-8-11 09:05 编辑

您好!
本帖隐藏的内容需要积分高于 50 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 50 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式

评分

参与人数 13大米 +278 萝卜 +100 收起 理由
泊蚂蚁酱 + 1 赞一个
fmusk + 1 赞一个
manmankan + 2 很有用的信息!
Catherine8832 + 2 感谢分享!
Saiki + 3 很感动!谢谢层主!

查看全部评分

回复

使用道具 举报

 楼主| Warald 2009-7-18 10:39:16 | 显示全部楼层
本楼:   👍  1
50%
50%
1   👎
全局:   22337
93%
7%
1754
1.我同学的表姨,90年代从中科院某所的地质专业公派去了美国学习,满了1年不想回来了,于是就读了计算机,那时候,计算机很火的,年薪很高,工作环境很舒适,很多大公司都招不够人。在这种诱惑下,毅然放弃了搞了10多 ...
.1point3acrescliff 发表于 2009-7-18 03:01


一天三个小时coding很合理,花这个时间编程的,就算是技术不离手了。

从地质转cs,就跟让eecs的去学生物、化学一个费劲,人家也是吃了很大苦头才有的今天。
回复

使用道具 举报

Zxin 2009-7-18 12:41:13 | 显示全部楼层
本楼:   👍  13
93%
7%
1   👎
全局:   61
97%
3%
2
本帖最后由 Zxin 于 2009-7-18 12:52 编辑
. 1point3acres.com . 1point 3 acres
我觉得做coding总的来说有两种,有变化快、要不断补充新知识的领域,可以总结为做Application;也有几十年不变,搞通了就可以吃老本的方向,可以总结为System(不是广义上的system,专指计算机偏低层的系统软件,如操作系统)
. From 1point 3acres bbs
1.   Application
总的来时你做的Application离用户越近的,技术变化越快,典型地如Web,Java曾经独霸天下,早期的Java曾是结构简单、设计优良的,但由于J2EE本身的日益臃肿、层出不穷的Framework如Struct、Spring、Hibernate等,都增加了程序员学习的成本,Microsoft的C#也是这样,大而全,同时非常繁杂,这两个东西做重量级的Application比较合适;但是讲到小而快,Ruby和PHP都不错,日本人搞出来的Ruby,含有大量面向应用的default的Configuration,非常方便。我原来做过J2EE上的应用,曾经被其复杂的Configuration弄的痛苦不堪,而Ruby竟然让我在一个小时内成功加起了Hello world的,带有数据库的应用,真的很Impressive。-baidu 1point3acres

总的来说这种Application技术的发展方向是让程序员更省事,难听的说法是让你变个更懒,殊不知一种知识和技能的价值由两个方面决定,首先,价值,是否有用?有多大的用?;其次,可替代性,学习曲线如何?是不是很难被人赶超?像Microsoft那种把IDE做的那么强的,程序员慢慢就变懒了,不愿意思考IDE背后的东西,这种技术从本质上也很难形成核心竞争力,因为说白了,你短时间内学的会的东西,别人也行。
. ----
如果处在这种领域,就要积累一些像Warald和Cliff说得大项目的经验,system大到一定的程度的时候,就有一些module之间的协调问题、interface的设计问题以及系统的负载平衡问题等等,只有在大系统时才有的问题,这种经验很宝贵,正是越老越值钱的东西,以后做个咨询啊、管理啊,主要靠的是大项目的经验。

2. System
    这里说的计算机低层系统,主要指Application 程序员用到的开发工具和基础平台,有用IDE的人,就有开发IDE的人,有用编译器的人,就有开发编译器的人,这一类开发者可以称为System Developer。其特点是技术难度大,但是变化相对较慢。

对各个层次上的软件,道理就是离用户越远、离机器越近的部分变化越慢,vice versa。要不是当年BSD与AT&T的System V为了版权相互争来争去,Linux Torvald也不用另外去搞个Linux出来,同样TCP/IP的协议栈用了这么多年也才要扩展到IPv6而已。

    总的来说这种技术前期学习曲线很高,懂的人少,精通的就更少,但是通了以后可以吃老本,说到收入可能也不比做sale,support来的少。另一个好处就是,做System人能更好的理解计算机,因此具有Application programmer所不具有的洞察力,在技术道路上能走的更远,像Microsoft、Google这样的大公司内部都有专攻技术的Fellow,其待遇不比做Business和Management的VP差,理由很简单,对一个高科技公司来说,Core System Technology就是它们安身立命之本,是在商业上取得优势地位的利器。你看看Microsoft这么多年是怎么过来的,占据了这个Windows阵地之后,用binding sale让IE战胜了Netscape, 同样用binding sale让Office独霸普通用户的办公软件(企业办公软件有IBM的Lotus,IBM在某种程度上也是binding sale,软硬件binding在一起,这里暂且不表),可谓无往而不利。.
-baidu 1point3acres
最近Google频频出招先是Gmail、Docs等Service挑战Office, 然后是Chrome挑战IE,随后Chrome OS剑指Windows,一场逐鹿中原的大战即将爆发~ 从长远讲我看好Google, Cloud Computing为Google提供了美妙的商业预期,但System level的竞争不只是技术的竞争,更是商业的竞争,我相信深谙商业之道的Microsoft不会束手就擒,前两天刚刚宣布明年将推出网络版的免费的Office软件(http://www.ftchinese.com/story.php?storyid=001027556),好戏还在后面,看看他们两谁能笑到最后
.1point3acres. Waral dи,
个人愚见,如果真的是对技术感兴趣,可以去做System的方向,更Challenge,如果有足够的前瞻性还可以Startup;而Application适合以后想往Business和Management转的人,当然现在很多的Web Startup在技术上也只是Application,比的是谁快,先抢到用户群就赢了,但从本质上来说,做不出像Google,Cisco这样的行业龙头。

评分

参与人数 11大米 +277 收起 理由
asdf_qwer + 1 给你点个赞!
hubertzk + 1 很有用!
manmankan + 3 很有用的信息!
Bobyyc + 1 赞一个
学渣在路上 + 3 很有用的信息!

查看全部评分

回复

使用道具 举报

hwaaron 2009-7-18 13:04:09 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   226
93%
7%
18
哇,学到了好多哦。
从我自己本身来讲,像在我们公司,不管你是申请的项目经理还是架构师,进去必须敲最起码一年代码才能胜任你申请的职位。. 1point 3acres
在很多行业,比的都是资历。
回复

使用道具 举报

ljcljc 2009-7-18 20:11:15 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   133
92%
8%
11
收藏了,顺便憧憬一下自己未来的民工生活。。。
回复

使用道具 举报

 楼主| Warald 2009-7-18 21:28:23 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   22337
93%
7%
1754
我觉得做coding总的来说有两种,有变化快、要不断补充新知识的领域,可以总结为做Application;也有几十年不变,搞通了就可以吃老本的方向,可以总结为System(不是广义上的system,专指计算机偏低层的系统软件,如操 ...
Zxin 发表于 2009-7-18 12:41
. 1point 3acres
. Waral dи,
如何划分,可能有的人未必赞同,不过我觉得你的分类有道理。

大部分人生活在上层的application里,人数多,上手快,也容易被替代。ruby我刚开始用的时候,也是很惊讶,连MySQL的数据库,unit test啥的都能给你自动生成,感觉以后入门级的开发没准就跟玩discuz bbs一样,是个人就可以啊。

system level的东西更需要经验,有的年龄大的开发人员,当年一路用C过来,到现在依然控制着很多核心底层的东西。这种工作更不容易上手,更需要丰富的经验,不过职位也少很多,大部分人还是得靠application layer来混碗饭吃。
回复

使用道具 举报

millerxin31 2009-7-20 14:15:55 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   5
100%
0%
0
选择CS不得不面对的就是coding的问题。
回复

使用道具 举报

skywalker 2009-7-20 19:29:36 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   11
100%
0%
0
其实思考的时间往往比coding的时间长,只coding而不思考只是机械的重复,多思考了以后再coding会发现coding的乐趣的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表