网站总结
请关注最代码公众账号zuidaima,每周推送精彩内容.
另外广告点击很少,也希望大家可以多点击下和自己相关的广告以帮助网站得到一部分运营费用。
资讯精选
大约10年前,我刚刚毕业的时候,找到了一个试用的机会。那个时候的我对软件根本没有概念,编程学的也很少,只是在系里学过一点VB和C++,以为软件就是像QQ或者游戏之类的。我从来没想到会认识一个叫SharePoint的软件,更没有想到一干就是十年。
当时我和另外两个实习生,我们三个一起被分到了一个部门。我当时的公司是一个IT外包公司,有几个固定的客户。客户那边IT只有很少的几个人,有关IT的工作都外包给我们来做。
刚进公司的时候,头儿就让我们自己看看东西,数据库拉,ASP.NET什么的,在大学也接触过一些,不过不深。头儿是一个lead级别的人,在公司干了三年多了。
半个多月之后,头儿说客户那边来了一个活,想从MCMS系统转移到SharePoint系统。那个时候SharePoint 是2003。我一下子就懵了,根本不知道是啥玩意。头说让我们研究研究,一周之后给一个方案。
我一下子老着急了,刚来没多久就研究真实的需求,怕弄不出来没法交代。不过头儿和我们说现在公司缺人,我们就得上。然后我就开始不断的研究,幸亏英语阅读能力还可以,因为那个时候没有任何的中文资料,完全得搜英文资料。
那一个星期满脑子想的都是这个事情,吃午饭的时候都在搜索资料。晚上回去也不停,周末也窝在家里研究。反正没对象,也没别的事情做。
经过一个多星期的研究,知道了MCMS和SharePoint的一些关系。当时微软要进入协作软件领域,投入了两个产品,一个是MCMS(Microsoft Content Management System),一个是SharePoint Portal Server 2001。然后看哪个产品受欢迎,后来SharePoint胜出,微软继续推出了SharePoint 2003。而MCMS只是在2002年发布了两个补丁包,就不再升级了。
通过研究,我明白了什么是collaboration软件,SKD是啥玩意,SharePoint的结构等等。其实MCMS和SharePoint都是以SQL Server为存储介质的ASP.NET的网站,很多地方很类似。
然后一周之后和头儿汇报的时候,我把我的研究结果说了一遍,以及我准备怎么迁移数据。
因为当时确实没什么经验,而且能力也有限,所以我当时也说了几点我没弄明白的地方,一些难点也没有方案。
不过同来的那两个哥们就更差劲了,基本上没说出来啥。然后头儿就把他的研究结果和我们说了一遍。头儿不愧是头儿,自己总是留一个plan B。我就说呢,他怎么放心让我们几个新来的去研究,原来他自己也研究了。
会议结束的时候,头儿和我说干的不错,让我参与到这个项目里,和正式员工一起工作。而那两个哥们还是自己学习。我当时也是后怕,原来这个也是头儿的一个选拔程序。进入到项目组两个月之后,试用期满,我顺利的成为了正式员工,工资将近三千块。要知道那个时候理个发也就5块钱,三千块钱那个时候已经不少了。
那个项目让我和SharePoint有了很深的了解,熟悉了常用的API。很多人可能会奇怪,为什么SharePoint API里面, Site Collection对应的对象是SPSite, 而Site对应的对象是SPWeb呢?因为SharePoint 2003里面,就是叫Site 和Web,在SharePoint 2007里才改了。但是API没有改,一直沿用下来。
从此与SharePoint结下了解之缘。
“离开校园时的一场选择与被选择。”
关于校招这件事,今年是第 3 年参加了。
每年都在反思到底我们想要招什么样的同学?
今年公司组织的校招比较规范,专门组织了面试官的培训,确定了面试的框架和标准,以尽可能避免面试官个人偏好导致的挑选偏差。
当然面试的标准和框架其实是比较泛泛的东西,简单提炼下就是下面几个方面:
- 学习能力
- 逻辑思维
- 追求卓越
- 团队合作
都是挺泛的标准,为难了面试官要在 20-30 分钟的面试时间内要识别出同学们在这 4 个方面的高低之分。
在说面试之前先说点题外话。
我们招聘的是软件研发工程师或者说程序员吧,我感觉这是一个让很多同学特纠结的岗位。
这些年互联网、移动互联网、智能硬件等等火热,造就了行业偏热,刚毕业的同学进入这个行业可以拿到一个相对其他行业来说很不错的起薪。
能媲美的可能只有金融行业,但金融行业招的人专业范围没 IT 那么广,人也没那么多。
所以很多沾到点边的同学都来凑热闹了,心理大概想着我不在乎去做什么,只要能进这些有光环的公司,拿着那份还算光鲜的薪酬就不错。
让我想起高考时填报志愿,我不在乎读什么专业,只要能考进那个顶着光环的大学。
不是说非计算机相关专业的同学不能从事软件开发,跨专业只是要求更高而已。
其实这个行业真有不少跨专业的牛人,他们能成长至此,至少有两个本质的原因,兴趣和更强大的学习能力。
没有兴趣很难驱动学习,因为跨专业基本以自学为主。
所以当同学面试时回答如何学习时,还在去图书馆查资料的基本上学习能力这方面都过不了了。
互联网都移动了,还在甩火腿跑图书馆,这明显不是有效的学习手段。
这个行业就是要求你不断学习,没有这种觉悟的同学进入这个行业注定会感觉不适与痛苦。
除了要保持知识的快速更新,其实也需要一些基础性知识的沉淀。
计算机的历史还算短,经典的知识沉淀不算多,每年花上点时间读上几本经典的严肃书籍其实比每天读 10 篇技术博客或文档对建立系统的知识体系更有好处。
互联网上获取知识方便但也更碎片化,合适的书籍和从互联网上获取应当适当地平衡补充。
我没有问任何逻辑问题来考查同学们的逻辑思维能力,仅仅是让同学介绍介绍自己,讲讲自己的学习经历、项目经历然后从中来判断。
有同学在 1 分钟的自我介绍中就给我讲起了项目中某个问题需要某算子采用某方法来解决,这已经让我开始逻辑混乱了。
介绍自己其实是一个很有逻辑性的活动,是从总体到局部,由面及点,是否有重点突出,是否有层次?
介绍项目则更进一步,很多同学只管自己说的高兴,滔滔不绝,专业术语源源不断,自我感觉良好,是否考虑过受众的背景,能否听懂一些冷专业的冷知识?
讲术语讲专业不是不可以,可以参考下雷军的奥氏体 304。
团队合作这方面其实很难考查,也很难找到有区分度的问题,基本都是通过面谈中去感觉的,有时也可以从同学们的一些经历中找到佐证。
默认来说一般人不会太难合作,毕竟极端人士还是比较罕见。
对于追求卓越这方面,区分度可就大了,追求卓越换言之就是不断超越自身,不断成长。
“今年比去年自己有什么进步,改变?
你想达到一个什么样高度,怎样去实现,现在怎样做的,对此有什么规划或计划?
你了解哪些你觉得卓越的人,他们身上有哪些卓越的品质?”
类似上面这样的问题,基本都是开放式的问题,但能回答的比较好的同学很少。
因为平时没有这方面的思考和感悟是很难在面试时临时发挥出来的。
还有些同学面试时惜字如金,1分钟自我介绍,10秒搞定,20分钟经历交流,5分钟不到说完。
简洁倒是简洁,但是否切中要点还真不一定,经典的简洁又切中要点就是网上流传的那句:
“I wrote python.”
如此的简洁是需要底气的,对于这种太过简洁又没切中要点的同学真是很头疼的。
为了避免沧海遗珠我总是有个保留问题:
“最后,再说下还有什么自己的独特优势而在之前的面试问答中我可能没能发现的?”
自我认识清晰地同学通常会很好的找到并分析阐述自己的优势,但更多的同学显得比较迷茫一些。
最后总结下,好的面试是需要面试者来掌控的,条理清晰、逻辑有序、简洁有力的提供关于自己的事实,让面试官得出有利于你的结论。
很多年以后,在我60岁的那天早晨,天刚蒙蒙亮我就起床了,先去公园晨练,然后回来做早餐(50岁的时候我学会了做 饭),送完外孙上学,刚好8点。由于北京从2020年开始单双月限行了,这个月是单月,所以只能挤地铁。人一如既往的多,一小伙子要给我让座,看了看他的 小身板,我说不用,你也是干 IT 的吧,今天咱们都是程序员。
来到公司,墙上那条新贴上去的刺眼规定总是让我很不 舒服:所有的服务器端语言必须使用 Come,移动端语言使用 Swallow,还在使用 Java、C、Go 和 Swift 语言写程序的,罚款500元。我不知道自己还能学会几门新语言,工作了四十年,我已经用过一百多种编程语言了……
上午十点,00后 Team Leader 跑过来告诉我,池大大,新上线的智能手表操控 UI 是您老做的吗?好像出了点问题。我说是老王上周做的,他老花眼早就不该做 UI 了,这周没来,据说动脉硬化了。唔,那您帮他改改得了……
这个上午,老板又收到了两份在家办公申请,其中包括 老冯的,申请理由是:腰不好。坐着站着都不能解决问题了,只能把屏幕安装在天花板上,躺着编程。我还行,一直打羽毛球,腰好,身体就好,吃嘛嘛香。不过今 天中午却没什么食欲,因为牙疼,各种牙都开始松动了,只好在食堂里挑了点软乎的饭菜吃了。
下午部门开会。我发现唯一的70后主程(主力程序 员)记忆力减退了许多。说完第8个功能点的实现后,丫突然来了一句:好,以上是第1点,现在来说第2点。直到下班,我们一直都在说第2点。会后主程怪我为 什么没有提醒他,其实我一共提醒了他13次。不跟他计较,明年他65岁,就要退休了。
分配到需求之后,下午的工作就是画界面做表单填程序,这个工作我做了几十年,已经非常熟练了,编码的时间总是最快乐的,不知不觉就晚上10点了。回家吧,过了9点就可以打车了。
夜晚11点回到家,菜凉了,孩子们都睡着了。我躺在冰凉的床上,打开一本《Come 语言编程实战》开始读。程序员,是一个终身学习的行业……
看到这估计大部分程序员读者心都碎了……不用担心,不读 MacTalk,晚景才是凄凉的,看了的都没事!
关于「程序员老去」这个话题,从我开始编写第一行代 码的时候就有了。那时候我二十郎当岁,正值青春年少,眉宇苍茫,中年人和老去仿佛是下一个世纪的事情(确实是),遥不可及。我时而在阿尔卑斯山脉编写代 码,时而去草沿天路调试程序,我觉得世上之事无所不可为。只有那些年近三十的老程序员,听到这个话题时,才会紧蹙双眉一言不发,仿佛他们看到了无边落木和 滚滚长江。
很快,我就站到了三十岁的十字路口,望了望周围,其 他三个方向都没有路,只能向前,于是我非常不情愿的挪到了35岁这个黄金分隔线上,或者叫程序员的生命线。不知道是哪位大神为我们程序员画了这么一条线, 三百六十行,行行出状元,为什么只有程序员才有这条线呢?用 Google 百度一下「程序员 35岁」,尽是「不作35岁的程序员」「技术大龄恐惧症」「35岁后要转管理」「35岁前程序员要规划好的 X 件事」这样耸人听闻的字眼,一想到自己并没有规划过「这些事」,我绝望极了,35岁生日的那一天可能会发生什么不好的事吧,比如编程、演讲、写作、设计这 些技能都会烟消云算?我可能会跟不上时代的发展?我可能会被解雇吧,我想。
35岁生日过去了,除了收到生日礼物,什么事都特么没有发生,我依然活蹦乱跳的编程、演讲、写作和设计产品,一切都变得更好了。
再也不相信年龄了……
回首往事,我发现当年那些对编程充满激情,对生活满 怀理想的小伙伴,有的变成了某个领域的技术大牛,在做产品的同时忙着布道演讲写书;有的经营者或大或小的公司,同时还在编写程序;有的设计出了千万人使用 的软件产品;有的则转变成了一个纯粹的管理者,经营着上千人的机构。他们都是程序员。
真正有可能晚景凄凉的程序员,是对技术和产品没有兴趣的人,是仅仅把编程当做生活工具的人,是那些不能终身学习的人。开篇的文字,就送给这些人吧,希望他们能够在40岁以前看到这篇文章。
关于程序员转行的问题,也是个伪命题。没有人的职业是一成不变的,今天你在考虑 LVS 要使用 IP 隧道技术还是直接路由,负载调度使用加权轮叫还是最少链接,十年后你要做的可能是增加哪些产品特性和阅读用户的消费心理。时间会驱动着你去不停的选择自己的道路。
如果继续编程能够最大化你的价值,那就去编程,太多精深和复杂的技术需要长期的积累和实践才能化繁为简鬼斧神工,请在技术大神的道路上一路狂飙。
如果设计产品能够最大化你的价值,那就去设计产品, 现代世界已经不再是「美学、艺术」与「电子产品、软件」毫无关联的年代了,人们越来越重视产品体验和艺术美学,如果你懂得产品之美,又能估算这个产品多久 能够开发出来,还懂一些开发细节,不知道能够虐多少程序员啊,想想这个场景多么美好。
如果经营一家公司能够最大化你的价值,那就去创业,去招募战友,服务伙伴,提供产品,去创造属于你自己的天空。
如果演讲……如果咨询……如果市场……,很显然,我看到的程序员未来有无限可能,而且我们最大的优势是:这帮家伙甚至能编写代码,这真是太酷了!
当然,我们程序员也不要过于沾沾自喜,在某个领域深耕细作的同时,不要忘记拓宽自己的知识面。如果一个人的领域太过专业化,一段时间后,你可能发现自己的专业已经陈旧了。如果一个人的知识面很广,在终身教育的配合下,你的专业可以随着时代的变化而改变。
另外,在调试程序或程序出现问题的时候,程序员要避免说这些暗语:
扯淡,这不可能!
我机器上就没事!
不应该啊……
一定是隔壁老冯的问题!
原来怎么没问题?
每少说一次,就能前进一大步!
最后,对不是程序员的读者也说两句吧,如果你身边有 程序员,一定要对他们好,不懂技术不要对程序员说这很容易实现,平时多送些小礼物,他们不开心了就请吃海底捞,加不加班都要给他们加薪,没有女朋友的给介 绍女朋友,还没订阅 MacTalk 的让他们赶紧订阅……你会有回报的。
经年以后,当你偶然之间再次翻到这篇文章,也许会说,唔,这个老家伙说的还有点道理呢!
最近发起了最代码的推广活动,希望每个支持zuidaima的都可以帮忙推广下,活动地址:最代码推广活动,有你参与更牛币。
最代码每周都很精彩,有你会更精彩,请访问http://www.zuidaima.com。欢迎转载分享该文章, 欢迎推荐给身边的小伙伴们
欢迎关注最代码的官方微信账号zuidaima,最代码官方新浪微博:http://weibo.com/zuidaima,最代码官方腾讯微博:http://t.qq.com/zuidaima