没有超人,关注该关注的即可!
(一)
如果遇到问题,先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.
扩展阅读:
16 Don'ts of Career Growth
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/
http://uxmilk.jp/
分享到:
相关推荐
随着人工智能技术的不断进步,特别是自然语言处理技术的快速发展,聊天机器人CHATGPT已经开始在很多领域得到应用。然而,有些人对于这种技术的发展感到担忧,尤其是低端程序员。他们担心,随着CHATGPT等人工智能技术...
在遇到挫折时,他们应该首先反思自己,找出问题的根源,然后努力改进,这样才能不断提高自己的编程能力。 总之,成为一名优秀的程序员,不仅需要具备耐心、毅力、细心和勇于挑战的品质,还需要保持谦逊、热情和自我...
通过以上这些策略,程序员不仅可以提升自己的技术能力,还能增强职场竞争力,逐步实现职位晋升。记住,德才兼备是在职场上获得认可的关键,同时保持谦逊和开放的心态,不断学习和成长,才能在程序员的道路上走得更远...
针对程序员提高英语水平这一课题...通过实际工作中对英文资料的阅读与应用,日常交流中的实践,以及在英语文化环境中不断地学习和适应,程序员可以逐步提升自己的英语水平,从而在国际化的技术领域中拥有更强的竞争力。
”这个问题探讨的是编程框架在提高开发效率的同时,是否可能降低了程序员的技术理解和创新能力。面试场景中,面试官通过询问关于Spring、Hibernate和RESTful服务的问题,揭示了一些应聘者虽然熟悉框架的使用,但在...
3.技能提升: Java 程序员需要不断学习和提升自己的技能,满足职业发展的需求。 4.自我反省: Java 程序员需要不断反省自己的职业发展,了解自己的优势和弱点,调整自己的职业规划。 Java 程序员职业规划的类型...
技术领域的快速发展要求程序员不断更新知识体系,掌握新技能。通过阅读专业书籍、参加在线课程或参与社区交流,可以拓宽视野,提高解决问题的能力。同时,了解最新的编程语言、框架和技术趋势,有助于提升工作效率和...
作为一名程序员,如何丰富自己的知识,怎样提高自己的水平。作为一名程序员,需要不断丰富自己的知识库。
综上所述,对于程序员而言,要想在激烈的竞争环境中脱颖而出,就必须采取主动策略,不断优化自己的职业路径。这不仅包括选择合适的技术方向进行深入研究,还需要注重个人品牌的塑造和社会资源的积累。只有全方位地...
程序员需要在职业生涯的早期阶段就开始探索适合自己的发展方向,并且不断地根据自身特点和市场变化做出调整。 此外,文档还提到了程序员在技术深度上的追求,即成为某个领域的专家或者在技术上有自己独到的见解,...
程序员的一生 作为一名专业的 IT 大师,我将从给定的文件中生成相关知识点,并提供详细的解释。 程序员的一生 ...作为一名程序员,你需要不断思考自己的性格是否适合这个职业,并不断提高自己的技术和能力。
因此,中国程序员需要不断学习,提升自己,不仅仅满足于客户需求,还要站在更高的层次思考程序和代码应该如何服务于社会和世界。 综上所述,程序员的未来需要我们不断学习和适应新技术,同时要具备创新能力和理论...
要成为一名高级程序员,尤其是专注于Web开发领域的专家,你需要掌握一系列技术和方法论,并不断提升自己的技能树。根据提供的文件信息,我们可以将关键知识点归纳为以下几个方面: ### 一、基础编程技能 1. **脚本...
文章不仅对程序员的各种层次进行了细致入化的划分,还鼓励每个从业者明确自己的目标与定位,追求属于自己的那份价值。 #### 八重境界详解 ##### 第一重:Bad Programmer - 糟糕透顶 **定义:**这一层指那些完全...
ChatGPT,一款由OpenAI开发的...程序员应以开放的心态接纳新技术,同时巩固和提升现有技能,如C#,这样才能在不断变化的技术环境中保持竞争力。因此,即使ChatGPT风靡全球,程序员继续学习C#依然是明智且必要的选择。
针对文件信息,接下来的内容将基于“程序员到...最后,从程序员到项目经理的转型不仅需要不断学习新的管理技能,更需要在实际工作中不断实践和积累经验。只有通过不断的尝试和反思,才能真正成为一个优秀的项目经理。
通过不断克服技术难题、阅读新书、与他人交流和深入了解行业动态,程序员可以不断提升自己的技术水平。精通一门技术不仅仅是掌握技术本身,更重要的是学习和研究的方法,以便于触类旁通,适应技术的快速变化。 对于...
这些软实力的提升不仅能帮助程序员在职场上更好地展现自己,还能促进团队和谐,提高整体工作效率。通过不断学习和实践,每位程序员都可以成为更加全面、成熟的IT专业人士,为职业生涯的发展奠定坚实的基础。
他们善于解决问题,喜欢挑战,不畏艰难,正如描述中所提到的“逆境使人成熟,绝境使人醒悟”,在面对复杂问题时,他们会从中寻找解决之道,不断提升自我。这种坚韧不拔的精神,是程序员文化的重要组成部分。 其次,...