没有超人,关注该关注的即可! (一)
如果遇到问题,先Google一下 https://www.google.com/ ,或者Bing https://www.bing.com/
解决问题的顺序:查看日志->官方文档->Google英文或Bing英文->Stackoverflow->Github->查专业论坛->查看源码->问人->发帖。
如果有Error Log,可以尝试直接Google一下Log内容,99%会在搜索结果页中看到StackOverflow http://stackoverflow.com/ 的(基本在第一页很靠前的位置)链接,看看它基本上就能解决问题。
如果需要使用开源项目,就去GitHub https://github.com/ 搜索一下star大于1000的,基本会有符合的解决方案,不会搜索直接看Awesome列表 ( awesome、awesome-awesomeness )。
如果在多个开源方案之间犹豫不决,最好去Google一下“AAA vs BBB”,很多好心人会详细说明他们的pros/cons。 (二)
茶余饭后,可以翻翻知乎 http://www.zhihu.com/ 或 Quora http://www.quora.com/
如果时间充裕,喜欢泡社区,可以去SegmentFault http://segmentfault.com/ 或 V2EX https://www.v2ex.com/ 。
如果时间不多,可以关注简书 http://www.jianshu.com/ 或 Medium https://medium.com/
也可以听听Podcast,比如Teahour.fm http://teahour.fm/、内核恐慌 http://ipn.li/kernelpanic/、IT公论 http://ipn.li/itgonglun/、比特新声 http://www.bitvoice.xyz/ 。
虽然电子书、视频、音频可以打发碎片时间,但是由于获取更容易数量太多以及质量的问题,反而会浪费时间。 (三)
如果喜欢分享,自己开个Blog记录一些值得记录的东西。可以搭独立域名,可以用GitHub Pages https://pages.github.com/ ,也可以在这些博客网站申请个Blog,比如:CSDN、cnblog、iteye、51cto。
如果爱刷微博,关注一些技术相关的账户他们会推送很多有价值的东西。 如果爱看微信公众号,关注一些技术相关的公众号。 (四)
如果想知道最近大家都在讨论什么,每天抽一点时间看看 极客头条 http://geek.csdn.net/ 或 开发者头条 http://toutiao.io/ 或 HackerNews https://news.ycombinator.com/
如果想知道最近出了哪些好的产品,每天抽一点时间看看ProductHunt http://www.producthunt.com/ 或 DEMO8 http://www.demo8.com/ 或 最美应用 http://zuimeia.com/ 。
(五)
如果关注前沿科技资讯,看看36氪 http://www.36kr.com/、PingWest http://www.pingwest.com/ 或 TechCrunch http://techcrunch.com/、Reddit https://www.reddit.com/
如果关注前沿技术,看看SmashingMagazine http://www.smashingmagazine.com/、Mashable http://mashable.com/、ReadWrite http://readwrite.com/
如果关注用户体验设计,看看 站酷 http://www.zcool.com.cn/、优设 http://www.uisdc.com/、盒子UI http://www.boxui.com/ 或 Dribbble http://dribbble.com/、DesignerNews https://www.designernews.co/、ThemeForest http://themeforest.net/
如果想找设计灵感,去EnvatoMarket http://market.envato.com/ 搜搜看。
(六)
如果想看看最近大拿都分享了哪些好的PPT,看看SlideShare http://www.slideshare.net/、SpeakerDeck https://speakerdeck.com/、Prezi https://prezi.com/explore/staff-picks/
也可以去Slides http://slides.com/ 制作自己酷酷的Slide。
(七) 如果时间管理比较紧,就订阅一下相关的日报周报吧! (八) 如果偶尔很迷茫,不知道干什么,刷刷题吧:
基础: Mega Project List 中文版
算法: LeetCode Online Judge
设计: Daily UI Design Challenge (九) 如果工作觉得无处下手,可以从开源项目入手,比如: -- Blog(WordPress、Octopress、Ghost) -- Forum(Discuz!、Discourse、Flarum) -- Wiki(DokuWiki、Gollum) -- Groupware、CMS、eCommerce等。 (十) 如果想深入学习,不放看看规范标准定义,比如: -- IETF的RFC
HTTP1.1协议 http://www.ietf.org/rfc/rfc2616.txt
-- W3C
HTML5标准 https://www.w3.org/TR/html5/
-- Java的JSR
Servlet 4.0规范 https://www.jcp.org/en/jsr/detail?id=369
或 维基百科 https://en.wikipedia.org/
《程序员必备技能》
(1)软技能 a> 英语(FQ):开发语言、官方文档、技术书籍、技术社区、Youtube视频等 a> 善用搜索引擎 a> 善于归纳总结(side project/code snippet) a> 编码习惯、工作节奏效率 a> 时间管理(情绪管理) a> 阅读好书、博客、源码:不要看速成书,比如:xx天精通yy a> 社交互动(参与开源、尝试帮助别人) a> 口头或书面交流(结伴讨论、参与代码评审) a> 解决问题的能力(性能问题、内存问题、并发问题等):不要轻易发问! a> 搞清楚工程还是科研 a> 保持好奇心(广泛<->专注):系统的学习 vs 边用边学 a> 业余时间应该提高自己的知识、技能、经验并实践自己学到的东西 a> 减少相似项目,掌握核心技术 a> 深入理解开发语言,比如Java的JVM,JavaScript(this、CommonJS、IIFE、Event & Event Delegation、Prototype Chain & Inheritance、Scope Chain & Closure) a> 关注自己感兴趣的技术而不是流行的技术:一万小时定律虽然不假,但是99%的人不会成为专家 a> 是否有必要Full-stack?(前端、后端、测试、DBA、运维、移动应用、云服务、大数据等)
You can't know everything about everything.
扩展阅读:
7 Things I Learned That Made Me a Better Programmer (2)技术技能 a> Linux基础 a> HTTP协议 a> 脚本语言、编译语言各会一门 a> 开发语言的基础(比如:多线程、I/O、网络、集合、泛型、注解等) a> 关键领域 数据结构、算法、JVM/GC、JavaEE组件(JSP、Servlets等) a> 开源框架 Web(Spring MVC)、IoC(Spring, CDI)、ORM(Hibernate、MyBatis)、容器(Tomcat) a> 编程原则(Principles) S.O.L.I.D DRY (Don't Repeat Yourself) OCP (Open Close Principle) SoC (Separation of Concerns) IoC (Inversion of Control) CoC (Configuration over Convention)
http://rensanning.iteye.com/blog/2095194
a> 编程方法论(Methodologies) MVC(Model-View-Controller) OOP(Object-Oriented Programming) AOP(Aspect-Oriented Programming) FP(Functional Programming) a> 设计模式(Patterns) GoF Design Patterns a> 软件架构(Software Architectures) SOA (Service-Oriented Architecture) MSA (Microservices Architecture) N-Tier Architecture Event-Driven Architecture Plug-in Architecture a> 项目管理(Project Management) Waterfall、Agile (Scrum、XP、Lean等)、PMBOK a> 编写clean代码、重构代码、优化代码、调试代码 a> 编写测试用例 a> 编写有效日志 a> 尝试独立搭建各种开发环境 a> 尝试独立实现各种数据结构、算法 a> 尝试独立实现一个完整的系统 a> Web开发需要熟练使用浏览器及常用插件
附A:获取知识的途径
书籍 -纸质(专业杂志) -电子书(文档) 网络 -社区(论坛、官网、搜索引擎、社交网路) -博客(公众号) 视频 -MOOC(Podcast、Youtube) -录制 培训 -线上(MOOC、微课) -线下(培训机构、企业内训、分享交流、面对面交流)
附B:日文技术网站
https://gunosy.com/ https://www.smartnews.com/ https://codezine.jp/ http://b.hatena.ne.jp/hotentry/it https://qiita.com/ https://eventdots.jp/ http://dotinstall.com/ https://codeiq.jp/ http://www.ne.jp/asahi/hishidama/home/tech http://d.hatena.ne.jp/nowokay/ http://rebuild.fm/