SlideShare ist ein Scribd-Unternehmen logo
1 von 37
程序员与技术   Geek   李高任
                ligaoren@gmail.com
今天我们讨论
 的话题
我是谁-你认可自己的角色么
从好的心态开始
程序员的必备技能
程序员的发展
 学什么
 怎么学
 学到什么程度
总结
我是谁
  Who Am I ?


软件开发工程师
高级软件开发工程师
架构师
项目经理

2005年程序员
2009系统分析师
你是否认可自己是技术人

貌似选择很多,但是哪一个选择都有技术这一关

                  技术+
                  管理




           管理

                项目经理


    技术
         架构师
               软件工程师
                       程序员
学习技术的心态
          哥是传说,不需要学习
          追不上,就不追了
          工作已经玩转,不需要学
          我永远成不了高手
心态1-不追了,永远追不上
   追赶是客观必然,追赶源于比较,你可以跟最
牛的技术高手做比较。别人已经跑在前面了,很多
时候是因为他们提前跑了,坚持跑或许追的上,不
跑只有被超越。
心态2-学这个没有用||公司项目用不到
    这两种理由本身没有太大影响,甚至有时候还能帮
 你做判断。但是你是否把这两个作为借口来拒绝所有新
 东西呢?
    我们要建立起自己的知识体系(知识树),凡是有
 助于强化或者丰富这个知识体系的,都是有用的。
    企业级开发受领域影响使用的技术方案总是有限,
 这是必须要掌握的部分,而你的知识体系要包含但是不
 限于此。
心态3-用到的时候再说吧,到时候再学也来得及
     功夫放在平时是因为要让学习难度曲线放
缓。

话说老贾要在新项目中使用Asp.net MVC……
心态4-都是用C#,差距能大到哪里去



    嗯,基本上可以让你看不懂。




  国庆放假7天不上网还不知道小月月,何况是
  技术日积月累的差距
心态5-我现在面对的是一个垃圾的代码,搞得我没有激
情了
    垃圾代码带来的垃圾心情。一个有追求的开发者
面对垃圾代码心情,总有一种要与原作者打一架的冲动。
但是:
1.目前垃圾的代码不是你继续写垃圾代码的理由
2.目前垃圾的代码是一个练习重构的好战场
3.目前垃圾的代码你不知道怎么修改,你也搞不出来一
个更好的
小结
你是否认可自己是一个技术人
技术人的选择几乎都会有技术的门槛
作为一个技术人,技术人对技术充满好奇和激情
学习什么是由你的技术体系决定的
坚持学习可以保持学习难度曲线的平滑
放弃学习一段时间,差距会比你想象的大很多
判断是否进步的标准永远是自己,别人永远是参照
那需要什么样的心态?
学习技术的好心态:空杯心态
          随时做好准备,清空自己
          即使是学过的知识也可能被刷新



                 自满 没有理由
                 自卑 没有必要
                 以前没有学过,那就从头开始
                 随时做好准备清空已经存在的知识,
                 从头开始去学习




 心态决定态度,态度决定一切
接下来……


 程序员的必备技能
 程序员的发展
 学什么
 怎么学
 学到什么程度
 总结
学什么-必备技能


           •编码规范
           •IDE
           • 调试
           •测试
           •重构
重构
重构是一个积极思考的过程,它处理的是代码中的种种不合理。
软件设计过程其实就是处理代码种种不合理的过程,所以一个设计高手
肯定是代码重构高手。
学什么-求发展

         Parallel                Asp.net
Python                F#
                C #        MVC     DSL
                                           WCF




要学的东西很多,而精力总是有限
我们曾经满足于做了一个非常漂亮的Demo
我们曾经满足于学到了一些语法糖
我们曾经满足于学到了一些设计术语
但是,我们同样发现
我们的demo无法应用项目中
新鲜的语法除了影响同事理解没有其他效果
最要命的是我还是无法掌控设计
架构师这个目标越来越远
越来越远……
尝试构建自己的知识体系(知识树)
知识树让你的知识互相支撑
知识树让你的知识不再是零星的技巧
知识树是做好设计的必备条件
知识树让你有一个更加平滑的学习曲线
知识树让你很容易判断一个知识是否值得学习

知识树的建立就是帮助我们在精力有限的情况下达
到对技术的最佳掌握


那么,怎么建立知识树呢?
如何建立知识树
知识树的建立是一个循序渐进的过程,或者说是了
解自己的过程
当自己判断能力有限的时候,可以从一本编程基础
书开始,比如C#编程规范;当这个掌握之后你就可
以从这本书中得到的线索进行扩展了
最终指导你进行整个知识树构建的最好是一本高屋
建瓴的书
知识树中的难点
 知识树中总会有一些久久不能搞定的分支,比如:
 设计模式
 我的建议:
 主题阅读
  主题阅读是多种观点比较,融合,并形成自己观点的过程
  主题阅读类似于写论文的过程
  主题阅读需要较大的阅读量和较长的时间
 持续关注
  只要持续保持关注,即使这个问题很难,你对它的了解也
  是不断刷新
  量变会产生质变
学习的资源-技术社区
学习的资源-专家博客




  专家博客是获取权威资讯的
  重要渠道

  微软技术团队博客上你可以
  得到官方的解答
学习的资源-开源项目




 从优秀的开源项目中你几乎可以找到需要的一切:解
 决方案,设计方法,编码规范,编程技巧
部分网路资源汇总
 http://dotnetkicks.com/default.aspx
 http://www.codeplex.com/
 http://www.codeproject.com/
 http://www.google.com/codesearch
 http://stackoverflow.com/
 http://codebetter.com/
 http://blogs.msdn.com/b/bclteam/
 http://sourceforge.net/
 http://www.c-sharpcorner.com
 http://martinfowler.com/
 http://weblogs.asp.net/scottgu/default.aspx
 http://searchwindevelopment.techtarget.com/?asrc=TAB_T
 heServerSideCOM
 http://dotnetkicks.com
学习的资源-你的搭档
结对编程的实践过程中,你会发现你所熟悉
的一切在搭档那里完全不是你想象的那
样……




        编程技能   工具技能
        思维方式   工作态度
        避免盲点   代码审查
学习的资源-书
more……
持续关注,坚持练习




     我曾认为用手槌要六百年才能掘通的隧道

     安迪用不到二十年就办到了



10000个小时的练习,成为技术专家
学到什么程度     我真正明白这段代码了么?
           这个技术解决了什么问题?
           这个技术怎么解决的这个问题?
           这个问题之前是怎么解决的?
           这个技术方案与之前的技术方案相比有什么
           优势?
           这个技术的量化指标怎么样?性能如何?
           这个技术的最佳实践是什么?
           这个技术的上下游技术是什么?
           这个技术遵循了什么样的设计原则?




         通过提问来检查对技术的掌握程度
关于技术有太多问题

 有那么多的技术,要学什么?
 技术更新太快了,我跟不上,疲于追赶
 我学习的技术在工作中用不上,还要学习么?
 学习了很多,但是转眼就忘了,怎么办?
 做了Demo,可是在项目中遇到问题还是解决不了!
 我想写出来高性能的代码,要从哪里开始?
 我学了很多东西,但是太零散了,什么时候可以做设计
 ……
总结
调整心态,轻装上阵
练好基本功-程序员的基本技能
从重构过程中,你可以获得很多
学习的资源很丰富,既考验我们获取信息的能力又考验
我们选择信息的能力
知识树的构建让你的知识互相支撑,让你的学习曲线更
加平滑
动手实践,动手实践,动手实践
通过提问来检查自己对技术的掌握程度
大家都在奔跑 Geek跑在前面
谢谢!



Your Potential. Our Passion.

Weitere ähnliche Inhalte

Was ist angesagt?

软件项目管理与团队合作
软件项目管理与团队合作软件项目管理与团队合作
软件项目管理与团队合作晟 沈
 
從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會
從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會
從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會張大明 Ta-Ming Chang
 
「許一個未來」軟體工程師的一天
「許一個未來」軟體工程師的一天「許一個未來」軟體工程師的一天
「許一個未來」軟體工程師的一天mailiChrist
 
琬萱的自我介紹
琬萱的自我介紹琬萱的自我介紹
琬萱的自我介紹Cindy Cheng
 
20210220 新竹敏捷社群分享
20210220 新竹敏捷社群分享20210220 新竹敏捷社群分享
20210220 新竹敏捷社群分享棋文 鄭
 
Developer vs designer
Developer vs designerDeveloper vs designer
Developer vs designerfangdeng
 
軟體品質與持續整合
軟體品質與持續整合軟體品質與持續整合
軟體品質與持續整合家弘 周
 
《软件随想录》
《软件随想录》《软件随想录》
《软件随想录》thinkinlamp
 
Besides programming
Besides programmingBesides programming
Besides programmingHui-Hong You
 
MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家家弘 周
 
軟體專案管理與開源精神
軟體專案管理與開源精神軟體專案管理與開源精神
軟體專案管理與開源精神承澤 林
 
DDD TW Conference 2020 與RD一起跳坑DDD (20201127)
DDD TW Conference 2020 與RD一起跳坑DDD (20201127)DDD TW Conference 2020 與RD一起跳坑DDD (20201127)
DDD TW Conference 2020 與RD一起跳坑DDD (20201127)Sylvia Yang
 

Was ist angesagt? (12)

软件项目管理与团队合作
软件项目管理与团队合作软件项目管理与团队合作
软件项目管理与团队合作
 
從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會
從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會
從專家到專家講師─財團法人中小企業聯輔中心財務管理顧問師北區聯誼會
 
「許一個未來」軟體工程師的一天
「許一個未來」軟體工程師的一天「許一個未來」軟體工程師的一天
「許一個未來」軟體工程師的一天
 
琬萱的自我介紹
琬萱的自我介紹琬萱的自我介紹
琬萱的自我介紹
 
20210220 新竹敏捷社群分享
20210220 新竹敏捷社群分享20210220 新竹敏捷社群分享
20210220 新竹敏捷社群分享
 
Developer vs designer
Developer vs designerDeveloper vs designer
Developer vs designer
 
軟體品質與持續整合
軟體品質與持續整合軟體品質與持續整合
軟體品質與持續整合
 
《软件随想录》
《软件随想录》《软件随想录》
《软件随想录》
 
Besides programming
Besides programmingBesides programming
Besides programming
 
MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家MOPCON 2015 - 軟體、測試、程式設計家
MOPCON 2015 - 軟體、測試、程式設計家
 
軟體專案管理與開源精神
軟體專案管理與開源精神軟體專案管理與開源精神
軟體專案管理與開源精神
 
DDD TW Conference 2020 與RD一起跳坑DDD (20201127)
DDD TW Conference 2020 與RD一起跳坑DDD (20201127)DDD TW Conference 2020 與RD一起跳坑DDD (20201127)
DDD TW Conference 2020 與RD一起跳坑DDD (20201127)
 

Ähnlich wie 程序员与技术

Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comdrewz lin
 
把握设计和开发的均衡
把握设计和开发的均衡把握设计和开发的均衡
把握设计和开发的均衡liujingbin
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)LetAgileFly
 
邁向A+,談專案經理的跨界能力
邁向A+,談專案經理的跨界能力邁向A+,談專案經理的跨界能力
邁向A+,談專案經理的跨界能力gipi
 
一个互联网产品的成长史
一个互联网产品的成长史一个互联网产品的成长史
一个互联网产品的成长史AHAConference
 
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)Gelis Wu
 
software development guide map
software development guide mapsoftware development guide map
software development guide mapbiaowei zhuang
 
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學潘 冠辰
 
How to be a professional speaker
How to be a professional speakerHow to be a professional speaker
How to be a professional speakerChen-Tien Tsai
 
在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生Rick Hwang
 
我要活下來 - Ruby Junior 工程師的存活術
我要活下來 - Ruby Junior 工程師的存活術我要活下來 - Ruby Junior 工程師的存活術
我要活下來 - Ruby Junior 工程師的存活術Li Hsuan Hung
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航Edward Kuo
 
Getting Real
Getting RealGetting Real
Getting Realrogerwang
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startupYenwen Feng
 
演示高手:Ppt制作与演示技巧(学习教练 肖刚)
演示高手:Ppt制作与演示技巧(学习教练 肖刚)演示高手:Ppt制作与演示技巧(学习教练 肖刚)
演示高手:Ppt制作与演示技巧(学习教练 肖刚)知行堂(zxt123.com)
 
Doc 2011101404575913
Doc 2011101404575913Doc 2011101404575913
Doc 2011101404575913Rhythm Sun
 
学习2.0:e learning2.0与web2.0(学习教练 肖刚)
学习2.0:e learning2.0与web2.0(学习教练 肖刚)学习2.0:e learning2.0与web2.0(学习教练 肖刚)
学习2.0:e learning2.0与web2.0(学习教练 肖刚)知行堂(zxt123.com)
 
提问技巧:焦点讨论法工作坊(学习教练肖刚)
提问技巧:焦点讨论法工作坊(学习教练肖刚)提问技巧:焦点讨论法工作坊(学习教练肖刚)
提问技巧:焦点讨论法工作坊(学习教练肖刚)知行堂(zxt123.com)
 
怎样成为优秀软件模型设计者
怎样成为优秀软件模型设计者怎样成为优秀软件模型设计者
怎样成为优秀软件模型设计者mysqlops
 

Ähnlich wie 程序员与技术 (20)

Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
 
把握设计和开发的均衡
把握设计和开发的均衡把握设计和开发的均衡
把握设计和开发的均衡
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
 
邁向A+,談專案經理的跨界能力
邁向A+,談專案經理的跨界能力邁向A+,談專案經理的跨界能力
邁向A+,談專案經理的跨界能力
 
一个互联网产品的成长史
一个互联网产品的成长史一个互联网产品的成长史
一个互联网产品的成长史
 
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)
 
software development guide map
software development guide mapsoftware development guide map
software development guide map
 
TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學TDD (Test-driven development, 測試驅動開發) 基本教學
TDD (Test-driven development, 測試驅動開發) 基本教學
 
How to be a professional speaker
How to be a professional speakerHow to be a professional speaker
How to be a professional speaker
 
在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生
 
我要活下來 - Ruby Junior 工程師的存活術
我要活下來 - Ruby Junior 工程師的存活術我要活下來 - Ruby Junior 工程師的存活術
我要活下來 - Ruby Junior 工程師的存活術
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航
 
Getting Real
Getting RealGetting Real
Getting Real
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startup
 
演示高手:Ppt制作与演示技巧(学习教练 肖刚)
演示高手:Ppt制作与演示技巧(学习教练 肖刚)演示高手:Ppt制作与演示技巧(学习教练 肖刚)
演示高手:Ppt制作与演示技巧(学习教练 肖刚)
 
Doc 2011101404575913
Doc 2011101404575913Doc 2011101404575913
Doc 2011101404575913
 
学习2.0:e learning2.0与web2.0(学习教练 肖刚)
学习2.0:e learning2.0与web2.0(学习教练 肖刚)学习2.0:e learning2.0与web2.0(学习教练 肖刚)
学习2.0:e learning2.0与web2.0(学习教练 肖刚)
 
Agile tour dojo c++
Agile tour dojo c++Agile tour dojo c++
Agile tour dojo c++
 
提问技巧:焦点讨论法工作坊(学习教练肖刚)
提问技巧:焦点讨论法工作坊(学习教练肖刚)提问技巧:焦点讨论法工作坊(学习教练肖刚)
提问技巧:焦点讨论法工作坊(学习教练肖刚)
 
怎样成为优秀软件模型设计者
怎样成为优秀软件模型设计者怎样成为优秀软件模型设计者
怎样成为优秀软件模型设计者
 

程序员与技术