Ⅰ 澶у︾敓绋嫔簭锻桦繀澶囩殑鍗佹惧伐鍏
绋嫔簭锻10娆惧繀澶囧伐鍏锋姄绱ф帉鎻
01路Vim鏂囨湰缂栬緫鍣
浼樼偣:锷熻兘寮哄ぇ銆侀珮搴﹀彲瀹氩埗锛孷i缂栬緫鍣ㄤ腑链濂界殑涓涓銆
Vim鏄痸i鍙戝𪾢鍑烘潵镄勪竴涓鏂囨湰缂栬緫鍣ㄣ备唬镰佽ˉ鍏ㄣ佺紪璇戝强阌栾璺宠浆绛夋柟渚跨紪绋嬬殑锷熻兘鐗瑰埆涓板瘜锛屽湪绋嫔簭锻树腑琚骞挎硾浣跨敤锛屽拰Emacs骞跺垪鎴愪负绫箓nix绯荤粺鐢ㄦ埛链锽沧㈢殑鏂囨湰缂栬緫鍣ㄣ
02路uTools妗岄溃鎻掍欢宸ュ叿
浼樼偣:绠娲佺编瑙伞佹彃浠跺寲锛岃兘澶熻妭绾︽椂闂淬倁Tools 鏄涓涓鏋佺亩銆佹彃浠跺寲镄勭幇浠f岄溃杞浠讹纴阃氲繃镊鐢遍夐厤涓板瘜镄勬彃浠讹纴镓挞犲缑蹇冨簲镓嬬殑宸ュ叿闆嗗悎銆
03路Git鍒嗗竷寮忕増链鎺у埗绯荤粺
浼樼偣:鍒嗗竷寮忓紑鍙戙侀熷害蹇銆佺伒娲汇侴it鏄涓涓寮婧愮殑鍒嗗竷寮忕増链鎺у埗绯荤粺锛屽彲浠ユ湁鏁堛侀珮阃熷湴澶勭悊浠庡緢灏忓埌闱炲父澶х殑椤圭洰鐗堟湰绠$悊銆备篃鏄疞inusTorvalds涓轰简甯锷╃$悊Linux鍐呮牳寮鍙戣屽紑鍙戠殑涓涓寮鏀炬簮镰佺殑鐗堟湰鎺у埗杞浠躲
04路Navicat鏁版嵁搴撶$悊宸ュ叿
浼樼偣:楂樻晥銆佸畨鍏锛屾槸链濂界敤镄勬暟鎹搴撶$悊宸ュ叿銆傗淣avicat钬濇槸涓濂楀彲鍒涘缓澶氢釜杩炴帴镄勬暟鎹搴撶$悊宸ュ叿锛岀敤浠ユ柟渚跨$悊 MySQL銆丱racle銆丳ostgreSQL銆丼QLite銆丼QL Server銆丮ariaDB 鍜 MongoDB 绛変笉钖岀被鍨嬬殑鏁版嵁搴掳纴瀹冧笌阒块噷浜戙佽吘璁浜戙佸崕涓轰簯銆丄mazon RDS銆丄mazon Aurora銆丄mazonRedshift銆丮icrosoft Azure銆丱racle Cloud 鍜孧ongoDB Atlas绛変簯鏁版嵁搴揿吋瀹
05路IntelliJ IDEA闆嗘垚寮鍙戠幆澧
浼樼偣:涓氱晫鎺掑悕绗涓镄刯ava寮鍙戝伐鍏枫侷intelliJIDEA锛屾槸java缂栫▼璇瑷镄勯泦鎴愬紑鍙戠幆澧冦侷ntelliJ鍦ㄤ笟鐣岃鍏璁や负链濂界殑Java寮鍙戝伐鍏凤纴灏ゅ叾鍦ㄦ櫤鑳戒唬镰佸姪镓嬨佷唬镰佽嚜锷ㄦ彁绀恒侀吨鏋勚丣avaEE鏀鎸佸悇绫荤増链宸ュ叿(git銆乻vn绛)銆丣Unit銆丆VS鏁村悎銆佷唬镰佸垎鏋愩佸垱鏂扮殑GUI璁捐$瓑鏂归溃镄勫姛鑳藉彲浠ヨ存槸瓒呭父镄勚
06路iTerm2缁堢绠$悊鍣
浼樼偣:锷熻兘寮哄ぇ锛屼竴娆剧粓绔绁炲櫒銆俆erm2 Mac鐗埚彲浠ヨ存槸Mac涓嬫渶濂界殑缁堢宸ュ叿銆俰Term2𨰾ユ湁澶氭爣绛俱佷腑阌澶嶅埗绮樿创銆佸懡浠よ板繂銆侀珮浜鎸囬拡銆佽繀鎹烽吨澶嶃佸叏灞忓垏鎹㈢瓑锷熻兘锛屾彁鍗囨搷浣沧晥鐜囥
07路Alfred镆ヨ㈠拰鎼灭储宸ュ叿
浼樼偣:琚绉颁綔鏁堢巼绁炲櫒銆
Alfred鏄 Mac绯荤粺涓娄竴娆句笓娉ㄤ簬鏁堢巼鎻愬崌镄勮宪钖嶅簲鐢锛屽畠鑳藉府浣犲揩阃熸墦寮缃戦〉銆佸揩阃熻繘琛岃嚜瀹氢箟鎼灭储镆ョ湅鍓璐存澘铡嗗彶銆佸揩阃熸煡璇㈠崟璇岖瓑绛夈侫lfred 鎻愪緵镄勫姛鑳借槠铹跺緢澶氾纴浣嗙洰镄勫彧链変竴涓 - 闾e氨鏄鍑忓皯鎴戜滑宸ヤ綔涓镄勪竴浜涢吨澶嶅姩浣滐纴鎻愬崌鎴戜滑镄勫伐浣沧晥鐜囥
08路Beyond Compare浠g爜姣旇缉宸ュ叿
浼樼偣:楂樻晥锛岄傜敤浜庣敤浜庢枃妗c佹簮浠g爜鍜孒TMLoBeyond Compare鍙浠ュ緢鏂逛究鍦板规瘆鍑轰袱浠芥簮浠g爜鏂囦欢涔嬮棿镄勪笉钖屼箣澶勶纴鐩稿樊镄勬疮涓涓瀛楄妭鐢ㄩ滆壊锷犱互琛ㄧず锛屾煡鐪嬫柟渚匡纴鏀鎸佸氱嶈勫垯瀵规瘆銆
09路Docker寮婧愮殑搴旂敤瀹瑰櫒寮曟搸
浼樼偣:璺ㄥ钩鍙帮纴璺ㄦ湇锷″櫒锛屽疄鐜板簲鐢ㄧ▼搴忚法骞冲彴闂寸殑镞犵绅琛旀帴銆
Docker 鍏朵腑鍖呮嫭锛岄暅镀忋佸瑰櫒銆佷粨搴掳纴寰堢亩鍗曪纴鐩镄勫氨鏄阃氲繃瀵瑰簲鐢ㄧ粍浠剁殑灏佽呫佸垎鍙戙侀儴缃层佽繍琛岀瓑鐢熷懡锻ㄦ湡镄勭$悊锛屼娇鐢ㄦ埛镄勪骇鍝(鍙浠ユ槸 web 搴旂敤鎴栬呮暟鎹搴揿簲鐢)鍙婂叾鐜澧冭兘澶熷仛鍒扳滀竴娆″皝瑁咃纴鍒板勮繍琛屸濄
10路Postman鎺ュ彛璋冭瘯涓庢祴璇曞伐鍏
浼樼偣:锷熻兘寮哄ぇ锛屼娇鐢ㄧ亩鍗曚笖鏄撶敤镐уソ銆侾ostman鏄涓涓绠鍗曞ソ鐢ㄧ殑缃戦〉璋冭瘯杞浠讹纴寰堥傚悎寮鍙戜汉锻树娇鐢锛屾ц兘绋冲畾娴佺晠锛屾彁渚涙帴鍙f祴璇曘佸苟鍙戞祴璇旷瓑锷熻兘锛岃缮鏀鎸佺紪鍐欐祴璇曡剼链锛屽揩阃熷勭悊钖勭岺TTP璇锋眰锛屾祴璇曟暟鎹绮惧嗳楂樻晥銆
Ⅱ 程序员个人工作总结
程序员个人工作总结五篇
总结是指对某一阶段的工作、学习或思想中的经验或情况加以总结和概括的书面材料,它可以促使我们思考,让我们抽出时间写写总结吧。但是总结有什么要求呢?以下是我整理的程序员工作总结,欢迎阅读与收藏。
一、提高自己,认真对待工作
几个月前还是刚刚来到__公司的我是一个略带青涩的人,进友侍入到__公司之后我就被这里的工作气氛所吸引,我看到了来自一个优秀企业的员工那种为工作拼搏的精神,在咐告余刚刚进入到__公司,我就接手一个压力不小的职位,对于我来说是一个挑战不小的工作,我的工作是开发,维护,在工作中最多的就是修复bug,每天就是重复一样的工作,这样子的工作状态我觉得自己很受益,虽然每天自己的工作基本上都差不多,但是就是这样的工作让我锻练了自己,在没来到__公司之前我就是一个毕业生,在这试用期的工作之中让我感受到了,在校跟在企业的区别,很大的差距,在一个企业能学到的东西不是学校那样的,可能会更加的适用,这让我非常的有感触。
在__公司这短短几个月的试用期,我在工作之中勤勤恳恳,不会为自己的工作错误找任何借口,我虚心的接受同事们的意见,对于比武优秀的同事我积极的靠拢,其实往往就是这样的狭小举动,会让自己收益终身,保持这样工作习惯对自己有很大的帮助,知道现在我还是这样么认为,自己不会的就问,一个个的问,知道自己完全了解,这样的日积月累不断地在提高自己,时间一久我能够清晰的感受到自己的进步,特别是在工作之中,这更加的坚定了我对工作的态度,认真,细致。
二、自身不足之处
在工作之中有时候会高估自己,这是我一个非常不好的习惯,太过于自信了,在工作后中这样的性格也让我吃了不少亏,也让我体会到可这种性格的坏处,我一定好好地吸取,改进。
本人从事asp.net开发进一年,__年11月开始上班,之前做asp,__年2月后开始做asp.net,由于公司转型,现在带十几个人在一起搞asp.net开发,主要是关于准金融行业的行业管理软件。年度总结在会议上也写了,但仅限于对于工作总结及——年工作计划,自我总结较少,因此今天专门做下自我的年度总结,主要从技术、管理、人生上面谈谈这一年的收获,前辈路过欢迎多多指正。
我在学校里学的是电气自动化,程序基础仅限于c基础课程的一些知识,后来由vb、html转向asp,在asp上花费了不少时间,对asp比较熟悉,后来由于公司业务需要,将开发平台转向asp.net,开始对asp.net不是很感冒,以为就是asp的一点扩展(那时还不知道三层架构,数据数据访问全在页面里!),后来招来几个北大青鸟的过来终于意识到asp.net的强大之处,经过个人的努力已经逐步掌握了asp.net,现在层次上只能讲个人觉得是入门而已,原因是多方面的,待会儿会讲到。
相信从面向过程转向面向对象的同学都有一种感觉衡滚:面向对象开始真的有点别扭,涉及到属性,尤其是类之间的各种关系,那时老想用面向过程传递参数多方面啊。于是老在想对象这种东西,从概念中跳中来,以自己的方式去理解才逐渐体会到页面对象的精华来,分层次展现、分级别访问、封装对象之间各种关系逐渐真正理解了,尤其是对象之间的关系,如对象a与对象b两者之间的关系,有些需要完全公开,有些需要隐藏,有些需要通过第三方传递,有些需要给自己的下级可见,有些需要让下级去完成具体操作——这不是现实的实际模型吗?应该这么理解,面向对象来源于现实,它不是一种凭空空想出来的理论,这些对象之间的关系可以将其还原为父子、夫妻、领导下属、同事、朋友之间的关系。相比之下,页面过程往往像是一股脑全部推给用户使用,其中的数据与数据访问方法层次不清晰,在模拟现实上它与面向对象相比更易于入门理解,实质上难于准确直接地表述。
面向对象上另一方面是它的设计模式,在之前的面向过程中对这个设计模式并没有清晰地提出来,面向过程优秀的代码要求高内聚低耦合,从个人的理解上,这仅是对软件开发方法“技”上理论总结;设计模式是达到了“道”的层次,因为它从更大的方向、更抽象的层次来去表述具体的代码模块之间的关系,可以认为设计模式是完全从实际的应用来不断总结得来的经验,之间并没有这种术语,但相信前人肯定也使用到这种思想,它从实际应用于来,当然要应用于实际工作中,认真思考不断总结每个人都会有自己的“设计模式”,可以借鉴前人的思想来去提升自己,不可去为“设计模式”而设计模式。
具体到asp.net的实现模型中,真正理解它的机制与方法也就不难理解,记住b/s中离不开post或get,所有的autopostback、selectedinde—changed……都是去调用form传值,加上runat=server的服务器控件打开它生成的源文件也是普通的html标签,微软的让软件开发更容易的思路是很好的,时代在前进,很多年前你使用c写出mis证明你很牛,很多年之后你不在使用c去写“学生管理系统”、“图书馆管理系统”那只能说明你的脑子少一根筋,开发语言都有长处与不足的地方,因为它们适用的场合不同,类似不能拿匕首去跟炮弹比,也不能拿c与php比,程序员都有一种偏执的心理,但一点要记住,你面对的用户才有最终发言权,程序能不能满足需要,易用性、稳定性、成本才是应当首先放到重要位置来去谈的。管理最开始担任管理一职时开发团队加我在内只有四个人,那时只是抱着接受挑战的心理去做管理,加上我本人比较重感情,团队之间关系相处都不错,但严重的问题逐渐显露出来:工作的随意性、团队精神薄弱、工作方式蛮干,印象深刻的是有几个开始承诺项目不能完工,于是最后天天加班,一直做到早上6点,睡一会7点半接着上班,几个同事都是年龄差不多的小伙子,干劲十足。后来随着时间的推进,问题越来越摆在眼前:项目迟迟不能完工,又由于公司待遇方面让新员工感觉不值得,于是形成了老板抱怨员工也抱怨的状况,我在中间两点都要去“消火”,这期间是我们部门相对最累的时间但也是相对感觉最充实的时候,后来,之前的员工跟我说“再也找不到那种感觉了”,这是我能想象的。这期间主要是老总对我十分信任,工作上主要是管理方法上对我指点了不少。后来我逐步体会到,管理应该是“大家定规则去遵守”,而不应该是“人管人”。
人管人很容易陷入一个误区:领导去时时刻刻关注每个员工,这样最后往往后造成员工对领导的敷衍了事,管理松了员工会责任下下降,管理紧了造成员工与领导关系紧张,另一方面领导时间精力有限必然耗费大量的精力在日常的监督中而不能投入到全局的管理中。
于是“定制度—定分工—定进度”,明确日常所有的规章制度,这期间除了公司主要的工作规章制度外其他的日常工作纪律、日常管理等规章制度都是我本人制订,然后征求大家意见最后去贯彻执行。中间也遇到了不少问题,比如开始我们内部是允许使用qq的,后来员工用qq闲聊的时间增多,大大影响了工作效率,最后决心禁止,开始阻力较大(貌似程序员都喜欢挂上几个qq去到群里搞个群主,虽然群里大多都是菜鸟),最后多次开会,逐个谈话,阐明道理,形势逐渐好转。
项目分工上针对技术水平明确分工,制订项目开发计划,由于开始技术都不是很成熟,不少时间我这边强势要求,使用野蛮方法,完不成加班——我陪着加班,这段时间能感觉到员工对我稍有怨言但总体还是认可的。
这期间公司新招人员,人员的增多更使我意识到团队管理的重要性,这期间版本控制、编码规范、文档管理、bug管理等诸多问题都得到一一解决,技术水平上主要是我个人利用空余时间学习新知识充电,然后展开各种培训,主要是photoshop、css、js、sql等方面,培训一方面提升了员工的技术水平,一方面我本人在学习培训的过程中得到的最多,因为这个时候个人要求去思考的会更多,加上我本人对技术兴趣比较深厚,所以后期工作慢慢踏入良性循环。
待遇低、条件艰苦、工作时间长、工作压力大是团队中的难题,这方面公司在某些方面决策层有着严重的错误思想,造成技术人员对公司埋怨增多,在这方面我本人只能以劝架婆的身价去安慰身边的兄弟,因为我明白现在公司的问题与当前中国软件行业的通病一样,盲目追求利益化,不求质量,但求速度,整个社会风气造成软件行业良莠不齐发展,整个中国三四个人的开发团队组成的公司数不胜数,整个程序员阶层生存状况可想而知,疯狂加班、代码质量低下、维护成本大、稳定性差、用户体验差。当然我们本身不能去逃避这个现状,对于个人来讲任何假大空的口号都是没有意义的,程序员作为技术人员最重要的是心态,以良好的心态去面对各种问题,发现问题、解决问题,发现问题抱怨是解决不了问题的,最主要是解决问题。我在面试员工时反复提到的三点是;工作态度、发展潜力、工作能力,由前向后排序,心态最重要,大公司大家都想削尖脑袋往里挤,但名额有限,所以广大的程序员同志绝大多数都集中在二流三流四流的软件公司,这个时候更应该做好个人职业定位。以我个人的经验,新员工选择一家公司往往最看重工资待遇跟发展潜力,程序员是一种不可以混日子的职业,工作能力很重要,但不是最主要的,工作态度是最重要的,工作态度往往跟个人的思想认识还有职业所在的环境有关,我个人的体会是绝不能太过于情绪化,情绪化无论是对工作还是对个人的发展都是不利的,就是说哪怕是明天你要辞职,你今天都要把今天要做的事情认真用心做好。
对于工作责任心不够的员工是尤其值得关注的,他们往往自我意识过于强烈,追求以自我为中心,很多时候伴随着工作得不到认可、工作感觉不充实不开心,我会主动找他谈话,我认识:你管理的是一个实实在在的人,他不是一台任你摆布的机器,人会有情绪往往是有心结,找到原因,多加开导,用心去关心每个成员。对于实在不适合在本团队发展的员工要做好最坏打算。程序员这个职业与现在的大学生具有一致的特征,一个是从天之骄子沦为多余人,一个是从高智商人士成为今天中国通行的”it民工“。另一方面是程序员往往年龄集中在20—25之间的男性中,情绪化、失落感、心理不成熟等一系列问题都会出现。但这个阶段的人往往也最易沟通,可塑性也较强,适当的引导、合理的方式会比野蛮的管理效果强上百倍。
这一年来的工作已经结束了,我知道这对我而言是有很大的提高,作为一名程序员我坚定的认为自己是可以做的更好,在未来的学习当中我还是深有体会的,以后在学习当中,在这一点上面我希望自己可以做的更加的到位,作为一名技术人员,我还是做的非常不错的,希望自己在这一年来的工作当中我可以继续维持好的状态。
这一年来的工作当中,我现在还是希望可以做的更好,公司对我的培养还是比较多的,在这方面我是坚定的体会到了这一点,在未来的工作当中,我是坚持的做好了很多的事情的,年终之际我回顾起来确实是获得了很多,我也希望自己在以后的学习当中,我深刻的意识到了这一点,过去一年来我也是独完成了很多的工作,也和公司的同事一起合作了一些项目,在这个过程当中,我也确实是深刻的意识到了这一点,我知道在这方面我是维持了一个好的状态,现在回顾起来我清楚的意识到了这一点,通过这次的项目我还是深有体会。
我绝得工作能力是需要不断的去落实,对于这一点我是感觉非常有意义的,年终之际,在这个过程当中,我清楚的意识到了这些细节是可以做的更加到位,我觉得以后还会有更多的事情可以做好,这一年来的工作结束了我也是希望自己可以把工作做的更好,想要把工作做的更好,我还是深有体会,在一些事情上面,我确实感觉很有意义,在工作当中我进一步的调整好了自己各个方面的职责,公司对我个人能力还是做出了很多的判断,我相信在这一点上面我知道自己各个方面是非常有意义的,在公司做好自己分内的职责,当然我也是意识到了自身的努力还是值得的,我也想要为公司争取更多的价值。
我也是清楚的意识到了自己的不足,虽然每天的工作很充实,但是在一些项目上面,还是做的不够好,出现了一些细节的问题,这也确实是我应该要去调整好的,我会改正自己的不足之处,在以后的学习当中,我会继续做好自己分内的职责,在程序工作方面应该要更加的细心,我会让自己做的更好的,感激公司领导的关照,以后我也一定会让自己做出更好努力,努力提高自己的工作能力,做技术工作让我感觉很有意义,新的一年我一定会认真做好工作。
一、软件开发
根据公司的安排和项目的需要。由于我们自己的努力,在吴经理的帮助和团队的配合下,我们克服了许多技术困难,增加了工作经验,获得了丰厚的利润:
1.ASP.NET的发展
以前在其他公司做过一些开发,没有涉及底层,架构,页面风格。通过这一年在我们公司这些项目的培训,我成长了,学到了很多。
一、面向对象语言的收获。当前编程的主流思想是对象,一切都可以用对象来表示。以前很难从表面上理解这些话,而不是从深入的体验中。通过这个ASP.NET项目的深化,我们可以将数据和一些外部条件抽象成对象,这些对象可以用对象来表示,具体可以用语言中的类等来表示。这在ASP.NET、c#和java中是真实的。
二、具备独立完成VB.NET知识的能力。我之前在vb没做过什么,加上这次的深入工作,这次涉及的领域也很广,常用的重要的都有涉及,_ML和_实际操作中的空白部分也有补充。通过这一年的发展,我能够胜任。net,并能独立完成这项工作。
三、有一些缺点。通过对c#软件的开发,localhost也发现了自身的不足,比如对基础知识的把握较弱,缺乏整体的编程思路。这些都需要我们在工作中加以完善和改进。
2.数据库开发
数据库是自项目以来最常用的技术。以前我们只知道数据库上一些简单常见的操作。经过今年的实战,我们积累了一些丰富的数据库操作经验。为以后的工作打下了坚实的基础,积累了经验。同时项目中使用了oracel和access数据库,这是我的收获。
优点:能够熟练运用数据库技术进行开发。尤其是sql数据库的操作,经过这么长时间的积累,基本上可以合理地设计和构建一个新的数据库,同时也加强了对数据库在数据结构方面的理解。通过项目的实践,我现在可以熟练地使用和编写各种sql语句。我掌握了一些关于数据库优化和sql语句优化的方法,可以做一些简单的优化。
缺点:数据是一种高级技术,不是说你可以写一些sql语句,而是你可以构建几个数据库。成为一个好的数据库管理员需要很长时间。针对自己的缺点,在以后的工作学习中,多接触,多使用新的知识点。丰富自己的经验和知识储备。
二、团队合作
以上的成功和收获,除了自己的努力,还有公司的支持。这个团队造就了我。我们的团队也是一个务实、努力和创新的团队,因为我们的团队成员都很努力。我和软件R&D团队是一个整体,这里的团队总结也是我在这个团队的收获。
务实:公司下达的任务和工作都用心去做。我们团队中没有人在工作时除了工作之外做过其他事情,这些都是真实的实在在的做跟工作相关对公司有益的事情。相信在伍经理的带领下现在是这样,以后同样也是这样。
拼搏:公司给的每一个任务不管它多难,如果工作没有完成我们会晚上加班,也要尽可能的完成当天的工作。如果工作实在忙,为了赶进度我们放弃周末休息时间也要尽可能的使项目提前。
创新:现在我们开始项目的时候都会进行研讨,一般都会进行一个效率和逻辑的分析与讨论,保证程序正确的前提尽可能的提高程序的效率。
互助:我们小组内只要任何一个人出现技术或其它的问题,我们都会彼此都会尽可能的去帮助他。不会因为某一个人而拖住整个项目滞后。
交流:我们在项目中会及时沟通自己的收获,特别是一些针对性的技术问题。这样可以省了很多重复研究的时间,这是一笔很可观的时间。
在交流中只要我会的,我懂的,我不会去吝啬。我会积极的去与你交流,我的团队名言“人强团则强,人弱团则削”。
三、个人成长
通过公司这快一年的锻炼与学习我真的进步了很多,不管从技术上还是做事上,都不像以前那样了。我在公司学到的懂得的使我飞速成长。
技术上:不管从语言上还是做事的逻辑上都得到了很大的提高。现在在软件小组里面自己能独立完成一部分工作,承担自己的责任。
光阴如梭,一年的工作转瞬即将成为历史,伴随着新年钟声的临近,我们依依惜别硕果累累的20__年,满怀热情的迎来即将到来的20__年。在这年终之际,现对我来公司这几个月的时间里,总结自己所做的工作,分析在工作中的得与失,现汇报如下:
20__年的六月份,我带着好奇而欢快的心情来到我心目中向往的神圣之地北京。这是我毕业后第一个目标,来北京发展。我离开了我上学的原始领域,和我的同学们踏入北京之地。说句好听的,我的技术生涯还是很幸运的,当然这是我相对于留守本地找工作的同学来说的,面对高昂的学费和残酷的社会现实,选择本专业就业还是有一定困难的,在北京中关村混了几个月后,幸运地找到了我人生的第一份工作,做Java程序的工作。也就是来到咱们公司—北京联合兴辰。
来到贵公司,学了半个皮毛的MVC和SSH的我有了份工作,我感到十分的庆幸,也承担了第一个项目,能一个人自主开发的项目。在这里,终于能够将学到的那点东西派上用场。从技术的角度来讲,20__年我的关键词就是SSH,其次就是Hibernate。
这几个月淡淡无奇,学到的东西很多,有框架上的、Mysql数据库的,等等,但是也都是在皮毛上的,掌握着能熟练使用而已。首先,做程序员的要记住第一条经验:“学历代表过去、能力代表现在、学习代表未来。”我个人觉得学历并不代表全部,我们每天都可以学到新的知识,知识是可以一点点积累的,只要肯努力,一切皆有可能,其次,一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,“我刚毕业,还不知道将来可能做什么?”“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先在行业里面混混,过几年转行做点别的?这很重要,这是你值得深思的问题,它将决定你近几年、十年内“做什么事情才是在做正确的事情!。”
软件开发团队中,技术不是万能的,但没有技术是万万不能的!在技术型团队中,技术与人品同等重要,当然长相也比较重要么。在软件项目团队中,技术水平是受人重视和尊重的重要砝码。无论你是做ERP、管理、系统分析、设计、编码,还是产品管理、测试、文档、实施、维护,多少你都要有技术基础。但是你没有这方面的基础是万万不能胜任你的工作的详细制定自己软件开发专业知识学习计划,并注意及时修正和调整(软件开发技术变化实在太快)。请牢记:“如果一个软件开发人员在1、2年内都没有更新过自己的知识,那么,其实他已经不再属于这个行业了。”
不要告诉自己没有时间。时间就像海绵里的水,多学一些技能对于我们来说亏不到自己,我们的工作从学而来,就是靠着每天的学习,交流,做人中得到书籍是人类进步的阶梯,对软件开发人员尤其如此。我的项目经理经常说,趁着自己还年轻,花几个钱买书看看,书籍是学习知识的最有效途径,不要过多地指望在工作中能遇到“世外高人”,并不厌其烦地教你。只有通过自学将书本变成的自己智慧,才算是真正拥有了它。不要仅局限于对某项技术的表面使用上,哪怕你只是偶尔用一、二次。
对于一个做程序的,试试学习其领域的相关知识点,对各个平台都要了解,向什么JavaEE,J2ME,JavaSE,VB,VCC#,C++这些程序啊,也要试着去了解他们,虽然程序的套路基本是差不多的,但是也各有千秋的,我是学Java的,当然Java很强大,我就很爱Google出的那个安卓系统,Java实在太牛啦!不得不惊叹,例如我没有事的时候也因该提醒自己学习一些JBoss、Spring、Hibernate等等优秀的开源产品或者框架,抽空看看大师们是如何抽象、分析、设计和实现那些类似问题的通用解决方案的。试着研究一下jar包,知道每个jar的功能和实现的方法,免得自己以后的工作遇到一些让你不明就里、一头雾水的问题,因为,很多东西你“知其然且知其所以然”!在一种语言上编程,但别为其束缚了思想。“代码大全”中说:“深入一门语言编程,不要浮于表面”。深入一门语言开发还远远不足,任何编程语言的存在都有其自身的理由。
有时候咱们会遇到一些问题,你单纯的用着一种方法有时候会解决不了问题,或者遇到问题卡在那里啦,这是你需要的是灵感。灵感来自那里,你可以借鉴Spring、Hibernate、JBoss等等优秀的开源框架的设计思想,你可以参照Java的IoC、AOP的设计思路,你可以从其他语言的程序中借鉴他们的套路,这就是我们的灵感,俗话说“他山之石、可以攻玉”。养成总结与反思的习惯,并有意识地提炼日常工作成果,形成自己的个人源码库、解决某类问题的通用系统体系结构、甚至进化为框架。我们在做程序的时候,别人为什么要提示你把每个方法都要写上注释,注释这段代码是干什么的,这是做好一个程序员基本的要诀,这就是你的基本功,当然在写代码的时候也不是都是有用的代码,有些功能是可以通用的,咱们为什么不可以给他打包封装jar,将来或者以后会用到呢,为什么会有那么多很牛的框架,这些都是程序员们提炼出来的,形成一整套的代码结构和体系,被人用的时候感觉非常好用,我们目前写不了这么牛的程序,但是还是可以形成自己的个人源码库的。
心态有多开放,视野就有多开阔。不要抱着自己的技术和成果,等到它们都已经过时变成垃圾了,才拿出来丢人现眼。请及时发布自己的研究成果。例如你在网上看到别人遇到问题,这个问题可能你之前也遇到啦,不要抱着你那自私的心态,背后说“累死你,自己去找吧,小样“,建议大家,上你的CSDN号,我感觉这个东东很不错,技术交流。咱们“与人交换苹果之后,每个人还是只有一个苹果;但交换思想之后,每个人都拥有两种思想”,道理大家都懂,但有多少人真正能做到呢?我的反思不要去做技术上的高手,学会做人。提高自己的专业技能,能胜任工作。
提高软件知识和技术只是问题的表面,本质是要提高自己认识问题、分析问题、解决问题的思想高度。在能胜任工作的基础上,立即去涉猎其它领域的专业知识,丰富自己的知识体系、提高自己的综合素质,尤其是那些目标不在技术方面的朋友。这也是本人的目标,再接再厉吧!
Ⅲ 杩愯惀浜哄憳銆佷骇鍝佷汉锻樸佽捐″笀銆佺▼搴忓憳锲涜呰ユ庢牱钖堢悊鍏卞瓨锻锛
璋㈣阿闾璇凤紒
鍏跺疄鍦ㄥ洖绛旇繖涓闂棰树箣鍓嶏纴鎴戝氩皯链変竴浜涚姽璞锛屾墍浠ユ垜娌℃湁鍦ㄨ闾璇风殑绗涓镞堕棿𨱒ュ洖绛旇繖涓闂棰樸傝槠铹惰窡鍦ㄥ矖浣嶅悗闱㈢殑锷ㄧ墿镓鍏峰囩殑镆愪簺鐗规ц窡宀椾綅链夐偅涔堜竴涓濆戝悎锛堟湁鐩镐技镐э级锛屼絾杩樻槸镒熻夊氩皯链変竴浜涗笉濡ワ纴灏卞儚鎴戜滑骞虫椂璇寸殑寰埚氩瑰矖浣岖殑鎻忚堪鏄镞犳硶鏀惧埌鍙伴溃涓婄殑涓镙枫
镓浠ユ垜鍦ㄥ洖绛旇繖涓闂棰树箣鍓嶏纴鎴戦栧厛澹版槑涓涓嬶纴鎴戝苟娌℃湁璁ゅ彲宀椾綅鍜屽姩鐗╀箣闂寸殑鍏崇郴锛屾洿娌℃湁涓嶅皧閲崭换浣曚汉镄勬剰镐濓纴璇峰嬁瀵瑰彿鍏ュ骇銆
鎴戠▼搴忓憳鍑鸿韩銆佺洰鍓崭篃甯﹁蒋浠跺紑鍙戝洟阒熷氩勾锛岀粡铡呜繃澶уぇ灏忓皬寰埚氶”鐩锛岃嚜铹惰窡杩愯惀銆佷骇鍝併佽捐°佺▼搴忛兘镓撹繃浜ら亾锛岃繖浜涜掕壊链夊悇镊镄勪换锷★纴钖屾椂鍙堟湁澶澶氱殑浜ら泦锛岃槠铹跺ぇ鐩镙囨槸缁熶竴镄勶纴浣嗘槸姣旷珶钖勮嚜镄勫矖浣嶈亴璐d笉钖岋纴链夌殑镞跺椤啿绐佷篃鍦ㄦ墍闅惧厤銆傝繖涔埚氩勾𨱒ワ纴鎴戜篃镐荤粨浜嗕竴浜涚粡楠岋纴浠婂ぉ灏辫繖涓闂棰桡纴璺熷ぇ瀹跺垎浜涓涓嬨
棣栧厛锛屾垜鎶婂矖浣嶅啀缁嗗寲涓涓嬶纴鎴戞妸浜у搧缁忕悊銆佺瓥鍒掋佽繍钀ョ粺涓鍒颁骇鍝侀樀钀ワ纴鎶婃灦鏋勫笀銆佽呜夎捐°佷氦浜掕捐″垝鍏ヨ捐¢樀钀ャ佹妸椤圭洰缁忕悊銆佸墠绔寮鍙戙佸悗绔寮鍙戦兘褰掑叆绋嫔簭锻橀樀钀ャ
浜у搧阒佃惀璐熻矗浜у搧镄勫畾浣嶃佸姛鑳界瓑鍐呭癸纴浜у搧阒佃惀璧嬩篑浜у搧镄勭伒榄伞傝捐¢樀钀ュ嚭鏂规堬纴钥岀▼搴忛樀钀ュ垯璐熻矗瀹炴柦銆傝繖涓変釜阒佃惀涓锛屼骇鍝侀樀钀ユ棭链熻窡璁捐¢樀钀ヤ氦浜掞纴璁捐℃柟妗堢‘瀹氢箣钖庝氦缁欑▼搴忛樀钀ワ纴铹跺悗椤圭洰缁忕悊璐熻矗椤圭洰镄勮繘搴﹀拰璐ㄩ噺锛屾渶缁堟妸浜у搧鍦ㄨ勫畾镄勬椂闂村懆链熷唴浜や粯缁欎骇鍝侀樀钀ラ獙鏀讹纴濡傛灉涓鍒囬‘鍒╃殑璇濓纴杩欎笁涓阒佃惀浼氶潪甯告剦蹇锛屼絾鏄寰寰涓崭细闾d箞椤哄埄銆
杩欎箞澶氩勾浠ユ潵锛屽艰嚧浜у搧阒佃惀涓庤捐¢樀钀ュ拰绋嫔簭阒佃惀鐭涚浘閲嶉吨镄勫师锲犳棤闱炲氨鏄浠ヤ笅鍑犵偣锛
绗涓锛屼骇鍝侀樀钀ヨ皟鏁撮渶姹傚緢闅忔剰锛堟垨钥呯粰鍏朵粬阒佃惀镄勬劅瑙夋槸杩欐牱锛夛纴瀵艰嚧鍏朵粬阒佃惀琚锷ㄦ帴鍙椼
绗浜岋纴浜у搧阒佃惀涓嶈ゅ彲鍏朵粬阒佃惀涓烘や粯鍑虹殑锷冲姩鎴愭灉銆
绗涓夛纴鐢变簬浜у搧阒佃惀镄勯梾棰桦艰嚧椤圭洰寤舵湡锛岀粨鏋滃叾浠栦袱涓阒佃惀琚锷ㄨ儗阌呫
镓浠ワ纴涓嶈兘鍜岃皭鍏卞勭殑铡熷洜锛屽湪鎴戠湅𨱒ヨ缮鏄鍒跺害鍑轰简闂棰樸备负浜呜В鍐宠繖鍑犱釜闂棰桡纴鎴戜滑锲㈤槦鍒跺畾浜嗕互涓嬭勫垯锛
绗涓锛屼骇鍝侀樀钀ュ湪璋冩暣闇瑕佹椂瑕佽繘琛屼弗镙艰鸿瘉锛岃佹湁鐞嗘湁鎹锛岃呖灏戣佺粡杩囦袱娆¢泦涓璁鸿瘉锛屽湪绗浜屾¤鸿瘉镞惰佹眰鍏鍙哥殑浜у搧镐荤洃銆佽储锷¤礋璐d汉銆佽捐°侀”鐩缁忕悊鍏卞悓鍙傚姞锛屽綋纭璁ら渶姹备箣钖庯纴椹涓娄负姝ゆ¢渶姹傛嫧浠树笓椤硅祫閲戙
绗浜岋纴璁捐¢樀钀ュ嚭鏂扮増璁捐★纴璁″叆涓瀹氭瘆渚嬬殑缁╂晥宸ヨ祫鍜屽栭噾銆
绗涓夛纴绋嫔簭阒佃惀绔嫔嵆灏佹澘锛屼互瀹屾垚𨱍呭喌瀹氱哗鏁埚拰濂栭噾锛岃繖涓昏佹槸璁ゅ彲绋嫔簭锻樼殑宸ヤ綔銆
瀹为檯镓ц岃繃绋嬩腑鍙浠ョ伒娲讳竴浜涳纴濡傛灉浜у搧锛堜笂绾垮墠浜у搧锛屼笂绾垮悗杩愯惀锛夎佹眰鏂板炲姞涓浜涘皬锷熻兘锛屽彧闇瑕佺▼搴忛樀钀ョ洿鎺ュ规帴镞讹纴闾d箞鐩存帴瀹氱哗鏁埚氨鍙浠ヤ简锛岃繖璺熷尰闄㈢殑钬沧寕鍙风湅䦅呫佷粯璐瑰彇钻钬濆氩皯链変簺绫讳技锛屾疮涓娆¤皟鏁撮兘闇瑕佷骇鍝佺‘璁ゃ
鎴戠殑镰旂┒鏂瑰悜鏄澶ф暟鎹鍜屼汉宸ユ櫤鑳斤纴鎴戜细闄嗙画鍦ㄥご𨱒′笂鍐欎竴浜涚浉鍏崇殑绉戞櫘鏂囩珷锛屾劅鍏磋叮镄勬湅鍙嫔彲浠ュ叧娉ㄦ垜镄勫ご𨱒″彿锛岀浉淇′竴瀹氢细链夋墍鏀惰幏銆
濡傛灉链夊ぇ鏁版嵁鐩稿叧镄勯梾棰桡纴涔熷彲浠ュ捝璇㈡垜銆
璋㈣阿锛
Ⅳ 怎样做一名高效率程序员
1、理解编程语言的原理
三流的人才懂应用,二流的人才懂开发,一流的人才懂原理。各种语言之间存在着相似的地方,掌握语言的原理是必不可少的。最重要的,让语言去适应项目,反之亦然。
2、向优秀程序员学习
你有一个苹果,我也有一个苹果,我们交换苹果,你我还是有一个苹果;你有一种思想,我也有一种思想,我们交换思想,你我就有了两种思想。
与优秀的程序员为伍,你将吸收的最实用的经验,这远比你一个人自学、死磕编程来的快一些。有一句话说到好,与臭棋佬下棋,棋会越下越臭。不可否认这样一个事实:和什么样的人在一起,就有什么样的格局,就会有什么样的人生。
3、了解数据结构和算法
如果你要成为一个高效的开发者,就必须学会快速排序、学会辨认O(n2)程序、学会编写递归函数。
学会多种语言,你便会更清楚不同的框架是相同问题的是如何解决的。尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。
4、精通一个编辑器
高效开发者通常是用IDE编辑器吗?其实不是的,他们更常用的文本编辑器,因为这样更会学到东西。
如果使用编辑器选择通用的Emacs或Vim,自然是最好的。其次,挑选你的首选平台最支持的。使用宏,不断地写代码;使用Visual Studio或SublimeText的自动补齐功能。
5、整洁的代码胜过巧妙的代码
如果想让别人可以轻松读懂你编写的代码,请尽量使用最少的代码来完成任务。在编写代码过程中,遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。
6、掌握代码调试技巧
现如今市场和需求变化相当快,项目的周期有时就会缩短。一个月的工作计划,会缩短到2个星期。项目的压力难免会导致程序员的代码质量会有所下降!
因此,调试技巧在这样的环境下就显得尤为重要。高级程序员会在函数的开始和结束输出Log,把所有的参数和返回值打印到日志系统,便于追踪。在解决问题的过程中,使用开发工具一行一行进行调试,实时观看参数的变化。
7、重新回顾代码
重新去回顾和审视自己写过的代码,通常会有两种体验,一种是我怎么写了这么烂的代码;另外一种则是对自己写过的代码充满了成就感。回顾代码有时可以触发我们新的想法,甚至还能对编码有一个更深层次的思考。