① 程序员如何努力去开创自己的未来
从年少无知到心思细密,从一无是处的待业青年到如今知名软件公司的副总,当中经历了无数的跌倒,又从失败和挣扎中爬起来。总结概括,没有家庭背景,没有政治地位,没有金钱辅助的人想得到成功,必须经历以下5个阶段:
一、明确目标,脚踏实地,从低做起
世上没有不劳而获的事情,要想从一个寻常的老百姓开始做起,得到广阔的发展空间,必须比其他人投入多倍的努力。做IT行业也是如此,无论你的理想是从事技术的开发,还是从事业务的管理,都必须由低做起,脚踏实地工作。在工作的过程中了解行业的现状,业务的动向,客户的需求,未来的方向,并为自己定立一个长期的发展目标。只有有理想、有目标、有方向的人才不会在激烈的社会竞争中迷途。
古时候,一位学医的年轻人为了研制一种毒药的解药配方,不禁以身试毒,然后到深山里采集山药,以研制配方。越往山里走,他越发现有很多山药都有着其独特的功能,当他把药采回药馆研究的时候,却忘记了为自己的毒药寻找配方的事,最后不幸毒发身亡。
其实对初入社会的人来说也是如此,很多人面对这个复杂的社会会感到迷途,有时候可能会被一些眼前的利益所蒙骗而忘记了自己的目标。虽然每个人的背景,现状都不相同,每个人都有着自己的目标和抱负。但有一点都是一样的,只有坚持自己目标,努力奋斗的人才会得到成功,反之,那些随波逐流,半途而废的人最终只会面对失败。
二、发掘优点,提升能力
安于现状的人能享受知足所带来的快乐,但永远也不能突出自己特点。想在这茫茫的人海中突出自己,就应该找到自己的长处,发现自己的优势,为自己争取更广阔的发展空间。要是你口舌灵利,反应敏捷,能快速地洞察市场的走势,那你就应该把握机会,在大型的项目中好好地表现自己。要是你思维明锐,心思细密,能完成复杂的开发过程,那就应该尽量争取难度大,回报高的新型技术项目,在开发过程中吸收学习崭新的开发技术。
虽然,短期的学习并不能直接体现个人的优点,但经过长期的积累,你比别人优胜的地方就能逐步的展现。
但是光有优点还不够,还需要找到表现个人能力的机会:
三、主动争取机会,把握每个能得到发展的机遇
想要得到成功必须记住:机会不是等着别人给的,而是自己争取回来的!如果每天只坐在那里,等着上级给你机会,那你的理想最终将会变成泡影。要想得到成功就必须变被动为主动,不是等着机会的到来,而是在自己有能力,有实力的时候主动地去争取机会。世上没有免费的午餐,有时候,你必须放弃面前的一些东西,才能得到机会去发展,但只要你对自己有信心,在机会到来的时候就应该大胆地尝试,放弃面前的一些小利益,以争取更大的回报。
程序员经常被别人笑说成 “跳槽冠军”,数年间跳了好几家大公司,但还是感到不满意。其实争取机会并不是怂恿各位去跳槽,哪家公司高薪就跳哪去,而是说应该尝试寻找一个更能发挥自己能力的地方。
当你有了突出的能力却到了瓶颈的位置,长期呆在一家公司做着乏味的工作的时候,就更应该大胆地尝试,为自己的发展谋求一条合适的道路。正所谓,赛翁失马,焉知非福!不敢放弃现有的,也就失去了进一步发展的机会。
四、提升管理能力,提高综合素质
无论从事技术还是业务,无论你是技术总监还是业务总监,都只是单方面的能力。想要成为出色的人才,这是远远不够的。企业是一个运营的团体,想要一家企业能够得到长远的发展,就必须有完善的管理能力,知人善用。一个成功的企业家往往并不是样样皆能,而是他有妥善的管理才能,能有效地控制企业的日常运作,把握人才,充分发挥企业的独有优势。
古人云:得民心者得天下。回望三国,刘备虽无大才,文不能安邦,武不能定国,但却从一没落的市井草席之人成为一方之主,就是因为他能知人善用。卧龙凤雏暂倾心辅助,五虎上将暂俯首称臣,令他终成霸业。当今作为企业的领导者也该有此发掘人才能力,注重人才的管理,通过沟通提高人才对企业的了解程度,唤醒其工作热诚。
管理是一种学问,如果通过出色管理让一家不知名的小企业华丽变身成为一家上市集团更是一种艺术。这绝对不仅仅是通过技术或业务等单方面的学习就能掌握的,这必须经过长期的累积与学习,多方面的了解与实践才能从中领悟。提高个人的综合管理能力,是一个成功人才的必要条件。
五、团积资源,建立社会关系网
现今社会,光有钱并不足以成事。最重要的是必须拥有一个完善的关系网,在市场的调研,项目的研发,产品的包装,业务的推广上都必须有对应企业的支持,那产品才有可能成功地提出市场,得到丰厚的回报。所以在企业建立前,必须建立自己的人际关系网。而这资源,不单单是指钱,更重要的是市场关系,人才资源,产品信息。只有把握市场动向,了解产品信息,团结人才队伍,抢在技术前线的企业才会得到最终的成功。
自主创业,是很多程序员最终想要到达的目标,洞察市场发展,注视产品路线,发掘有用人才,团积社会关系。在创业之前一定要拥有一个完善的发展渠道,建立成熟的社会关系网,那自主创业才可能得到成功。
正所谓创业难,守业更难,在创业后,必须密切观察市场的走势,制定企业长期的发展路线,那企业才能得到迅速的发展与壮大。
其实为啥这是 “反流程” 升职记,就是因为 “升职” 不应该只是等待,而应该是自己争取。“命运” 不应该由天父来控制,而应该由自己去创造。“升职” 并不是一个已有的流程,而是由我们通过自己的努力而创造的一个 “奇迹” 。
② 程序员该如何做好一次分享
很多人,尤其是程序员肯定都有这种想法:”每次参加技术分享会,看到台上分享者的激情讲解,也想自己哪天能做一场优秀的分享?“
但是技术宅们有多是内向的性格,对于抛头露面总有一丝胆怯,而且技术宅多沉浸在自己的专业领域内,就算做分享也没有很好的效果,久而久之就会越来越抵触分享。
但是分享却又是提升实力最好的方式,工作几年我也做过好多次的分享,也是从刚开始的抵触,到现在的期待。我也总结了一部分自己对分享的感悟和方法,我觉得有必要写出来分享一下给 ”想分享但是不知道怎么分享的技术宅们!"。 今天我们就一起来看一下如何做好一场优秀的分享会。
在正式开始文章之前我也想问大家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方面的一些经验。
③ 作为一名普通的程序员,需要怎么给自己找一条后路呢
作为一名程序员,在未来可能会面临技术淘汰、公司倒闭、经济不景气等风险。因此,找到一条后路是非常必要的。
以下是一些可以帮助程序员找到后路的建议:
1.不断学习新技能:随着技术的不断发展,新技能的学习变得非常重要。程序员应该不断关注行业的动态,并且学习新的编程语言、开发工具和技术。
2.建立广泛的人脉:建立广泛的人脉可以帮助程序员在职场上更好地生存。这些人脉可以包括同事、老板、行业专家和其他程序员。
3.做好个人品牌建设:通过博客、社交媒体和GitHub等平台,程孝祥序员可以建立自己的个人品牌,提高自己的知名度和可见祥凯度。这可以帮助程序员在找工作或者自主创业时更有优势。
4.考虑转行:如果程序员发现自己的技能在行业中逐渐被淘汰,或者自己的工作面临很大风巧宴搏险,那么可以考虑转行到其他领域。这需要程序员具备开放的心态和勇气,但也可能会开启一条新的、更有前途的职业道路。
综上所述,作为一名程序员,需要不断学习新技能、建立广泛的人脉,做好个人品牌建设,不行就要提前考虑转行。
④ 程序员可以通过什么方式赚钱
Google Adsense
利用Adsense可以将广告发布到你的网站上去,通过访客点击广告来赚取佣金。这似乎是一个很不错的主意,如果你有一个不错的创意,写一个网站对于程序员的你应该不难,网站放上Adsense广告,推广、引流、收美金。
02
Android App交易市场收入
首先,他的Android应用是免费的,他并不是靠卖App来赚钱,而是通过向App中投放广告来赚取佣金的。如果你对Android技术非常熟悉,或者你的工作就是做Android开发,那么为什么不自己开发一个应用放到Android市场,为自己创造另一份收入。
03
参加一些开发者大赛
这是一种最实在的方法了,拿奖金,只赚不赔,不过前提是你得有足够的实力。他参加过Google的Android开发者大赛,很得瑟的跟我们说那时候他赢得了2000美金,尽管不是很多,但从中也可以学到不少知识,至少,通过学习,他可以自己开发Android应用来赚取广告费了。
04
承接一些项目
当然这要花费你很大一部分时间,承接时你要考虑时间成本,至少这些时间要和你的工资相当。个人不怎么推荐这种方法,有时候周期会很长,很容易丧失积极性,不过也算是一种方法
05
刷机、越狱
现在都是智能手机,有些用久了,卡了,像电脑一样要重装系统,一些小白有教程都搞不定,这时候你可以借此开展刷机业务。还有iOS的越狱,这个需要你对iOS的操作非常熟悉。你可以将此业务挂到淘宝上,帮助买家实现他们要的功能。
06
做黑客
黑入银行,盗取前女友现任老公的所有钱,哈哈,开玩笑了。不过,做一名优秀的计算机黑客确实可以帮你赚取很大一笔收入,比如帮助一些企业提高计算机网络的安全性、做一些抵御攻击的积极措施等。
07
写评测
DevStore专门收集各种开发者评测,开发者花几个小时测试下,如果文笔好的话可以大赚一笔,一篇评测600以上吧。
08
兼职论坛大神
各种开发者论坛会专门聘请一些大神,专门回复论坛各种小白问题,提高论坛的专业度。
09
做网站、博客
没事写个博客,整个论坛,招几个编辑帮你维护着。平时在编程过程中有什么心得感悟什么的都写下来,不知不觉网站流量就上来了,你就可以收广告钱了。
⑤ 程序员如何将自己做的东西卖出去
有很多人不知道上哪里去争取项目,总是抱怨没有项目做;也有的人虽然编程技术不错,但是对于与客户谈项目却是一窍不通,结果应该拿到的项目也拿不到手;也有的虽然已经接到了项目,却发现在实施开发的时候遇到好多从来没有遇到过的问题。作为一个多年从事外包项目接单的软件开发人士,我想从以下几方面谈谈我的经验,希望对大家会有所帮助。
第一点, 到哪里接项目
软件团队或SOHO最为关心的一点是在哪里可以找到项目做,也就是到哪里可以找到有外包需求的客户。对于一般人来说,广交朋友然后通过熟人介绍还是接项目的第一途径,但这要求你的朋友或熟人要在企业或公司里有比效重要的管理位置,对于像那些每天只能是埋头写代码的程序员这显然是不太现实的。所以大家不能等着项目来找你,而是要主动的出击去找项目。
现在网上有很多软件外包网站,在这里你可以找到不少的软件外包信息。比如GAF(即Get A Freelancer - 是目前国外最流行的外包站点)上就有大量的软件外包信息。不过这里每天外包的项目虽然很多,但竞争也很激烈。一般一个外包信息发出后一天内就会有无数个竞争者(很多印度阿三在和你拼报价),所以能第一时间与客户取得联系是非常关键的。因为客户一般都是先入为主的,一般来说,如果第一个谈项目的人他觉得满意了,就会对其他的竞争者不再予以考虑,所以你要经常上网站上看看有什么最新的项目,并立即与项目的发包方取得直接的联系。其他比如Elance、GetACoder、ScriptLance
上也有很多外包的信息,大家可以自己上去看看。
是不是第一个联系了客户就高枕无忧了呢?也不完全是这样的。前面说过了,一个项目总是有很多人去竞争,就算是你抢先联系了客户,但可能后来又有不少人也同样联系了他,而客户在这种情况下一般是处在比较犹豫的情形之中,这时,你就要经常不断地联系客户,不断地征询客户的意见,询问客户的项目需求,把你对项目的理解也经常与客户交流。这样,客户会觉得你比较有诚意来接这个项目,就会比较倾向于把项目交给你来完成。有时,与客户拉拉家常,也会拉近你与客户之间的距离。说不定你会意外发现客户原来还是你的老乡,那就更好谈了。总之,如果你想要想争取到项目,就要经常不断地与客户保持联系,直到最终达成意向。
接项目最重要的一步是与客户谈需求。客户对软件的需求是项目规划和实施的根本,所以在与客户谈需求时,一定要让用户将所有的想法尽可能的阐述清楚,并把所有的要求罗列出来。这时候不应该害怕勾引起客户的潜在需求而增加设计开发的工作量。而应该直接明白地要客户把项目的要求一条条地列出来。这时先把条理、归纳、分析先都扔到一边去,用纸笔将用户最原始、最完整的要求准确地记录下来。假如项目在你对客户的需求没有完全了解清楚的情况下就匆匆上马,那么就会随时发生意想不到的变更,轻则使项目延期或超出预算,重则使得原来已经做好的软件要彻底推倒重来。
所以我们在实施项目之前应该深入了解和挖掘客户需求,对某些不明确的需求要与发包方反复进行讨论,对于项目实施过程中的需求变更要规定处理办法,并形成项目的最终需求。在需求分析阶段,接包方首先对发包方的需求认真分析,然后通过业务建模、会谈、问卷、需求会议等方式收集客户完整需求,形成文档,然后经过客户讨论、客户审查、文档修订等多次反复的过程。有一点需要注意,即使双方谈的很投缘,在讨论需求时也一定要详细周到,精确到每一条不能再划分的软件功能为止。
要消除客户的疑虑
- 作为客户,他对于项目的承接者总是存在各种疑虑。比如,这个项目究竟承接方有没有能力开发啊?项目组人员是否有这方面的经验?是否作过类似的产品,是否有这方面的技术能力?会不会只是骗了预付款就开溜啊?最后完成的项目能不能达到自己的要求啊?我们作为承接者,就是要千方百计打消客户的这种疑虑。比如,你要经常准备好一些成功的案例和以前的项目的DEMO,就是把你以前成功完成过的项目,做成一个DEMO给客户看,让他觉得你是有能力完成类似的项目的。俗话说,事实胜于雄辩,把你以前做过的类似的项目DEMO给他看,好过你一遍遍空口的承诺。因为软件开发的过程中谁也不能保证一点问题不出,相比较而言,一个有经验的开发人员会更容易得到客户的信任。因为你已经有和客户的项目功能接近的案例,无疑会缩短开发周期,技术上有更好的保障,因此客户也更乐于把项目交给你。所以,程序员平常必须多花点时间和精力,搜集整理以前自己做过的项目案例,并把它们分门别类地整理出来,遇到同类项目的客户,就可以给客户进行演示,这样客户就会放心把项目交给你了。另外,把团队组成人员、技术能力、经验等客户看重的东西整理出来并给客户看,也能够对争取到项目起很大的作用。
在完全了解客户的需求后,下一步就是要确定一个合理的报价。接包方要从跟客户的交谈中尽量地了解出客户的准确意思,思考客户想要的是怎样的一个软件,项目复杂的程度多大,客户的要求有多高,客户的性格如何,能够接受的价格范围等等,这些因素对于软件项目的报价都是密切相关的。如果客户要的是一个小型的软件系统,不太苛求有多全面的功能,只要满足某一方面的需要,并且客户又是一个比较随和的人,那么项目可以报一个接近成本的价格;相反如果客户要求的是一个面面俱到的管理系统,需要有各方面的功能,缺一不可,并且客户又是那种对项目要求严格苛刻,绝不变通的人,那就要充分考虑各种不稳定的因素,报一个比较高的价格。
在很多的情况下,客户在跟接包方谈项目之前,心理都已经有一个价格底线。如果要投入的费用超过了客户的预算范围,客户将不再与你谈该项目,他会转而找其它软件团队商谈。所以跟客户谈项目的过程中要迅速地思考客户需求的真正含义,能够通过某种转换和变通,把客户对于技术的要求与自己团队的技术力量可以接受的价格相对比,从而得出一个双方都能接受的报价。在与客户的谈判当中,灵活变通是成功的关键之一。当然并不是所有的客户都可以通过变通而满足,遇到客户不认同项目费用的情况一定要处之泰然,真诚地为客户解释,把客户的需求细化为技术上的要求给他分析,让他同意你的报价的合理性。即使客户对编程技术不是很了解,但经过你的细致的分析后也会对你的报价表示认同的。