① 作为程序员,最常上的网站有哪些
推荐十二个值得程序员和想成为程序员的你,每天一看的网站:
1. GitHub — 开发者最最最重要的网站:https://github.com
这个不用多说了吧,代码托管网站,上面有很多资源,想要什么轮子,上去搜就好了。并且呢,上面有很多优秀的程序员,你可以在这里交到很多好朋友喔。
2. 掘金 — 帮助开发者成长的技术社区:https://juejin.im
现在国内优质的开发者交流学习社区,可以去看大佬们写的文章,也可以自己分享 学习心的 ,与更多开发者交流。认识更多的小伙伴儿,提升个人影响力。
3. 算法学习 LintCode:https://www.lintcode.com/
算法学习网站,上去每天刷两道算法题,走遍天下都不怕。
4. 算法学习 LeetCode:https://leetcode.com/
也是算法题网站,同上。
5. 算法学习 LeetCode 中文站:https://lingkou.com/
这个是上面算法题网站的中文站点,英文不好的可以刷这个,英文好的推荐去刷英文网站的题目,还能提升英语能力。
6. 牛客网 — 面经和刷面试题:https://www.nowcoder.com
各个公司的面试题和面经分享,找工作前认真刷一刷,一定会有很大收获!拿到心仪的 offer!
7. Web 开发练习题:https://www.freecodecamp.org/
这是国外发起的一个 Web 开发学习的网站,从简单到深入,一步一步带你学习 Web 开发。就像一本练习册,并且当你完成相应的内容后,会得到相应的资格认证。
8. 网络前端技术学院 — 前端开发项目库:http://ife..com
学前端的看这里,网络官方推出的前端开发学习技术学院,题目从简单到困难,如果你把里面的题都做会了,找个 BAT 的前端工作不成问题的。
9. Stack Overflow — 解决 bug 的社区:https://stackoverflow.com/
开发过程中遇到什么 bug,上去搜一下,只要搜索的方式对,百分之 99 的问题都能搜到答案。在这里能够与很多有经验的开发者交流,如果你是有经验的开发者,还可以来这儿帮助别人解决问题,提升个人影响力。
10. 程序员客栈:https://www.proginn.com/
程序员客栈是领先的程序员自由工作平台,如果你是有经验有资质的开发者,都可以来上面注册成为开发者,业余的时候做点项目,赚点零花钱。当然,如果你想成为一名自由工作者,程序员客栈也是可以满足的。只要你有技术,不怕赚不到钱。
11. v2ex:https://www.v2ex.com/
V2EX 是一个关于分享和 探索 的地方,上面有很多各大公司的员工,程序员。你想要的应有尽有。
12. CSDN:https://www.csdn.net/
老牌专业 IT 技术社区,有很多厉害的开发者,当然也有很多小白。在上面可以写文章,分享看法,也可以阅读学习别人分享的内容。
想要成为一名厉害的,有影响力的程序员,一般平时要多分享自己的学习记录和感悟,让更多人认识你。同时你也多看看别人的分享,了解一下别人正在做什么,别人是怎样学习的,是怎样解决问题的,多主动与大家沟通交流,多交一些相关方向的朋友。
② net程序员怎么提升自己的技术能力
一、先列三个常见的开发场景:
1、拿到一个模块详细设计文档,大部分程序员的通常做法就是开始搭建界面代码,然后从第一个按钮点击事件或页面Load事件开始写第一行业务代码。写的差不多了,就运行一下,发现哪里不是自己想的那样,就改改,直到改到是自己预想的那样。
2、做完了一个功能模块或几块相关联的功能模块,输入111asd,发现新建正常、保存正常,就提交给测试人员。测试员用测试用数据、测试场景用例来测试,发现有问题,就登记bug。对于严重的影响下一步测试的BUG,测试员就用内部IM通知这个开发人员。对于不影响继续往下测试的BUG,测试员就登记下来,等程序员有空时处理。
3、程序员一般工作不希望大家打扰,所以开发起来就是开发。等手头开发告一段落,就看看BUG库。发现有与自己有关的BUG,就从第一个BUG开始看起。就开始通过IM和测试员掰扯起来(这不是个BUG啊、业务逻辑不是你想的那样啊、我这里不能重现啊、你给的信息描述不清晰啊),于是IM几来几往,甚至跑过去当面交流一番,甚至会拉扯上产品经理一起讨论,更甚者需要项目经理或产品经理发起一个会议来集体讨论一下
这是不是很熟悉呢?这就是大部分程序员开发的三个步骤:写代码、自测、修复BUG。
二、说好的代码设计、代码测试呢?
代码设计?那不是都有开发平台么,已经固化了啊。那不是维护旧功能做完善修改呢么,又不是写新代码,只能在现有代码基础上修改啊,你又不能大幅重构。
代码测试?你丫需求讨论期、产品设计期、设计评审期那么长,都把研发项目时间占光了,就留下2个星期让我们写代码,我们哪里有时间搞那么深的测试。还想让我们搞结对编程?还想让我们搞测试驱动开发?
而且你看测试,什么功能测试、集成测试、性能测试、安全测试、安装部署测试、升级测试、迁移测试、UAT测试,一大堆测试,测试也需要很多时间。
一个项目,需求讨论、产品范围规划与评审、产品设计与设计评审占了一个半月,开发+自测就一个月,测试占了一个半月,这就4个月了啊。
三、为啥程序员写代码总是写写测测?
刚才大家也都看到了,大部分程序员都是从界面代码开始写起,而且写一写,就运行一下看看。为什么会是这种开发方式?
那是因为大部分程序员缺乏在脑子中的整体建模能力。只能做出来一点,真实的感觉一下,然后再往下。
有些是产品经理的上游就有问题,没给出业务流程图(因为产品经理也没做过业务),也没画清楚产品功能操作流程图。
为啥没给出业务流程图?因为产品经理不熟悉业务,另外,产品经理也没有流程建模能力啊。为啥没画清楚产品功能操作流程图啊?因为不会清晰表达流程啊。
很多产品经理、程序员,都缺乏分类、分层、相关、先后能力,更别说总结、洞察能力。
这是基本训练,是一个做事头脑清醒的人必备的技能,这不是一个程序员或产品经理或测试员的特定技能要求。
我经常看书就梳理书的脉络,每看一本就写一篇总结。我过去闲扯淡还梳理过水浒传、红楼梦的人物关系图呢,其实就在事事上训练自己的关联性、层次性、洞察性。
我经常面试一个人时,我会问这样的问题:“你把我刚才说的话复述一遍,另外你再回答一下我为什么会这样?”,其实,我就在看一个人的细心记忆、完整梳理、重现能力,我也在看一个人的梳理、总结、洞察能力。
我个人写代码就喜欢先理解业务流,然后理解数据表关系,然后理解产品功能操作流,大致对功能为何这样设计、功能这样操作会取什么表、插入或更新哪些表,哪些表的状态字段是关键。
然后我写代码的时候,就根据我所理解的业务流、功能操作流、数据输入输出流,定义函数,定义函数的输入与输出。
然后,我会给函数的输入值,赋上一些固定值,跑下来看看能否跑通这几个关联函数,看看还需要怎样的新增函数,或者看看函数的输入输出参数是否满足跑通。
剩下的事,就是我填肉写详细逻辑代码了。
当然,大部分人没我这样的逻辑建模能力。怎么阅读理解也想象不出来,也没法定义函数。毕竟有逻辑建模能力的程序员都很少,100个人里有10个,已经是求爷爷告奶奶好幸运了。
那怎么办呢?
我建议是分离分工配合,这就是现实中没办法的办法。让有逻辑建模能力的人来设计函数框架、来设计工具来设计代码模板,然后让没有逻辑建模能力的人来填肉写详细逻辑代码。
我们可以先从最紧要的模块开始这么做。不紧要的模块,还让它放任自流,让熟练手程序员继续涂抹。
我曾经还让有头脑的程序员做榜样,给大家分享他是怎么规划函数的,怎么做维护性代码的代码结构改善的。但是发现效果并不佳,其他人并没有因此能做代码设计。可能逻辑建模能力是个人的基本素质,是从小到大训练成型的,不是你一个大学已经几年的人能够短时间内可以训练的。
所以啊,还是让能走的人先走,让从最紧要的模块开始这么做。
不必担心这样做后,因为过去一件事被分工(一个做代码框架一个填肉)成两个人做了会降低工作效率。我们很多的工作效率低就是因为半瓶子醋搞出来的,来回反复修改。
真是应了刘德华在电影里说的那句话:说你又不听,听又听不懂,听懂了又不做,做又做不好,做不好还不服气。
四、为什么大部分程序员不做代码测试或白盒测试或单元测试呢?
还是因为没有代码设计。因为没有函数啊。所以,一个按钮功能有多复杂,代码就有多长。我见过2000行的函数,我也见过1000多行的存储过程和视图SQL。怎么做白盒测试啊,这些代码都粘在一起呢,要测,就得从头到尾都得测。
所以啊,先学会设计函数,先写好函数,这就求爷爷告奶奶了。很多开发了5年的熟练手程序员,可能都未必会写函数。
函数的输入输出值就很有讲究。很多人都写死了,随着版本迭代,发现过去定义的函数参数不够用了,于是就新增了一个参数。然后,相关性异常就爆发了,其他关联的地方忘改了,到底哪些有关联,怎么查啊,本系统没有,没准其他系统就调用你了,你根本不知道哪个神经人曾经COPY过你的代码修吧修吧就改成了他的功能呢,而且里面的很多代码他看不懂也不敢删,只要他实现的功能正常了他也不管了。于是,你改了你这个函数,他的系统就莫名出错了。
所以,我一般会定义几个对象来做参数。另外,我也很注重函数的日志、函数的异常保护、异常抛出、异常返回。另外,我也很注重参数输入值的合法性校验。
所以啊,应该开发Leader们先制定函数编写规范最佳实践,输入输出参数怎么定义比较好,函数的返回值如何定义比较好,函数的日志记录应该怎么写比较好,函数的异常保护、异常抛出、异常返回如何写比较好。先教会一般程序员,先从会写函数开始啊。
当然,你光有一份规范,程序员们还是不理解、不实际应用啊。所以,还得Leader们做好典型的代码模板,里面是符合函数规范的代码框架,只有这样,一般程序员们才会照猫画虎适应了函数设计的编程习惯。
所以啊,我专门重新定义了leader的明确职责,其中第一个重要职责就是:负责工具/框架/模板/规范的制定,并且负责推广且普及应用落地。
你不明确定义Leader的这个重要职责,你不对这个职责做明确的KPI考核,谁尿你啊。你以为好的工具/框架/模板/规范是靠人们的热情、自发产生的么?我们还没有那么自觉高尚啊。
五、为什么大部分程序员不写注释啊?
我经常说一句话,千万别多写注释。为啥?
因为我们经常遇到的问题不是没有注释,而是更糟的是,注释和事实代码逻辑是不相符的。这就出现常见问题了:残存下来的设计文档是一个逻辑、注释是一个逻辑说明、真实代码逻辑又是一个,钟表多了,你也不知道正确时间了。
所以啊,产品文档、注释、真实代码,三者总是很难一致同步。我为了几百人研发团队能做到这个同步花了大量心血和办法,但我最终也没解决了这个问题,还把Leader们、总监们、我都搞的精疲力尽。
索性回归到一切一切的本源,代码,就是程序员的唯一产出,是最有效的产出。那么,让代码写的不用注释也能看懂,咱得奔着这个目的走啊。
为啥看不懂,不就是意大利面条式代码么,又长又互相交杂。
OK,我就规定了,每个函数不能超过50行。用这一个简单规定和静态代码检查插件,来逼迫大家尝试着写函数。有的函数属于流程函数,是串起其他函数的,有的函数就是详细实现函数,实现一个且唯一一个明确作用的。
有了流程函数和功能函数,而且每个函数不超过50行,这就比过去容易看懂了。
六、为什么大部分程序员不抽象公共函数啊?
我经常说一句话:千万别抽象公共函数啊。为啥?
因为大部分程序员缺乏抽象洞察能力。特别是有些积极热情有余、爱学习爱看书、半瓶子醋晃悠的二杆子,看了几本UML、重构、设计模式、整洁代码之道,就跃跃欲试了,还真敢给你抽象公共函数了。
一开始,他觉得80%相似,20%不相似,于是在公共函数里面简单写几个if..else做个区隔就可以。没想到,越随着版本迭代,这些功能渐渐越变越不一样了,但是这个代码已经几经人手了,而且这是一个公共函数,谁也不知道牵扯多少,所以谁也不敢大改,发现问题了就加一个if..else判断。
没想到啊没想到,这个本来当初公共的函数,现在变成了系统最大的毒瘤,最复杂的地方,谁也不敢动,除非实在万不得已,手起刀落。
所以,我平时告诫程序员,纯技术的、纯通用的,你们可以尝试搞搞抽象公共函数,对于业务的,你们还是简单粗暴的根据Leader们做的代码模板代码框架,乖乖的复制、修改、填肉吧。
你们啊,先从做模板做代码片段开始吧,咱们放到咱们内部代码片段开源库里,看谁的代码片段被别人复制的多,说明你的代码抽象设计能力越好了。那时候,我就大胆放心让你撒丫子跑了。在没有学会跑之前,给老子乖乖的复制、修改、填肉吧。
③ 好程序员:技术分享 有哪些新手程序员不知道的小技巧
我有一个学习的小技巧,就是学习新技术的时候,多看看“官方文档”。
多年来的学习和工作经历,让我比较深刻认识到一点:看“官方文档”非常重要。
我们很多的问题和技术细节,其实,只要我们认真将官方文档过一遍,会发觉大部分的问题和认识模糊的地方都消失了。甚至,你还能发现自己之前通过搜索获得的到一些资料,可能是不准确或者已经过时的。官方文档是真正的好东西,因为编写文档的人群,通常就是这些技术或者软件的开发者,他们才是对这些东西最了解的人,因此,他们写的文档质量是很高的,通常也是最新的。
官方文档的不足的地方,大概是中文版本不多,看起来可能会比较吃力。不过,请相信我,下载一个翻译辅助软件,慢慢看还是可以的。另一方面,就是这些文档编写者,通常是技术界大牛,他们编写文档有时候是基于他们自己的技术认知水平,跳过了很多基础概念,也增加了阅读难度。不过,这个我们也可以通过多查资料,慢慢看来解决,并且通常会带来额外的学习收获。
④ 程序员该如何做好一次分享
很多人,尤其是程序员肯定都有这种想法:”每次参加技术分享会,看到台上分享者的激情讲解,也想自己哪天能做一场优秀的分享?“
但是技术宅们有多是内向的性格,对于抛头露面总有一丝胆怯,而且技术宅多沉浸在自己的专业领域内,就算做分享也没有很好的效果,久而久之就会越来越抵触分享。
但是分享却又是提升实力最好的方式,工作几年我也做过好多次的分享,也是从刚开始的抵触,到现在的期待。我也总结了一部分自己对分享的感悟和方法,我觉得有必要写出来分享一下给 ”想分享但是不知道怎么分享的技术宅们!"。 今天我们就一起来看一下如何做好一场优秀的分享会。
在正式开始文章之前我也想问大家4个问题,希望大家可以带着问题去看文章,也希望大家在评论区给出自己的答案。
下面正文开启:
要做好分享,首先要有一个分享的心态。
通常我们很少会去主动把知识传递给大家。背后的原因可能比较复杂,不够自信,或者有压力等等。而往往分享来自于工作任务。如果应付了事,那只能是浪费时间。一定要有做有价值的分享的心态。
作为分享者,一定要分析听众需要什么,这样才能带给听众更有价值的分享。
听众分析的思路很简单,无论是分享给熟识的听众:同学、同事,还是分享给陌生人,我们都可以从职业特性入手。
如果分享对象是学生,就以所学专业为主要参考指标,如果分享对象是职场人士,那就以所在岗位作为主要参考指标。
如果分享对象是学生,就以所学专业为主要参考指标,如果分享对象是职场人士,那就以所在岗位作为主要参考指标。
总之,分享首要考虑的是听众的需求。
没有金刚钻别揽瓷器活,如果没有干货,再好的技巧都是空有其表。
作为分享者,除了要了解听众的需求外,也要分析自身的特长。不要轻易挑战自己的弱项,也尽量不要把还没有实践过的知识分享给听众,不然容易现场翻车(⊙o⊙)。
一定要结合自己的知识储备以及听众的知识储备来进行分享准备
另外,知识的传播一定是衰减的。这个衰减的过程是 储备知识->传播介质->听众。
传播介质可以是图文博客,也可以是PPT,也可以是音频、视频等等
粗略的打个比方,如果满分是100分,假设你储备了90分,按照15%的衰减来说那就是 : 储备知识(90)->分享介质(76)->听众(65+(-30))。 这里的-30的意思是,如果听众没有相关知识储备,那听众接收到的可能最多就是35分。
列提纲
吹牛要打草稿,提纲是为了帮助分享者梳理分享的思路。
填内容
分享前,你需要对分享内容尽可能的掌握全面,尽可能多的去查阅资料,书籍。
例如:我想分享 Http 的三次握手四次分手,那我至少要去查阅5篇相关的文章,并且提取他们里面的相同点和不同点,然后用自己的语言去整理合并。
当然,仅仅准备你要分享的内容是不够的,你还要对你分享的内容深入了解20% ~ 30%,因为你你要应付现场听众的提问。
举例子
善用例子,通过类比让听众更加形象的去接受内容。
不同的听众要有不同的开场,但是核心都是抓住听众的注意力
熟悉的听众
如果是熟识的人:同事、同学,那就非常简单了。 说清楚自己是谁就行了,为了活跃气氛,可以稍微加点幽默。
范例1:我是来自A团队研发成员,我的名字是张海洋。我可能是最痴情的男人,因为“最痴情的男人像海洋”。今天我带来的主题是:XXX。希望经过本次分享,大家能对这个主题痴情起来。
陌生的听众
如果是陌生的听众,那意味着他们对你还不够了解,还需要建立基础的信任,总之就是吹好牛皮,赢得基础的信任。
范例1:我是来自X集团X事业部的资深研发专家,我叫张海洋。弓长张、海洋的海洋。我主要负责X业务,我所负责的系统每天的访问量大约30亿PV,峰值QPS在1W左右。平均每天成交额约2亿RMB。今天我带来的主题是XXX,主要是跟大家分享我在XXX方面的一些经验。
⑤ java 程序员 都是去看那些论坛和新闻的啊大家分享下吧
下面这几个是我常去的
1.csdn
2.javaeye
3.51cto
⑥ 程序员如何自己创业
30岁,对于每一个程序员来说都是尴尬的年龄,仿佛舞台上不知不觉间已经谢幕,而自己仍在独舞;创业,对于每一个程序员来说都是曾经或者正在憧憬的梦想,可是梦想与成功之间难以逾越的距离却也让多少人望而却步……以下是我为大家整理的程序员如何自己创业相关 文章 。
周鸿祎谈程序员创业
很多人都向往着有一天自己创业,程序员更是如此。如果你想创业,那么该怎样创业、需要有哪些准备、自己还有什么不足等等这些问题你考虑过吗?本文就跟大家分享周鸿祎在接受某媒体采访时给程序员上的创业课。
程序员创业的特别之处
关于程序员创业,我之所以愿意谈我的观点,是因为我是程序员出身,也是从小公司做起来的,我自认为对待很多程序员个人包括共享软件作者和一些小网站还是很好的。我希望和他们分享一些 经验 和体会。
首先,我想说的是聪明人不一定能成功,很多程序员很聪明,但我一看就知道他们不会成功。因为我看到了一些问题,而且现在太多程序员存在很多误解。因此,我希望把我的观点告诉程序员。或许有一些程序员能够清醒,某个人可能因为我的某一句话有了感觉,对他以后的成长产生了帮助,这就足够了。
要知道,程序员总是以为自己优秀所以就能成功,其实不是。中国的程序员大部分是盲目的:看看一些论坛就能够感觉到,要么有一群人自我感觉极端的良好,以专家自居,要么就是一群蓝领埋怨公司和社会环境不行,待遇不好。
应该说,中国程序员创业的成功率也是很低的。放眼望去,中国互联网成功的人士有几个是真正写过十年软件的。事实上,现状和我们所能听到的媒体宣传的 故事 很不一样。
很多程序员的最高理想就是写一个共享软件,一年可以挣几百万。但我希望谈的不是告诉程序员如何挣钱,挣钱很容易,而是要告诉程序员如何去创业。比如虽然FlashGet的作者收入很高,衣食无忧,但从创业的角度看,它并没有以商业公司的方式创业成功。
程序员在创业方面的欠缺
首先,我看到中国程序员的合作心态非常缺乏,我认为这是中国程序员最大的问题,当然这是有很多原因的。
大家经常说这句话:态度决定一切。但事实上好程序员基本上都比较傲气,因为程序员往往会觉得自己在做世界上一件十分伟大的事情,这就是驱动机器,修改一行代 码,机器就能够工作,可以产生各种不同的行为。这很容易会让程序员产生一种错觉,认为自己可以Control Everything。程序员的自信在编程上是非常需要的,但不是适合一切场合。如果我们不说这些,可能很多程序员到现在还不知道自己错在哪里,仍然认为 自己是King of the World。
事实上,程序员的能力只是控制了一个机器。但创业仅仅具备了和机器打交道这一种能力是绝 对不够的,他还需要和合作伙伴、竞争对手、投资人、员工甚至整个社会环境打交道。很多程序员因为已经习惯了和机器打交道,不善于也不愿意 其它 的工作。很多程序员会内心认为“营销不是很简单嘛,市场很简单啊,管理也很简单啊,”我认为这种心态是非常害人的。
程序员还是一个很固执的人群,他觉得自己是机器的统帅,因此不会灵活,不会妥协。我当时也喜欢写程序,但我知道如果自己沉迷于写程序,肯定没戏,所以是逼着自己改变角色。
优秀的程序员不要自负
这两天,我收到几封程序员的来信。有一封信中大意说“我是个如此优秀的程序员,为什么我就不能成功呢,请你指点。这里有我的blog地址,看完你就 会了解我了。”我想说的是:如果真的希望别人帮忙,就要把情况真实的说出来,而不是上来就说自己很优秀,这种语言就会让别人觉得很不舒服,不是很好的交流 方式。我还真看了那个blog,但看完之后,觉得这个程序员就是一个空想狂。
可以说,很多程序员实际上是优秀带来了自负,这种自负使得其不要说创业,可能在在公司中工作也会遇到问题。所以,我甚至认为程序员在创业方面遇到的困难比其它类型的人员更大。如果程序员希望主导一个创业,可能首先就要逼自己不是一个程序员。
程序员应持开放心态,寻求团队合作
程序员首先要学会和别人合作。提到这点,很多程序员都会说“我正在带着其他程序员写程序啊,我会合作啊。”但这种合作是片面的,我所谈的不仅仅是程序员和程序员之间的合作,而是包括了程序员和其它各种角色之间的合作。程序员相亲,他们的语言比较能够容易理解。但作为一个程序员,你能不能商业人员、销售人员很好的合作呢。
我这些年还看到很多这样的例子:程序员动不动就把目标定为比尔·盖茨。其实,比尔盖茨不应该成为程序员崇拜的目标对象,这会让程序员迷失方向,因为微软另外一个创始人保罗·艾伦才是真正的程序员。再看其它一些例子,Google的第20名 程序员都可以获得五亿美元。Adobe公司两个创始人也是一个精通技术,一个对商业精通,这样的搭配才能够更好的成功。因此,对于很多程序员来说,一定要找准真正的榜样,不要被外界的故事迷惑了头脑。如果剖开一些故事的外表,你会发现国外很多成功的程序员,背后一定有一个很强大的商业感觉的人或者一个团队。
程序员的商业感觉其实并 不是很好。即便有商业感觉,其实这只是一个灵感,一个创意,但要要做成、做大还需要一系列的管理、市场、运营,这些对于程序员是不可想象的。程序员要明 白,在自己不擅长的领域,找到一个可以弥补自己缺陷的合作团队才是出路。加入一个创业团队,可能个人占10%,但因为更容易成功,而且团队可以做100分 的事情。而如果只是一个人做,很可能就失败了。
这方面,国外的程序员对自己的长短比较清楚。在硅谷,很多程序员技术上都很牛,但他们 都非常知道自己只是在技术这个领域水平比较高,出了这个领域,自己什么都不是。正因为有了这种心态,他们特别懂得与人合作。我认为国外的程序员已经普遍意 识到了这点,他们很愿意成为创业团队中的一员而并非自己创业。
因此,程序员需要调整心态,不要把自己当作精英人物,要承认自己在编程方面是优秀的,但永远有人比自己更优秀,对于其它的领域,很可能自己很无知。要知道,其实程序员的选择其实是最少的,因此抱有开放的心态是最重要的。
程序员与创业要求还有哪些差距
我认为现在的很多程序员经验过于不足,他没有认真踏实做过很多工作就奢谈创业。如果一个程序员没有在编程方面深入过,没有积累,也就是半瓶子醋。这 样的程序员我接触过很多,他们自己也不清楚问题出在哪里,让人感觉又爱又恨。我认为程序员既然要凭借自己的技术,那就一定要踏实,要能够实现任何创意。
但现在一些程序员自己没有商业意识,却又很自负,不相信别人,不理解的事情就不做。我遇到过很多程序员,他们对公司做什么方向都质疑。他 们希望自己先想清楚,可是一想就浪费了很长时间。很多程序员就可悲在这里,积累的不多,看不到方向,但他也不相信自己的公司和老板,这是一个悖论,需要程 序员深刻反省。要知道,每个公司都有懂商业的人。
就这样,一些程序员极端自负,另外有一些程序员碰了很多钉子之后,感觉很自卑,于是便认为国内软件业不行,最后 出国 或者打工,很少有程序员能对自己能做公正的评价。
国内环境是否造成程序员浮躁的因素
我以前没有仔细考虑过这点。但我想,不管怎样,程序员需要先从自身找问题,因为大环境就是这样了。我承认一个现实:程序员生存状态并不是很好,但程序员很多报怨其实是一种不切实际的期望值和自身的缺陷产生的反差。
首先,产品没有大小,只有市场的大小。很多人总是觉得这也小,那也看不上。认为公司做的产品很无聊,要做就要像某些人宣扬的那样:做游戏一定要 做3D引擎,好像只有这样才够牛。这其实就是一种浮躁。很多程序员写软件总是很多bug,基础知识也不牢固,没有参加几个项目,没有写过十万行代码,就奢 谈做大项目,这有价值吗?
而且我还发现有些程序员特别愤青,骂环境,骂老板,其实这只能把自己的心态搞的很坏。很多人刚进公司时做的很差,虽然工资少,但他没有想到给公司增加了很多bug,公司实际上是在给他出学费。论坛上大家都在讨论哪里活干得少钱拿的多。甚至还有人列了一些黑名 单。这种做法的结果就是程序员自己将周围环境搞的乌烟瘴气了。
有的程序员还非常喜欢指点江山,指点公司。我个人觉得这不是不可以,但 指责别的公司对个人没有什么好处,因为存在就是合理的。如果看不到,恰恰证明是自己看不到。我看到很多程序员也写blog,技术交流的我认为非常好,但有 些人是写评论。我是觉得程序员不要做评论家,中国不缺评论家,最缺的是实干家。
总之,程序员一般过于自我。总生活在自我的世界中,就不可能真正了解世界是什么。我很早就意识到了这些问题,也努力的去客服。我的经验就是看别人如何做的好,为什么能够做的好,什么是我所不能理解。程序员要学会慢慢站在别人立场上看问题。
最后给希望创业的程序员一点建议
对程序员来说,现在要做的也很简单,这就是需要大量的实践,要慢慢培养对产品,对商业的感觉。我的建议说出来可能有些忠言逆耳。对绝大多数程序员来 说,自己一个人成功的机率是很小的,所以我认为加入一个创业的团队可能更为合适。现在有很多初期创业的公司,也需要很多优秀的程序员加盟。如果有理想,可 以选择加入一个团队,也有相应的股份,这方面我可以充当一个桥梁。
看看前网络程序员是如何创业的?找合伙人已经OUT了!
“来吧,做我的CTO,给你股份,咱自己当老板。”
因为同学的一句话,前网络研发工程师YK辞职创业。一群毛头小子,技术能力过硬,但毕竟资源不足,经验欠缺,不到半年,项目无疾而终。 互联网创业 盛行的现在,一个好的技术抵得过一支团队,更别说出身BAT了。
但很多人不知道的是,就是这一样一支技术实力超强的团队,最终竟然也输在了人上——过于强调技术,没有头脑足够清醒的团队成员及时制止。这也是为什么要选背景不同、经验不同的一群人一起创业了。曾经和YK聊过很久,项目失败的背后是他对创业更多的思考,特别是对于那些拥有好工作的人来说,抛下一切投身创业需要付出的成本太高,但如果只是给创业者打工,那还不如守着原有的工作,至少更体面、更有保障。
就在我以为他会重新安安稳稳工作的时候,却意外的在创业大街再次见到了他。细聊起来才知道,他并非辞职重新开始创业,而是用自己擅长的技术加入到新的创业团队中,以外部合伙人的身份帮助两个不同方向的项目解决技术开发问题。这次来到大街,是专门和一支团队开技术碰头会的。
他的这个选择意料之外,却又情理之中。意料之外的是他居然理智的没有辞职,情理之中的是他选择了成为外部合伙人,用业余时间一边做顾问、一边写代码,实现了时间、能力价值的最大化。
其实,说到外部合伙人就不得不提智筹平台。去年3月,正是看到了毛大庆宣布 离职 但依旧担任万科外部合伙人的新闻后,智筹将“外部合伙”作为创业者&人才之间对接的一种新的合作关系。现在,创业者来智筹发布任务,除了能与互联网高级人才建立长期顾问、短期兼职、驻场办公、远程协作等合作关系之外,也能通过部分现金+可回购股份的方式,与人才建立外部合伙关系。外部合伙人是一个没有行政职位,但依旧为企业、团队做贡献的人。
对于创业团队来说,外部合伙人解决了以下问题:
1.快速成长,度过难关。
按照原本的思路,YK服务的两支团队还陷在满世界寻找CTO、找程序猿的泥沼中,但有了外部合伙人,更低的参与门槛吸引了更多人才愿意加入,不仅解决了燃眉之急,更推动项目度过难关、快速前行。
2.满足了人才的多样性。
一个合伙人已经很难找了,更不用说基因不同、知识不同、经验不同的一群人。外部合伙人大大降低了对人才的束缚,而这样的一种合作模式,让越来越多的人才愿意加入到创业中来,组建这样一支多样化团队更容易。
3.更快找到,成本更低。
外部合伙人是通过股权激励撮合到一起的一群人,利用可回购股权让人才把创业者的事当做自己的事,目标、利益一致,做事更用心、更高效。股权支付的方式又可以降低初创的资金压力,创业者不用支付很高的现金,也能请到非常NB的人才来解决难题。
外部合伙人极大的缓解了创业找人难的窘境,但当创业者真正去寻找外部合伙人的时候,往往又会担心外部合伙人的时间、效率怎么保证?水平怎么衡量?什么人才适合做外部合伙人?
首先,时间自由是第一标准,至少是时间可控,能够拿出足够精力完成任务。否则,连时间都不能自由支配的外部合伙人也太不称职了,CEO找你开会,你却说你在公司加班,即耽误了创业者的时间,又降低了自己的口碑。
其次,独挡一面的能力绝对必不可少。做得了合伙人的,都是某方面十分擅长的专业人才,那么做的了外部合伙人的,需要更高的水平。从一开始我就强调,外部合伙人一定是高级人才,不然没资格帮助创业者解决问题,甚至指导方向。俗话说,没有金刚钻不揽瓷器活,想做外部合伙人,一定得先有过硬的水平。
第三个标准是认可股权模式。中国基金报曾发表评论称,未来十年,如果你与股权无缘,可能无法实现财务自由。在如今楼市低迷、股市重挫的时候,股权投资却异军突起,特别是在大众创业、万众创新的激励下,全国创业氛围浓厚,涌现了一大批优质有潜力的新兴企业、互联网企业。也许你不是土豪,没有钱参与众筹,而此时外部合伙人模式的出现,让普通人也能参与,只不过是用能力和时间参与创业、解决任务,换取股权。
智筹在帮助创业团队对接外部合伙人合作的过程中,通过实践 总结 出了最适合做外部合伙人的群体:自由职业者、大企业主管级以上在职人才、工作室、外包团队等等。这些人能够站在实战的高度,不只提供经验分享,更能够有针对的解决具体问题,融入到项目和团队中。
对于很多创业小伙伴来讲,找钱、找人是躲不开的两座大山,有钱了当然可以请NB的人才加入,有人了事儿干好了钱自然不愁,先有鸡还是先有蛋的问题永远都在,找到一方的突破口自然事半功倍。这时,外部合伙人就是打破这一死循环的关键钥匙,只是需要创业者用开放的心态接受、尝试,毕竟改变原有习惯肯定难受,甚至懒得尝试。但创业原本就是不破不立的事,只有打破旧有习惯,才能接受新鲜事物,才能有更多新的收获。
从另一个角度来看,参与创业的门槛降低,意味着越来越多的人能够将自己的智力换成股权,帮助推动创业的同时,也是对未来的投资。根据智筹平台的数据显示,当 创业项目 获得融资后,人才所持的可回购股权将会以最少3倍的价值兑现,这对于很多人来讲也是不小的吸引力。外部合伙人模式,降低初创资金成本的同时,也让越来越多的高级人才加入到创业中来,大大激发了创业活力,无论创业还是参与创业,用起来都是极好的。
⑦ 程序员的成功面试技巧
程序员的成功面试技巧
程序员的成功面试技巧,程序员在近几年来是很热门的一个职位,因为在很多人眼里程序员的收入是很高的,程序员想要工资高在面试的时候也是很讲究技巧的,下面分享程序员的成功面试技巧?
1、给自己写一份非常专业的简历
我的建议是,如果你想增加自己的入选机会,那最好还是花点钱制作一份专业的简历。相较于你将来可能得到的巨大收获,这真的只是一个小小的投资。
2、研究面试官
当我联系程序员来面试的时候,我总是会事先发电子邮件给他,并附上我的名字和博客地址。但是让我惊讶的是,当我给他面试的时候,他竟然对我还是一无所知。
再举个正面的例子,我在面试时也碰到过这类开发人员,甚至能对我以前写的一篇博客或者做的教学视频上面的内容侃侃而谈。
你说我会推荐哪个?
面试官也是人,也会有人性的弱点和特点。Dale Carnegie曾说过,要让别人对你感兴趣,最简单的方法就是你先表达出对对方的兴趣。
不管这种方法是否有欠公正,但是如果你想面试成功,那么我建议你事先最好先好好研究一下你应聘的这家公司和面试官(如果知道的话)。
当今社会的信息是如此的发达,我们完全可以在Facebook、Twitter、微博、博客上找到任何人的资料。即使你只是大致浏览一番,也会让你受益良多。
3、获得内部推荐
知道找工作最简单的方法是什么吗?那就是获得内部推荐。
这不但可以增加面试机会,还能提升40%的录用几率。
前阵子,我找到了一家心仪的公司。然后直接投简历?NONO,猜猜我是怎么做的吧?
首先我找到一名和我有共同想法和意见的开发人员,然后开始关注他的博客。
接着我在他的博客中留言、发表建议,并且表现出对他的工作和公司非常感兴趣的想法。最后我成功拿到了这个宝贵的内部推荐资格。
很多程序员会说,“可是,某某某公司里面的人我一个也不认识啊”。如果你想就此放弃,那当我什么也没说,如果你愿意试试,我敢打赌,你总能想出一种方法达到你的目的。
不过这有个秘诀,那就是首先你得在网上创建自己的“名片”——让别人有了解你的机会,所以do it now吧。
4、 学会解决算法问题
这是每一个开发人员都应该具备的重要技能,而且真要掌握起来也并非那么难。
在很多面试中,都会有这样的问题,要求你在白板或者电脑上解决编程问题,但是许多程序员,即使是那些非常优秀的程序员,都会一下子大脑一片空白,完全理不出思路来。
如果你能花时间学会如何解决这种类型的面试问题,那么下次再碰到这种场景,就不会这么紧张了。
我们会紧张其实和怯场无关,主要是因为我们不熟悉这些问题,也没有自信能解决这种问题。
在这方面建立起自信之后,你就再也不会紧张了。
5、活力洋溢地回答问题
只用一个字或者一句话,照本宣科平平无奇地回答问题,或许在技术上是正确的,但是你忘了应该借此机会好好展示自己的激情——这才是一个开发人员能带给团队的最大正能量。
举个例子说,如果我问你什么是多态性,我不是要你按照课本中的定义重复给我听,我希望你能就这个主题阐述一下,然后我们可以更深入地聊一聊。
6、小心“陷阱”问题
你为什么换工作?
说说你最大的优点和缺点。
最近一次你是如何解决和同事之间发生的技术分歧的?
在回答问题之前,你最好明白面试官问这些问题的目的,掌握如何回答这类问题的技巧。
就先说说第一个问题吧“你为什么换工作?”
在大多数情况下,面试官想知道的是你是否是一个爱说三道四、惯于诽谤抨击雇主的人。所以千万不要上当。
7、永远不要撒谎
最糟糕的事就是在面试的时候撒谎。
知之为知之,不知为不知,如果你确实不知道,千万不要自作聪明来编造问题的答案。
相反,你应该诚实地说,你不知道或者你并不是100%肯定,但是你愿意尝试一下,然后再讲讲自己的想法。讲完之后也可以问面试官正确答案是什么,以显示你对此非常感兴趣。
实话告诉你,大多数面试官问的问题都是他们知道的问题,不然如果你滥竽充数给你通过的话就会显得他们像个傻瓜。所以千万不要抱着侥幸心理,一旦发现你在撒谎,面试官马上就会质疑你的人品。
8、不要太诚实
很多程序员会过多地透露自己的信息,不要以为诚实和完全透明就是最好的政策,殊不知过犹不及。
第7条所说的不可撒谎诚然不错,但是我们也没必要将自己所有生活的细节和所有缺点都告诉给面试官。
有个性是好的,但是如果暴露了性格缺陷就坏事了。
试想一下,要是你说自己喜欢赌博或者沉迷于魔兽世界,我敢打赌,面试官肯定会重新审视你。所以在说自己信息的时候一定要慎重,因为这不但会暴露你的缺陷,还会显得你缺乏应有的.判断力。
9、掌握计算机科学的基础知识
是的,很多程序员在面试的时候,甚至理直气壮地说,他们不知道链表和堆栈,因为他们没有受到正规教育或者早就还给老师了。
我也承认我们在工作的时候是用不到那些深层次的计算机科学概念的,但是作为一个专业的软件开发人员,你至少应该知道一些基本知识。
举个例子说吧,你请电工来重新给你家的房子布线,但是这电工一点也不知道任何电气工程的基本知识,你还请他干不?同理,我们也是如此。
10、关于经验
这是最后一点,但并非最不重要的,很多开发人员,特别是刚进入这一行的新手,往往缺乏相关的经验,也不知道如何增加所谓的工作经验。
这有点像是鸡和蛋哪个先出现的问题。
那么又该如何增加经验呢?
关键是要用创造性的方式。有很多方法都可以获得工作经验,但是却不必真正去一家公司上班。
给你点提示:
参加开源项目
启动开源项目
做一个移动app,放到App Store里
写一个小型的Web应用程序
参与代码交流和用户组
这些方式都可以作为工作经验写到简历中去,只要自己有想法,不愁没经验。
希望这些技巧能对各位有所裨益。如有不同想法,也请不吝赐教。
程序员的中年危机是什么
中年程序员危机
近日,中兴网信员工欧某打开26楼办公室窗户纵身跃下,结束了42岁的生命。
目前有多种说法,有说因股份转让价过低和人事部产生分歧,有说疑因内部宫斗被离职,甚至还有消息说欧有精神方面的问题。
尽管具体原因仍待进一步的核实,但却由此引发网上一波关于中年职场危机,特别是中年程序员危机的讨论。
一般来说,一个行业的收缩导致人员数量与结构的调整,大致可以用一个简单的模型来描述:行业规模缩减,行业人员减少,公司数量减少或规模缩减,进而导致管理层岗位变少,原本的管理层,被迫降至转入下一级岗位。
这种降岗机制层层传递,高层降为中层,中层降为基础管理岗,基础管理岗降为一线员工。与此同时,由于行业规模的缩减,一线员工数量也在减少。
于是,一线员工失业,同时,停止招收该行业的新毕业生。在这个模型中,一般来说,即便行业收缩,中层也不用愁就业,仍可留在本行业中,最坏也不过是降岗。
中年人学习能力下降明显
不过,在程序员行业中,有一些特别的因素,导致了其不同于一般行业的现象。
35-45岁的中年人,学习能力下降明显。与此同时,这是一个新技术不断涌现的时代。
一个人进入职场初期的技能、概念,过了20年后,已经完全不一样了。程序员这个行业,更是把这个特点发挥到极致。
此外,精力明显下降,不能熬夜,加之家务琐事缠身,高强度工作即便有意愿也很难付诸行动。
如果说其他行业的中层人员降级后仍可游刃有余的话,这个行业的中层降岗后,会不如自己新岗位上的同事。
所以,程序员密集的IT、通讯行业,很多中层员工就处于一个很尴尬的地位。即便勉为其难地接受,也会面临收入大幅度下降的心理适应问题。
如果考虑到资产配置中较高的按揭比例,当资金链断掉,这就成为不可承受之重。
⑧ 关于程序员学习新技术的5个建议
1. 克服惯性
万事开头难,克服惯性是学习新技术的第一步。与其被手头的任务吓到,不如将任务细分为一个个具体的微任务,通过完成一个个的微任务,你会发现自己克服了惯性,并且这项任务不再显得难以完成。这个方法可以被应用到学习新技能的过程中。关键就是将大块任务细分为微任务。
2. 关注大牛
学习新技能的第一步是明确要学什么。它可以是任何你有激情去学,并且想深入学习的一些东西。这种原始的学习欲望非常重要,这种欲望可以在你的学习低潮期给你提供动力。
3. 建立知识网
当你对自己要学习的东西建立了信心之后,接下来要做的就是做一块海绵,然后开始疯狂地吸收知识。从Google搜索关键词“beginner tutorials”开始吧,搜索一些跟你要学习的知识相关的入门教程。
4. 行动起来
现在你已经看了一波又一波的教程以及视频资料,并且对于想学的技术已经有了一个相当深入的了解,接下来做些什么呢?没错,是时候理论联系实际了,实践是检验真理的唯一标准。
用你所掌握的技术做一个个人的小项目,设计一些简单的功能并且实现他们。毫无疑问,你会遇到很多的绊脚石,当遇到它们的时候,在StackOverflow或者Google上面搜索之,解决之。你已经踏上一条成为某一领域专家的旅程,遇到的困难挫折越多,你会变得越睿智。
5. 专注学习
如果你担心上述的学习过程太迟缓,那么你也可以尝试一下快速学习模式。你或许听说过“24小时学会某某某”,但是这种方式不是我所推荐的。我认为更合理的是用几周的时间去学习。你可以尝试一下类似“七周学会七种语言”或者是“七周学会七种数据库”等学习方法。尽管这些讲的是语言以及数据库方面的学习,但是你在学习其他技术的时候也可以运用这种思维。
以上就是青藤小编关于程序员学习新技术的建议的相关分享,希望对小伙伴们有所帮助,想要了解更多相关内容,欢迎大家及时在本平台查看!
⑨ IT培训分享新手程序员学习python编程需要了解哪些技巧
python编程开发技术是目前比较热门的编程语言之一了,而对于大多数新接触python编程的程序员来说,如果能够掌握一定的编程技巧的话会大大降低我们掌握python编程的难度,下面IT培训http://www.kmbdqn.com/就一起来了解一下具体内容吧。
建议1:理解Pythonic概念
建议2:编写Pythonic代码
建议3:理解Python与C语言的不同之处
建议4:在代码中适当添加注释
建议5:通过适当添加空行使代码布局更为优雅、合理
建议6:编写函数的4个原则
建议7:将常量集中到一个文件
建议8:利用assert语句来发现问题
建议9:数据交换值的时候不推荐使用中间变量
建议10:充分利用Lazyevaluation的特性
建议11:理解枚举替代实现的缺陷
建议12:不推荐使用type来进行类型检查
建议13:尽量转换为浮点类型后再做除法
建议14:警惕eval()的安全漏洞
建议15:使用enumerate()获取序列迭代的索引和值
建议16:分清=与is的适用场景
建议17:考虑兼容性,尽可能使用Unicode
建议18:构建合理的包层次来管理mole
建议19:有节制地使用fromimport语句
建议20:优先使用absoluteimport来导入模块
建议21:i+=1不等于++i
建议22:使用with自动关闭资源
建议23:使用else子句简化循环(异常处理)
建议24:遵循异常处理的几点基本原则
建议25:避免finally中可能发生的陷阱
建议26:深人理解None,正确判断对象是否为空
建议27:连接字符串应优先使用join而不是+
建议28:格式化字符串时尽量使用.format方式而不是%
建议29:区别对待可变对象和不可变对象
建议30:[]、()和{}:一致的容器初始化形式
建议31:记住函数传参既不是传值也不是传引用
建议32:警惕默认参数潜在的问题
建议33:慎用变长参数
建议34:深入理解str()和repr()的区别
⑩ 安卓程序员分享会分享什么好
学习方法和心得体会
一、技术实力主要指计算机编程功底,比如编程语言,操作系统,算法能力,网络协议等等。这是作为一个程序员的最基本的能力,也叫硬实力。这方面的知识也叫专业知识,通常,我认为这方面的能力也是最容易提高的,只要愿意花时间研究,都能看到成果。
二、业务能力技术不是目的,解决问题才是目的,运用技术来解决问题的能力就叫做业务能力,有时也叫业务感觉。比如,任何一个产品需求,你都能立即抽象出对应的数据模型;一个及时通信的需求,你能不能理解构建处数据模型出来。这方面的能力需要经验的累积和总结,而且和行业相关,你选择的企业,你经历的公司,你做过的产品都影响着你的业务积累。
三、沟通能力陈景润是中国一位非常有名的数学家。上个世纪80年代,因为一篇报告文学披露了他在数学研究上的成就,成为一代中国青年的励志偶像。但是,他是一个口才极差的人。他1953年于厦门大学毕业后,分配到北京四中任教,因口齿不清,被学校拒绝上讲台授课,只可批改作业,后被“停职回乡养病”,调回厦门大学任资料员。幸好他被华罗庚发现,调入中科院专门搞研究,这个尖端人才才没有因为口才不好被埋没。