导航:首页 > 程序命令 > 程序员引路

程序员引路

发布时间:2023-02-28 23:23:01

A. 普通程序员如何向人工智能方向转型

当下,人工智能已经成为越来越火的一个方向。普通程序员,如何转向人工智能方向,是知乎上的一个问题。

这个学习路线是这样设计的:首先了解这个领域,建立起全面的视野,培养起充足的兴趣,然后开始学习机器学习的基础,这里选择一门由浅入深的课程来学习,课程最好有足够的实验能够进行实战。基础打下后,对机器学习已经有了充足的了解,可以用机器学习来解决一个实际的问题。

这时还是可以把机器学习方法当作一个黑盒子来处理的。实战经验积累以后,可以考虑继续进行学习。这时候有两个选择,深度学习或者继续机器学习。深度学习是目前最火热的机器学习方向,其中一些方法已经跟传统的机器学习不太一样,因此可以单独学习。除了深度学习以外,机器学习还包括统计学习,集成学习等实用方法。

如果条件足够,可以同时学习两者,一些规律对两者是共通的。学习完后,你已经具备了较强的知识储备,可以进入较难的实战。这时候有两个选择,工业界的可以选择看开源项目,以改代码为目的来读代码;学术界的可以看特定领域的论文,为解决问题而想发论文。

无论哪者,都需要知识过硬,以及较强的编码能力,因此很能考察和锻炼水平。经过这个阶段以后,可以说是踏入AI领域的门了。“师傅领进门,修行在个人”。之后的路就要自己走了。

下面是关于每个阶段的具体介绍:

0.领域了解

在学习任何一门知识之前,首先第一步就是了解这个知识是什么?它能做什么事?它的价值在什么地方?如果不理解这些的话,那么学习本身就是一个没有方向的舟,不知道驶向何处,也极易有沉船的风险。了解这些问题后,你才能培养出兴趣,兴趣是最好的引路人,学习的动力与持久力才能让你应付接下来的若干个阶段。关于机器学习是什么,能做什么,它与深度学习以及人工智能的关系,可以看我写的博客从机器学习谈起。

1.知识准备

如果你离校过久,或者觉得基础不牢,最好事先做一下准备复习工作。“工欲善其事,必先利其器”。以下的准备工作不多,但足以应付后面阶段的学习。

数学:复习以下基本知识。线性代数:矩阵乘法;高数:求导;概率论:条件与后验概率。其他的一些知识可以在后面的学习的过程中按需再补;

英文:常备一个在线英文词典,例如爱词霸,能够不吃力的看一些英文的资料网页;

FQ:可以随时随地上Google,这是一个很重要的工具。不是说网络查的不能看,而是很多情况下Google搜出来的资料比网络搜的几十页的资料还管用,尤其是在查英文关键字时。节省时间可是很重要的学习效率提升;

2.机器学习

机器学习的第一门课程首推Andrew Ng的机器学习。这门课程有以下特点:难度适中,同时有足够的实战例子,非常适合第一次学习的人。cs229这门课程我这里不推荐,为什么,原因有以下:

时间:cs229的时间太早,一些知识已经跟不上当今的发展,目前最为火热的神经网络一笔带过。而Cousera上神经网络可是用了两个课时去讲的!而且非常详细;教学:Ng在cs229时候的教学稍显青涩,可能是面对网络教学的原因。有很多问题其实他都没有讲清楚,而且下面的人的提问其实也很烦躁,你往往不关心那些人的问题。这点在Coursera上就明显得到了改善,你会发现Ng的教学水平大幅度改善了,他会对你循循善诱,推心置腹,由浅入深的教学,在碰到你不明白的单词术语时也会叫你不要担心,更重要的,推导与图表不要太完善,非常细致清晰,这点真是强力推荐;字幕:cs229的字幕质量比Coursera上的差了一截。Coursera上中文字幕翻译经过了多人把关,质量很有保证;作业:cs229没有作业,虽然你可以做一些,但不会有人看。这点远不如Coursera上每周有deadline的那种作业,而且每期作业提交上去都有打分。更重要的是,每期作业都有实际的例子,让你手把手练习,而且能看到自己的成果,成就感满满!

3.实践做项目

学习完了基础课程,你对机器学习就有了初步了解。现在使用它们是没有问题的,你可以把机器学习算法当作黑盒子,放进去数据,就会有结果。在实战中你更需要去关心如何获取数据,以及怎么调参等。如果有时间,自己动手做一个简单的实践项目是最好的。

这里需要选择一个应用方向,是图像(计算机视觉),音频(语音识别),还是文本(自然语言处理)。这里推荐选择图像领域,这里面的开源项目较多,入门也较简单,可以使用OpenCV做开发,里面已经实现好了神经网络,SVM等机器学习算法。项目做好后,可以开源到到 Github 上面,然后不断完善它。实战项目做完后,你可以继续进一步深入学习,这时候有两个选择,深度学习和继续机器学习;

4.深度学习

深度学习:深度学习是目前最火热的研究方向。有以下特点:知识更新快,较为零碎,没有系统讲解的书。因此学习的资源也相对零散,下面是一些资源介绍。其中不推荐的部分并不代表不好,而是在这个初学阶段不合适:

推荐,UFLDL:非常好的DL基础教程,也是Andrew Ng写的。有很详尽的推导,有翻译,且翻译质量很高;推荐,Deep learning (paper):2015年Nature上的论文,由三位深度学习界的大牛所写,读完全篇论文,给人高屋建瓴,一览众山小的感觉,强烈推荐。如果只能读一篇论文了解深度学习,我推荐此篇。这篇论文有同名的中文翻译;推荐,Neural networks and deep learning:这本书的作者非常擅长以浅显的语言表达深刻的道理,虽然没有翻译,但是阅读并不困难;推荐,Recurrent Neural Networks:结合一个实际案例告诉你RNN是什么,整篇教程学完以后,会让你对RNN如何产生作用的有很清晰的认识,而这个效果,甚至是读几篇相关论文所没有的;不推荐,Neural Networks for Machine Learning University of Toronto Coursera:深度学习创始人教的课,最大的问题是太难,而且老先生的吐字有时不是很标准;不推荐,Deep Learning (book):同样也是由深度学习大牛所写的书,但感觉就像是第二作者,也就是他的学生所写的。很多内容都讲了,但是感觉也没讲出什么内容来,只是告诉你来自那篇论文,这样的话可能直接阅读论文更合适。不推荐,cs231n:李菲菲的课程,很有名,专门讲CNN。但是这门课程有一个最大的问题,就是没有字幕,虽然有youtube的自动翻译字幕,但有还不如没有。

5.继续机器学习

深度学习未必就是未来的一定主流,至少一些大牛是这么认为的。传统的机器学习有如下特点,知识系统化,有相对经典的书。其中统计学习(代表SVM)与集成学习(代表adaboost)是在实践中使用非常多的技术。下面是相关资源:

推荐,机器学习(周志华):如果是在以前,机器学习方面的经典教材首推PRML,但现在周老师的书出来以后,就不再是这样了。首先推荐读周老师的书。这本书有一个特点,那就是再难的道理也能用浅显精炼的语言表达出来。正如周老师的名言:“体现你水平的地方是把难的东西讲容易了,而不是把容易的东西讲难,想把一个东西讲难实在太简单”;

不推荐,Pattern Recognition And Machine Learning:当前阶段不推荐。PRML是以贝叶斯的观点看待很多机器学习方法,这也是它的一大特色。但对于初学者来说,这种观点其实并无必要。而且此书没有中文翻译,当前阶段硬啃很容易放弃;

6.开源项目

当知识储备较为充足时,学习可以再次转入实践阶段。这时候的实践仍然可以分两步走,学习经典的开源项目或者发表高质量的论文。开源项目的学习应该以尽量以优化为目的,单纯为读代码而学习效果往往不太好。好的开源项目都可以在Github 里搜索。这里以深度学习为例。深度学习的开源优秀库有很多,例如torch,theano等等,这里列举其中的两个:

推荐,DeepLearnToolbox:较早的一个深度学习库,用matlab语言撰写,较为适合从刚学习的课程转入学习。遗憾的是作者不再维护它了;

推荐,tensorflow:Google的开源库,时至今日,已经有40000多个star,非常惊人,支持移动设备;

7.会议论文

较好的课程都会推荐你一些论文。一些着名的技术与方法往往诞生于一些重要的会议。因此,看往年的会议论文是深入学习的方法。在这时,一些论文中的内容会驱使你学习数学中你不擅长的部分。有时候你会觉得数学知识储备不够,因此往往需要学习一些辅助课程。

当你看完足够的论文以后,在这个阶段,如果是在校学生,可以选择某个课题,以发论文为目的来学习研究。一般来说,论文是工作的产物。有时候一篇基于实验的论文往往需要你写代码或者基于开源项目。因此开源项目的学习与会议论文的工作两者之间是有相关的。

两者可以同时进行学习。关于在哪里看论文,可以看一下CCF推荐排名,了解一下这个领域里有哪些优秀的会议。

下面介绍两个图像与机器学习领域的着名顶级会议:

CVPR:与另两个会议ICCV和ECCV合称计算机视觉领域的三大会,注意会议每年的主页是变动的,因此搜索需要加上年份;Conference on Neural Information Processing Systems:简称NIPS,许多重要的工作发表在这上面,例如关于CNN的一篇重要论文就是发表在上面;

8.自由学习

到这里了,可以说是进入这个门了。下面可以依据兴趣来自由学习。前阶段不推荐的学习资源也可随意学习,下面是点评:

cs229:Ng写的讲义很不错,其中关于SVM的推导部分很清晰,想学习SVM推荐;Neural Networks for Machine Learning:大牛的视角跟人就是不一样,看看Hinton对神经网络是怎么看的,往往会让你有种原来如此的感悟。其实看这门课程也等同于读论文,因为几乎每节课的参考资料里都有论文要你读;CS231n: Convolutional Neural Networks for Visual Recognition:最新的知识,还有详细的作业。国内应该有团队对字幕进行了翻译,可以找找;PRML:作为一门经典的机器学习书籍,是很有阅读必要的,会让你对机器学习拥有一个其他的观察视角;

五.总结

本文的目的是帮助对AI领域了解不深,但又想进入的同学踏入这个门。这里只说踏入,是因为这个领域的专精实在非常困难,需要数年的积累与努力。在进行领域学习前,充分认识自己的特点,制定合适的学习方法是十分重要的。

首先得对这个领域进行充分了解,培养兴趣。在学习时,保持着循序渐进的学习方针,不要猛进的学习过难资源;结合着学习与实践相辅的策略,不要只读只看,实际动手才有成就感。学习某个资源时要有充分的目的,不是为了学开源项目而看代码,而是为了写开源项目而看;不是为了发论文而写论文,而是为了做事情而写论文。

本文来自公众号:“大技术技术汇”,guanzhu了解大数据行业学习大数据技术和学习路线,还有免费学习资料放送。

如果一个学习资源对你过难,并不代表一定是你的问题,可能是学习资源的演讲或撰写人的问题。能把难的问题讲简单的人才是真正有水平的人。所以,一定要学习优质资源,而不是不分青红皂白的学习。最后,牢记以兴趣来学习。学习的时间很长,过程也很艰难,而只有兴趣才是让你持之以恒,攻克难关的最佳助力。

B. 相对于男程序员,女程序员的优势在哪里

自古妇女能顶半边天,在 IT 界,女生的力量也越来越强大,杰出的女性闪耀在我们身边。

有人说:世界上有两种程序员,一种是程序员,另一种是女程序员。

由于工作本身需要极大的兴趣和热情为支撑,所以女性程序员在 IT 从业总人数中还是相对较少,先让我们为她们点赞,感谢每一位献身给 IT 的女生。

网友4:“白天一个样,晚上一个样,白天在办公室各种严肃脸,从不开玩笑,也不理解我发去的玩笑,回话时正儿八经,能简就简。常见的回答是“等晚上”。”一看就是白天高冷晚上高热的女司机。

网友5:“前提是要有一个女朋友”,这个就算了吧,来捣乱的。

网友6:“看完以上答案,默默取消让女票和我一样读CS的念头”

C. java书籍推荐有哪些

Java的好书推荐
第一部分:Java语言篇
1.《Java编程规范》 适合对象:初级、中级
介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错。
2.《Java编程思想》 适合对象:初级、中级
介绍:豆瓣给出了9.1的评分,全球程序员广泛赞誉。有人说这本书不适合初学者,不过小编认为作者并没有对读者已有的知识经验有过多要求,只是要求读者需要知道基本的程序语言。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,需要花时间细细研读。
3.《Java核心技术:卷I基础知识》 适合对象:初级、中级
介绍:官方机构图书,备一本总是没错的。这本书比较全面也通俗易懂。可以当字典的功能来用,学习入门必备。
4.《Java数据结构和算法》 适合对象:初级、中级、高级
介绍:这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。
5.《Java与模式》 适合对象:中级、高级
介绍:难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。
6.《SCJP学习指南》 适合对象:初级、中级
介绍:官方考试的必备图书,对检验自己的Java学习情况很有帮助。这本书特别适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题。一些工作多年的工程师都会在里边遇到一些不会做的题目。
第二部分:中级进阶篇
1.《重构:改善既有代码的设计》 适合对象:中级、高级
介绍:清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以及改善。大师的杰作,让你明白软件是一步步改进的,不是一蹴而就的。
2.《XML入门经典》 适合对象:初级、中级、高级
介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。里面不少东西还是用到的。
3.《jQuery基础教程》 适合对象:初级、中级、高级
介绍:从这个开始学习jQuery才是根本,不然以后遇到的很多奇怪问题不知所以然。jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。
4.《JavaScript权威指南》 适合对象:初级、中级、高级
介绍:一本从全新视角和层次来介绍JavaScript的参考书,填补了市场的空白。是学习js的必备参考工具书之一。
5.《代码整洁之道》 适合对象:中级、高级
介绍:讲述了一系列行之有效的整洁代码操作实践。软件工程的理想编码是无数人编出来的代码像一个人写的,这本书当作规范就不错。
第三部分:高级篇
1.《Enterprise JavaBeans 3.0中文版》适合对象:中级,高级
介绍:EJB技术在大型系统中使用,主要有银行等金融机构。是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。结合JavaEE容器使用,开源的有JBoss,商用的有IBM和Oracle支持。
2.《Java并发编程实践》 适合对象:中级、高级
介绍:这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。市面上并发编程的书比较少,这一本推荐阅读。
3.《Hadoop权威指南》 适合对象:中级、高级
介绍:云计算必备图书。作为分布式计算的工具,Hadoop目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。
4.《Java消息服务》 适合对象:中级、高级
介绍:深入浅出地讲解了JMS1.1规范的底层技术、Java类和接口、编程模型及其不同实现等Java消息服务(JMS)和消息传送机制关键技术。讲解简单明了,偏向于如何使用以及设计的一些原则。排版相当不错。
来源网络老炮java 整理 侵权联系

D. 女生做程序员是什么体验

本人女,在IT行业待了有快20年,现在仍然在这个行业,暂时也没有换其他行业的打算。

时至今日,我仍然在技术领域,不是销售那种角色。

在中国,女生在IT界的技术领域待这么久的不多吧?

先给结论吧,那就是:我不后悔!

如果你们有兴趣,我会尝试写一下在IT这么多年的感悟和自己的心态变化,希望能给IT圈的小辈们(以我的年纪,估计可以这么说了),一点过来人的建议。

另,真的希望能有IT圈的女生看到,避免和我一样的困惑。

作为一个理工女,谈不上任何的文字功底(coding算么?),这个回答我就想到哪儿写到哪儿吧,大家就不要挑剔我的文笔了,呵呵。

开始唠叨之前,有几句话说在前头:

1.我所有的工作经验都来自外企;

2. IT行业和我年轻刚入行的时候(?b汗)已经有了巨大的变化;

3.中国IT行业这20年的大发展是我从业经历的大背景;

以上因素,请一定考虑,再来分析我的经验是否还适用于你。这世上没有最好的建议只有最适合你的建议,而最适合你的建议一定需要你自己的分析和判断。

看了大家的评论,还有一些给我私信的朋友,我想要先澄清一个事情,那就是:

搞IT不等于程序猿!

IT这个行业太广泛了,虽然写代码编程占了其中很重要的一个部分,但是真的不是全部!

在IT行业有很多不同的工作角色。以下是我个人的一个职业生涯工作角色的变化:

最开始是一个程序猿,是的,我入行第一份工作确实就是coding,然后做企业级产品的硬件安装工程师,然后是做软件安装工程师,接下来是做解决方案工程师,再然后是系统架构师,再然后是解决方案顾问,现在我在一家外企IT公司负责公司相关产品在几个重点行业的技术支持工作。

好吧,你看出来了吗,我除了入行的最开始写了两年程序,其他的职位都不是程序猿!

大家不要再把IT局限到写程序了好么,有大把的工作岗位等着你们哪!

什么是企业级产品?拜托,IT并不是只有PC+平板这样的设备的,真正的企业用户,他们的机房里有大量复杂的、专为企业用户设计的专用设备,比如这样:

(图片均来自网络,仅是举个栗子,如有不妥请告知我删除)。

而我做软硬件安装工程师时的工作状态就类似如下:

说回主题吧,干IT后悔吗?

实话说,从来没有过!但是有过无数次的动摇、迷茫、自我否定,扪心自问我一个如花似玉的好姑娘为啥要干IT?!不过每次理性的结论都是:干IT还是挺好的!

先吐槽吧,既然问出这个问题,肯定是因为干IT有无数的坑,这些坑包括但不限于:

1.忙!绝对的忙,不管你在IT圈的哪个岗位,我就没见过不忙的,技术、销售、程序猿自不必说,就连IT公司的行政、人事都是个顶个的忙。这种忙不分白天黑夜、不分平时假日、不分男生女生、不分黑人白人。从一睁眼就如同发条般转个不停,忙到没空吃饭、喝水、上厕所,忙到没工夫陪女友老公父母孩子,相信我,这是绝对的常态。

2.累!人可以打鸡血,不过搞IT的人那么多,也没那么多鸡啊!所以啊,这么一通忙,又没有鸡血,累是必然的??W畈锌岬募影喟?ㄊ敲刻彀胍菇?突Щ?康魇陨璞噶??恢埽?拱?ㄎ?思际跬侗炅??2个小时不睡觉,咖啡杯堆成山。累到能准确的感觉到自己各个脏器的位置,心脏跳的都好像不是自己的了。常常有各种IT人士猝死的新闻,在我听来,完全是随时可能发生的事情。

3.要不停的学习!IT也许是各个行业中更新最快的行业了,不夸张的说,你每天都必须学习,你才有可能正常工作。程序猿要学习各种语言、开发方法,产品人员要学习公司新产品的各种特性,熟记各个参数,还要掌握市场的动向,友商的产品情况,除了产品还要了解你负责的行业情况,客户在用什么、需求是什么,等等等等,不胜枚举。一句话,在IT,一天不读书,智商变成猪!

好吧,吐槽时间结束,看看干IT那些让你无怨无悔的原因:

1.能养家糊口:这个必须要放在第一位的来说,那就是干IT能养活自己。在中国,如果单看工资收入,金融和IT绝对是排在前几位的行业。IT行业相对其他传统行业来说,工资水平还是处于较高的水平,更别说你幸运的投身到一个初创公司获得股权期权等等,IT行业的快速发展给每个从业者带来的是看得见摸得着的利益。我想,这也就是IT圈能吸引这么多有为青年加入的原因。

2.公平的竞争:是的,IT是一个相对其他行业更为公平的平台。所谓公平就是,你的能力决定一切。你再有背景,有再牛的爹,能不能写出源代码才是最重要的好么?!广大的青年才俊们,只要你有真本事,就不用担心自己在这个行业的前途。

3.视野开阔:IT行业发源于欧美,汹涌澎湃的席卷全球。干IT你看到的世界不再仅仅是你的公司、你的产品、你的国家,你每天都在和不同国家、地域、行业的人和事打交道。所谓着眼中国,放眼全球。

4.保持年轻:在IT圈里混,每天都在接触新事物,我觉得这是区别于其他所有行业的一个重要特点。每天有各种层出不穷的新产品、新思路、新方法、新创意呼啸着来到你面前。如果你有一个开放的心态,愿意去了解和探究这些新鲜事物,你会永远保有自己的好奇心,永远有一颗年轻的心态。相信我,一定要保持对世界的好奇心,这样你才不会在进入中年之后变成一个庸庸碌碌,浑浑噩噩的人。

5.能力的提升:这个说起来很含糊,能力分为很多种,在IT最能提升什么能力或者最应该提升什么能力呢?第一,学习能力。你必须不断的学习并且给你的学习时间并不会很多。在短时间内快速的掌握工作相关的各种技术技能,这一种能力是让你在IT圈甚或将来在其他的什么行业圈里都会受用无穷的能力。举个例子,我在头两年的coding生涯中,用过三种不同的编程语言,除了大学就学过的C++,另两种语言相当冷僻,一种是银行系统常用的开发语言,一种是和Mainframe大机环境的通信语言。当时要用这两种语言完成客户要求的系统编程,完全从零学起。看教程、研究别人的程序、不断的尝试编程、测试、debug,在短短半个月的时间掌握所有的编程方法,在客户要求的时间内完成系统的编写。这样类似的情况,在整个IT生涯中屡次出现,不会有人等着你慢慢成长,这个行业需要你快速的从某个领域的菜鸟变成大拿;第二,时间管理能力。做IT的忙前面已经说到,你每天、每周都面临大量的工作,再加上自己的学习计划,正所谓是千头万绪。每一个能在IT行业如鱼得水的人,一定是能管理好自己的时间和事情的人。高效率的工作绝对是搞IT的基本功。如何高效率的工作,大家可以了解很多优秀的时间管理、日历管理的方法,选择最合适自己的方法和工具;第三,理性思考的能力,IT是典型的理工科范畴,拥有理性思维更是基础之基础。而长期浸淫在IT圈,你的理性思考的能力会得到极大提升。理性客观的看待任何问题,在寻求解决方案时不掺杂任何的感性思路。拜托,1就是1,0就是0,没法感性,客户的系统就在那儿停机呢,赶紧的解决问题,任何的退缩、害怕、犹豫统统的先让到一边吧。

6.成就感:基于以上种种的能力基础,我相信你在IT界一定能站住脚跟。能力的成长、视野的开阔、开放的心态,这些会使你的IT职业生涯能有一个长足的发展。开发出客户满意的源代码、为客户提供一个复杂的IT架构设计、解决了客户一个紧急的系统故障,这些成功的背后,你会收获满满的成就感。某年春节,正是某客户业务最繁忙的时候,其汇款系统却在这个时候掉链子,响应速度奇慢,客户在柜台前排起了长队。万分紧急中,我们的团队和客户协同工作,花了几个小时的时间定位故障,果断排除,在次日恢复了业务的正常工作,客户的感谢之情就差给你跪下了。这种成就感爆棚的事,在这个圈子里还是时常能碰到的。

综上,按照马斯洛需求层次理论,干IT不仅能满足生存要求,同时还能满足获取尊重、自我实现和自我超越的需要。即使你在疲累的时候会感到一丝迷茫,但是冷静的思考过后我相信你还是会选择继续从事这个行业。

以上是我自己自说自话的结论,回头想想,也许是我个人对于IT这种理性的行业有爱好,所以能列出这些好来。如果你真正的爱好是别的行业,也许我上面说的一切都不适合你。这年头,男女都怕入错行。一定要选择自己喜欢的,至少不讨厌的事情来作为职业的选择。否则,即使勉强自己做,会是无尽的痛苦。

哎呀,码字太累了哇!好久没写这么长的文章了哇。给客户做架构设计主要是画图,也不用写这么多字啊!

看到评论里很多问家庭状况的,正好也是想说给IT女生们的话,就一并再唠叨几句吧。

我自己觉得还算做到了work life balance吧。简单一句话,人生所有的大事都没有耽误,嫁人、生子、买房、买车,有一个无条件爱我、支持我的老公和儿子。

老公也是IT界人士,以我彼时的忙碌和宅的程度,也只能认领一个圈内人士了。有时候想想,我老公也挺悲惨的,就是完全糊弄不了我!说什么我都明白,完全无法体现其IT人士的高人一等啊。哈哈,开玩笑啦,下面开始说正经的:

1.在工作的时候你就是男人。听说过那句话吧,IT圈女人当男人使,男人当牲口使。怎么把女人当男人使?我觉得其实最重要的是要有理性的思维方式。在工作中尽可能的用理智来思考问题。不是不能有感性,但是感性不能影响工作中你对问题的判断。见过太多在工作中情绪控制不住、使小性子的姑娘,其后果只能是自求多福了。还有,“我是女生,你们都要照顾我,让着我”这种思想,怎么说呢,只能让你自寻烦恼。不是说IT圈的男人都是冷血。这么多年搞IT,不管是同事还是用户,我得到过很多帮助,大到帮你搞定一个项目中标,小到帮你搬一下机器,在很多节骨眼上多亏了这些帮助才能过关。但是但是,你不能总是靠人家的帮助活着啊,没人会一直一直满足你的求助的。是你的工作,你必须要自己去把她完成啊,要是习惯了事事都求人,最终不会有人来帮你,你就自己烦恼去吧。独立、理性、踏实、肯干是步入IT圈的必要条件。

2.找个什么样的老公。我不是婚姻心理大师,只是想谈谈自己的一点感想。前面说我老公也是搞IT的,我能获得家庭的完全支持,一个很重要的原因就是他也是这个圈里人,他完全理解我的工作!我的压力、困难、需要加班出差等等一切工作上的问题他都能感同身受,不会有任何的不理解。(我对他也是一样啊)。由此我想到,你要是想做一个成功的职场女性,你的家人,尤其是你的另一半,必须能理解你,支持你,你们能有一种partner那种互相扶持的关系。当然这一切的前提是爱,你在挑选IT这个工作的时候,我强调必须是你喜爱的。选老公,就更是了。在此感谢我的老公对我无条件的爱,无论我有多么疯狂的点子,有些在他看来是不可理喻的想法,最后都支持我去实现它们,在它的支持下,我一个人出去旅行、学MBA、每天健身、参加马拉松、去潜水等等。想要个精彩的人生吗,先找个好老公吧!尤其是IT女生,要是你老公不理解你,那日子就太难过了。

3.管理好自己的身体。女生搞IT,对身体的消耗比男生大的多。女生天生的生理特点在面对IT这个行业来说,劣势明显。虽说女生当男生使,但是我们也要自己照顾好自己不是吗?怎么照顾?选择优质的电脑桌椅保护自己的腰椎颈椎;多站起来活动,不要一坐一上午;多喝水,少喝咖啡和碳酸饮料;每周至少健身3次,保持身材和活力;尽量规律的生活,合理安排自己的时间,提高工作效率,能不熬夜就不熬夜;不要因为不规律的生活暴饮暴食;说起来感觉很唠叨是吧,到我这个年纪就会觉得都是真理了。

4.注意自己的外貌。不是说要姑娘们花大把精力打扮,但是要做到自己的服饰和装扮符合你的身份和环境。如果今天我要泡一天机房,那么要穿适合活动的服装,抹上隔离霜(吐槽一下,泡一天机房出来脸都是黑的好不好!);如果今天是见客户,要穿着职业正装,business formal。你要穿个毛衣、牛仔裤的啥去,也就不要怪客户小瞧你吧。不过,某次见国内互联网的客户,一个部门经理,人家穿着个拖鞋就出来了??.顿时觉得自己穿西服好热。所以穿什么见客户,还要看是啥客户。除了互联网的客户,我都是要穿好西服、衬衫这些服装的。

5.最后最后,少看微信、微博上的那些段子吧,不要让自己被这些碎片化的信息充斥。买个kindle,有空多读读书,至少可以让自己不那么浮躁。总之一句话,作为女生,一定要保持自己独立思考的能力。

推荐一本给女生的书《Lean In 向前一步》。个人极推荐,每个职场女生我觉得都应该看看。我不多说了,不想影响你们自己的判断。

还有人私信问我,想回家做家庭主妇行不行。当然行啊,选择留在IT圈还是回归家庭,只要是发自你内心的选择,我都支持。最重要的一点,你要有选择自己梦想生活的能力!

(ps:码字真的很辛苦,希望大家能够点个赞,关注一下,小编会继续努力更新哒)

着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

E. 谁有程序员的情书

1. char *MySweetheart = You; /*只要我人生的程序不终止,你的名字一直都是我的心事。*/

for( int i = Mylife.AnEncounterWithYou; HeartBeat->next != Stop; ) /*自从那天与你邂逅,我愿往后生命的每一天里都有你的烙印,至死方休。*/
(YourLover() != Me) ? SilentGuard(You) : DeepLove(You); /*若你不爱,默默守护,不打扰是我的温柔;若你倾心,爱你是我一生的荣光*/ /*致:暗恋多年的你*/
2. if(you.hand==cold&&weather;=winter)//如果冬天里你的手是冰冷的
giveyoulove(myhand.temp,yourhand.temp);//将我手上的温度全部给予你
return you.happyface; //换取你幸福的脸庞
3. char TureLove[]="Bright future"; //好的爱情就是你确定你们在一起有一个可以预见的美好未来
char *p=TureLove; //真正的爱人是可以为你引路,让你越来越明确自己的方向,变成一个前途光明、越来越优秀的人
printf("A great Lover is one who will lead you to a %s",TureLove); //爱是的最深处不是讨好和给予,而是为一个更优秀的他引路。
4. long lovetime;//定义一个变量:我们的相爱时间
if(love==true)//如若我们之间是真爱
for(lovetime=1;lovetime>=1;lovetime++) //那么从我们相爱的那一秒起,我们注定将无限循环,执子之手,与子偕老!

F. 招聘人手:网站编辑,百度竞价,美工,程序员怎样提高在客户心中的地位

刚进入公司的程序员心情是复杂,浑身干劲儿的同时有对未来生活的憧憬,也有对陌生环境的恐惧,更有进入新公司的不知所措和迷茫。太多人只是知道要努力工作再工作,从而忽视了我们应该得到什么这个问题。

在很正规的公司里,比如大型企业,因为有多年的积累和良好的法律意识,针对每位入职的新员工会有套严格的流程。有些不太正规或者说制度不完善的公司则不会有很严格的流程,来保证我们得到应该得到的。无论身处哪种情况,我们都应该清楚自己的权力和利益,要有意识地加以维护。

我们应该得到的东西包括:

l 劳动合同书

劳动合同是劳动者与用人单位确立劳动关系、明确双方权利和义务的协议。劳动合同法规定,在用人单位与劳动者建立劳动关系的同时,应当订立劳动合同。

在此要特别提及劳动期限,劳动合同期限是指合同的有效时间,它一般始于合同的生效之日,终于合同的终止之时。《劳动合同法》第十九条规定“劳动合同期限三个月以上不满一年的,试用期不得超过一个月;劳动合同期限一年以上不满三年的,试用期不得超过二个月;三年以上固定期限和无固定期限的劳动合同,试用期不得超过六个月。”

l 竞业禁止协议

竞业禁止协议又称竞业避止协议,是对与特定的经营内容有关的特定人的某些行为予以禁止的一种制度。竞业禁止的限制对象负有不从事特定竞业行为的义务。说明白点,就是从A公司离职,不能去与A公司有竞争关系的公司供职。

根据《劳动部关于企业职工流动若干问题的通知》第二条规定:“……用人单位也可规定掌握商业秘密的职工在终止或解除劳动合同后的一定期限内(不超过三年),不得到生产同类产品或经营同类业务且有竞争关系的其他用人单位任职,也不得自己生产与原单位有竞争关系的同类产品或经营同类业务,但用人单位应当给予该职工一定数额的经济补偿。”从上述规定看,是否向劳动者支付相应的经济补偿是“竞业禁止”条款是否生效的前提条件,竞业禁止条款所限制就业的期限最长也不得超过三年。

l 职位说明书

职位说明书(也称职务说明书,岗位说明书)是通过职位描述的工作把直接的实践经验归纳总结上升为理论形式,使之成为指导性的管理文件。一般职位说明书是由一线经理来制定的,人力资源经理起到辅助的作用,主要是提供制定职位说明书的框架格式,并提供参考性建设建议。通常职位说明书为一式三份,一份为用人部门负责人保管,一份为员工自己保管,一份由人力资源部备份保管。

入职之后我们拿到的职位说明书会比公司在网站上登的招聘启示更详细、更有针对性,更准确地描述了我们之后的工作情况。

l 员工手册

员工手册主要是企业内部的人事制度管理规范,包括:上下班时间、加班及休假制度、周报制度、各种奖励制度、公司环境及周边环境介绍。好的员工手册是新员工的导师,它能让我们迅速了解公司和公司的相关制度。不好的员工手册,就像一张废纸。

试用期中的两种结局

进入公司之后,我们依然有两种可能的结局,要么安心好好干,要么感觉不对尽早离职。我见过一家公司,成立十年了项目做了无数,即没有文档,也没有保留完整的源代码,公司研发部没有在公司工作超过1年的程序员,这种公司不留也罢。

人有可能会说:“现在工作多难找啊!还不老实地待着好好干?”(这么说的其实多是我们的父母)。在他们的时代毕业包分配,一份工作可以干十几年、几十年,甚至一生。那时候强调的是螺丝钉的精神,被高度物化了,放在哪里就安心地干,把个人性格和特点压缩到很小的范围里,没有多余的空间,也没有多少自我,只要服从就OK了。好在时代在前进,与以前相比较,我们有了更多选择的权力。对公司、对工作我们都有权力说不,有两种结局自然也可以理解。

好的标准在之前的章节里提到的衡量第一份工作的三个法则:是否具有良好的企业文化、是否能为今后的履历加分、是否有不同的工作任务。

好的工作都能满足或者基本满足这三项原则,我们自然也会选择留下。再次祝贺一下自己吧!

可现实是残酷的,我们极可能遇到的情况基本不符合或者完全不符合这三条标准,比如:入职当天我们被丢进角落没人管,任何资料都没有拿到;被介绍给项目组成员后开始工作,接过来的代码因为没有注释而面临全部重写的局面,外加项目进度紧张,项目经理对我们大喊着要违约责任。怎么办?怎么办?要不要一走了之,还是坚持下来??

对这种负面情况的发生,请先作好心理准备,当然也不必急了辞职,用下面我提供给大家的三条标准再次衡量这个我们没那么满意的环境再做决定:

l 先看是否有引路人

绝大部分事情的成败都取决于人,项目再好人不行,最后也是没戏唱。进入公司之后,被安排进项目组,我们要有能力第一时间发现组里优秀的人,无论是项目经理还是部门资深同事。那怕只有一个,作为同组成员我们有向他们请教并得到指导的优先权。优秀的程序员和水平一般的程序员之间的差距可以从代码的质量上体现出来,有时候相差十几倍甚至几十。除了软件行业,再没有其它的产业有这种特点。从优秀程序员身上学习,缩短我们从菜鸟到高手之间所需的时间。菜鸟程序员成长到能独立完成项目要五年以上(根据项目规模和行业而定)真能如愿尽快提高自己的话,就等于延长了我们自己的寿命。别人需要5年达到高度,在高手的指点之下,我们可能只工花费3年或者更短。只要有值得我们学习人,那选择留下。毕竟工作机会可以再找,但英雄难觅。

l 再看项目实际情况

“项目本身没有市场价值,没有积累不能产品化,让公司走上良性循环”是最大的问题。

如果组里、研发部里没有能给我们引路的人,那接下来我们要看的就是项目的情况。相当比较的项目实际情况是这样的:代码没有注释、需求不明确、时不时有人跳出来瞎指挥,完全一团糟糕。话实话吧,这些都没什么,没有注释,代码可以推倒重写,需要不明确可以再和客户沟通把它明确,有人跳出来瞎指挥自然也会有人跳出来把这种人灭了。

但是,如果项目本身没有市场价值,没有积累同时也不具备产品化的可能,那基本上就没什么可看的了。

没有好导师、项目没前途的情况下,我们90%是应该拍拍屁股走人的。

l 最后看公司里的其它组

真满足以上两种情况,作为程序员应该也算是基本绝望了,可以离开了,但请先别急,还请再看看。我们能进入这家公司应该说双方都付出了成本,无论我们之前是否在职,是否因为这家公司而放弃了之前的工作(希望下次能提前擦亮眼睛),也不管是经过几轮面试进入的公司,我们都付出了时间和精力,在放弃之前务必要再做次努力,给自己也是给公司、给别人机会。

请再看下公司其它项目组。

如果只是我们运气不好,只是暂时被分在个没有高手、项目也没前途的组里,而公司有些组高手如云,项目前景可观,那就先安下心,之后尝试调组。当然,即使是这样也要更新我们的简历,给其它公司投简,开始找新机会。一旦发现转组(岗)无望,手里的项目又让我们难以忍受,那就没什么可犹豫的了,尽快离开。

最差情况是以上“三看”公司都不够看的,那我建议马上闪,集中精力找更适合自己的工作。因为成就感不能被满意,在这种差公司里连骑驴找马都是种痛苦。

进入新公司之后,如果整体感觉如之前预期的还不错,接下来我们要做的就是尽快确实立自己在项目组之中的位置了。

在工作中、生活中每个人都想实现自己的价值。即使是最初级的程序员,也想对组织、对团队有价值,以证明自己并非可有可无。如果公司有我们和没有我们对于项目来说没有两样,那就算领导不请我们走人,很多人自己可能也会去寻找新的机会,能证明自己的机会。除了金钱之外,我们还需要其它人的认可,以得到心理方面的满足。

如何让我们自己显得有价值?有价值的重要表现形势之一就是自己工作在团队中的不可或缺性,说白了吧,就是每个人都希望项目离开自己马上停工、公司离了自己马上关门。很多人嘴上都说,项目组离开谁都会运行,但不可否认,内心的深处,我们还是希望自己不在的时候项目停转,至少是转的慢些。

用以下简单的三个步骤,就可以逐步确立和稳固我们的位置。

l 苦干加巧干

很久之前,一位研发总监对我说过,他认为:每名研发人员的试用期都应该是至少一年,无论劳动合同上是怎么签的。因为只有工作了一年甚至更长时间之后,无论是公司还是个人才能比较准确地双方在彼此心中的位置。公司知道员工的能力如何,适合开发的项目有哪些,处世风格是怎样的;员工有判断 司的前景如何,公司能给自己提供什么样的发展空间,自己有在这里质量多少。惟有如此,员工有才有资格说自己在公司计划如何发展,要知道在此之前可能很多人并不了解公司的真实情况 。

刚进入公司的成长期里,我们要苦干加巧干。很多人在这个时期,疯狂加班,有的还为了项目连续工作几天,大多数情况下结果并不会像他们预计的那样好。因为个人精力有限,连续工作只会降低工作效率,而且以脑力劳动为基础的开发工作,也不是投入的时候越多效果超好。干的好,还要有了解项目的前提,成长期里我们并不十分了解项目。在不了解项目的情况下盲目往前冲,结果很可能是在错误道路上越走越远。错误的付出只能让我们离正确的结果越来越远。

苦干加巧干,才是成长期的正道。越是压力大的时候,越是应该停下来总结一下自己学习的知识 ,纠正自己犯过的错误,多与同时沟通了解项目情况 ,多向项目经理请教开发时我们遇到的问题。

苦干是为了积累,巧干是为了更快的提高。

l 阶段性呈现成果

初入职场者,尤其是研发人员容易犯的毛病就是:希望全部结果出来之后再向领导呈现,小到一个功能模块,大到整个项目。他们急于证明自己的能力,即我能做XX项目和开发。

这种情况有个很形象的比喻,就像我们做某个功能或者某个项目时,开始只跟客户口头了解了需求,第一次确认需求之后就闷头开始做开发,100%完成之后拿给客户看。做过项目的人都知道,这么干结果是什么,我们呈现的99%不是客户想要的。客户会报怨说,开发出来的东西并与需求相关甚远。

是开发的过程之中,开发人员不跟客户沟通导致了这样的结果。

我们的上级从某种角度上说就是客户。做项目的时候他们提出了需求,我们来开发,想有好的结果要做到阶段性呈现,而非只汇报最终结果。,到最后大错已经铸成,到最后什么都晚了。相同出发点向同相方向延伸的两条线,如果夹角是1度,开始时两条线的末瑞相距小于一厘米,随着线的不断延伸两条线的末瑞差距也会越来越远。我们做开发也是这样,开始时可能由于理解上的问题,与客户的相法有点差距,如不与客户沟通做及时调整,开发结果可能与客户需要之间就是天壤之别。

阶段性地让上级看到我们所做的东西,在及时纠正错误的同时,我们也会逐步得到他的认可。

l 有成绩要用数字说话

我解聘过一个程序员AA,此人在试用期里,因为干的不好所以被劝退。项目经理对我说,AA入职之后没有努力熟悉项目情况之外,上班除了聊天就是聊天,根本没有工做状态,也看不出具体水平和能力。我于是找到了AA当时的对话如下:

Leo:“在公司工作了1个月了,你认为自己干的如何?”

AA:“我干的不错啊,挺好的啊!”

Leo:“有没有事例能佐证呢?”

得到的只有沉默,随即我代表公司与他解除了劳动关系。相信,如果当时AA能举数字,比如:到公司之后熟悉了项目情况,开发了多少功能,下一步我准备怎么做,接着说出工作中的成功果,以此证明自己的实力,那我一定会帮他在部门经理处争取一个机会,继续试用。但很遗憾,他什么也说不出。这是因为他没做什么,而不是因为不擅长沟通。关于沟通,我之后会详细分析,内向和不擅长沟通是两回事,很多人把这两件事搞混了。

作为程序员,在刚进入公司,没有得到公司认可的情况下,能否能用数字把自己的成绩说清楚,是成功与否的关键。这很大程度上决定了,我们用多久能竖立自己在公司、在项目中的地位。

隔一段就总结自己的收获,写了多少行代码,记录下来随时备查,即为了给领导说明问题,更重要的是能让我们自己感受到成长的快乐。

G. 长大想当程序员 学习编程线路很迷茫

我越来越担心我作为一个C++程序员的未来。

恍然间,发现自己在这个行业里已经摸爬滚打了五年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过程中却遭到了重大的挫折。详细过程我就不再叙述,在此,只想给大家说一说被拒绝的原因,看看大家有没有相似的经历,和类似的感悟。面试官对我的答复大致是这样的,我们不需要熟练工,我们需要在某领域拥有超过常人的积累认知,和拥有整套完整思维模式和优秀认知事物能力的人…他很诚恳地告诉我,你还年轻,真的应该好好地静下心来,深入地研究一些东西,自己写一些东西,而不是这也用过,那也知道,但是多半都是局限于仅仅见过,会用,却从来没有认真思考过其代码背后蕴含的思想,更少有人研究过源码,进而体会大师们在某些问题的解决上秉承的思想和思维的风格。个人感觉,这也算是国内大部分程序员最让人悲哀的地方了,当然这也与外界浮躁氛围的蔓延不无关系。不了解这一行的人总觉得程序员都是代码民工,如果自己也认为自己是敲代码的机器的话,我诚恳地建议您尽早转行吧,也许我这么说会得罪伤害一些同行,毕竟转行对任何一个人来说都是有相当的风险和挑战的。不过这绝对应该是善意的忠告。相反,我强烈地认为,程序员应该是最有活力和最有思想的一个群体,只要你不肯让自己浮于表面,更重要的是,必须勤于思考。如果你认可我这句的话,就请您继续往下看看我的感慨,否则,那就希望您好好利用好自己的时间做您最需要做的事吧。

由于面试中被问到线程池,TCP/IP网络的时候,让面试官问得人仰马翻,哑口无言,所以回来之后洗心革面,下决心要把线程池,TCP/IP好好研究个明白,再也无法容忍自己只知其一不知其二了。

清醒的认识自己

我一直担惊受怕,过去,可能是因为我年轻,但现在,我已经不是那么年轻了,我仍然发现有很多事情让我害怕。

当年纪越来越大后,我开始变得不能加班。我开始用更多的时间和家人在一起,而不是坐在计算机前(尽管这样,她们仍是抱怨)。我在本地教育委员会社区里提供一些帮助,还组织开源兴趣小组参加活动。

我在思考,为什么以前会把如此多的时间全部用在编程上。大量的编程。那是我渴望深入研究一个类库,一个框架或一门技术。

现在的技术的学习曲线的增加,让我的忍耐性越来越低。各种新技术,因为新奇让人兴奋,但最终变成一场场争论。我越来越无法忍受这些充满市场宣传我对技术看重的是稳定,清晰。

据不完全统计,截至目前(2018.07)为止,中国C++程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,C++程序员面临的竞争压力越来越大。那么,作为一名C++程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。为了帮助大家少走弯路,我总结出一个C++程序员的工作2-5年成长路线图。

加油,选好的路一定要坚持下去!!!守得云开见月明,加油!!

H. Erlang游戏程序员换语言转行有些什么建议你会如何选择

如果你是转行学习程序编写开发,最好依据目前的行业发展前景来选择,终究时长比较有限,假如想象科班一样从C语言逐渐,彻底是不太可能的。转行最要注重的是,行业发展前景和自身的时长要努力做到短期内性价比高转行,用最快的时间转行赚越来越多的钱,选择学习培训的确是非常好的选择。选择培训学校必须留意,如今的线下推广组织有自营和加盟代理的,所说加盟代理便是掏钱给总公司,总部给学习培训原材料。目前市面上许多知名的组织全是可以加盟代理的,有时加盟代理的培训机构或是视频上课的,而不是教师中间到当场。我并不点评这类学习方法怎样,大伙儿可以自身评定。

最先推存你学习Java,现阶段Java开发在任何的大数据技术里边,不论是需要量,或是关注度全是蛮出色的一个技术性方位,许多想进到开发领域的好朋友,都想选择以Java做为开发方位。并且由于Java做为一个后面开发的流行选择,从业Java开发一段时间以后,针对其余的新技术的了解和理解,都是有非常大的协助。换句话说学精了Java,对学习别的的技术性会出现非常大的推动。此外假如自身感觉Java难,还可以学习h5那样的前面课程内容,相对而言很容易了解,现阶段的要求也较为受欢迎,可以考虑到。

I. 逻辑思维对程序员重要吗

很重要,在项目实际开发中逻辑思维是我们的引路人,他的灵活性直接影响我们开发的效率,对我们来说非常重要。

阅读全文

与程序员引路相关的资料

热点内容
linuxkerberos 浏览:124
暗黑破坏神3如何下载亚洲服务器 浏览:951
linux中ftp服务器地址怎么看 浏览:436
ansys命令流do 浏览:122
单片机6502 浏览:765
自助洗车有什么app 浏览:937
程序员离职率多少 浏览:322
程序员那么可爱电视剧今天没更新 浏览:337
我的世界地形算法 浏览:343
台湾dns的服务器地址云空间 浏览:288
音乐喷泉软件要什么加密狗 浏览:501
androidhttpmime 浏览:774
威科夫操盘法pdf 浏览:981
算法可以用图表表示 浏览:949
山西太原php 浏览:275
常用cmd网络命令 浏览:677
hashmap7源码分析 浏览:899
搜索引擎原理技术与系统pdf 浏览:362
运动估计算法python 浏览:861
java正则1 浏览:540