程序员如何获取新编程技能

目录[-]

-->

百万红包、火热开启!!!有你更精彩!

正文

-->

“你是怎么学会所有这些框架和语言的?”,最近在黑客马拉松上一个朋友问我。

“其实,很简单,只要用你想学的东西去创建一个合适又值得的项目就行了,”我回答说。

“真的吗?直接上手搞项目吗?“,他好奇地问。

“是啊,还有要向合适的人征求意见。聪明的人通常都很乐于教导和帮助别人。“我告诉我的朋友,同时心中想,我为什么不关于这方面的内容写一篇博客文章呢。——于是有了本文。

对想要在科技领域工作的人非常重要的一件事情就是,你得学会如何学习。我和很多非常聪明的人谈过关于学习和掌握技能方面的内容。我还花费大量的时间给我的朋友和同事们讲述一些关于如何学习的指导/建议。在这篇文章中我将为大家详细分析一些要点。

假设你想要学习这个语言/框架/ API /工具/事情,你其实真的并不需要知道从哪里开始。具体怎么做,下面我将一一说明,希望能对你有用。

1. 阅读文档

使用任何语言或框架的关键是熟悉它的文档。转至你想要学习的内容的主页,从头到尾看一遍上面的起步/快速入门教程。如果没有(这是罕见的),或它们的文档很难(这倒并不罕见),那就找找相关专家的建议。通常第三方教程都会告诉你你所需要知道的。

不要害怕学习新的东西。你会惊奇地发现原来get新技能是这么容易的一件事。

2.找一个值得构建的项目

你挑选的项目必须是你热爱的,能够真正投入到学习中去的。有什么想法,就去实现它!如果没想法,那么下面是一些帮助你找到项目的小提示。

说实话,当我想学习新内容的时候,我常常也找不到合适的项目。我的做法是咨询其他人的看法,直到遇到一个让我兴奋的好点子。我的朋友Yamil Asusta对于这方面就很有见地,最近他就这个主题表述了他的一些看法。在这里我想推荐两个他提出的好方法:

如果你想学习一门编程语言,学习HTTP请求在这种语言下是如何工作的。那么,你和其他工具交互的方式最好主要是通过HTTP,这本身就会让你明白语言的工作原理。 找一个可以使用不同工具建立的小项目。复杂度适中的小型web app,同时允许你使用其他框架,这样也可以学习其他框架的工作原理。使用不同工具构建同一个东西,能让你清清楚楚地明白工具之间的差异。 最后,如果你找不到项目,那么不妨想想有什么是只能用你正在学习的这种框架或工具构建的东西,然后开工。

3.开始启动项目

万事开头难。不要想着得过且过。从现在就开始,将时间尽可能多地投入到学习中来。

发现教程,可以开始启动项目,想到要构建什么项目,也可以开始启动项目。充实项目需要搜索编程软件,询问朋友,阅读更多的文档。不要随便乱写代码,不要只在从以往的经验角度来看问题。阅读文档,将时间用于理清常见的设计和架构模式。

4.询问知道的人

不要害怕问问题。如果你不虚心请教,那么你将用上更长的时间才能得到问题的答案。即使是最好的专家,在某些时候也是一个初学者,并且大多数人都愿意指导和帮助他人,回馈社会。

提问的关键是你不能浪费任何人的时间。所以要提正确的问题。没有人愿意回答只需要谷歌搜索就可以解决的问题。最近我在和Hector Ramos(一个花了大量时间帮助大家解决Parse问题的人)交流时,他提到了当别人询问他时,他喜欢的两类比较简单明了的问题。

我想用Parse来实现this,以及this部分的文档,但是它不工作(肯定是我哪里犯了错误)。你能帮我看看吗?这是我的代码片段。 我可以用Parse执行x吗? 问题要问得简单明了,要便于对方答案。向正确的人问问题。通常而言,可用于咨询的人可被分为这两类:

对某个专业领域知道得很多。 学识渊博,对很多领域都有一定的了解。 所以,要学会区分他们,问对人。

5.部署项目

让你的项目到达一种你认为“完成”的状态。这意味着你并不需要做到臻于完美、100%完成,也不需要捣鼓得非常漂亮。只要你觉得你的项目OK,并愿意展示给其他人以显示你是多么棒就行。

当你完成项目之后,一定要把它放到Github上,或者部署到能让其他人看到的地方。这么做能允许别人批评和评论你的工作,敦促你为自己的工作负责,制作出更好的作品来。此外,这还能让你将来的雇主看到你丰富的经验。

即使你认为你的代码很烂,但你愿意展示的这个事实本身就说明了你是一个开发人员。你已经领先一步于那些甚至没有代码产出的家伙。

如果你要问别人问题,首先要让他们知道你学习到了哪里,向他们展示你的工作,让他们知道,他们为你解答问题的时间不会白费。最后,完成第一个项目之后,那就去做下一个。学习写代码的唯一方法就是写代码。同样的,学习新框架的唯一方法就是在这框架下写代码。所以,加油吧。

上面这些是我学习新工具的步骤。如果你也想要充分利用时间学习新的东西,那么我相信这将会是一个良好的开端。

最后,各位若有不同看法,欢迎留言。

时间: 2024-10-08 22:23:51

程序员如何获取新编程技能的相关文章

程序员应该具备哪些必备技能

一.熟练开发工具 做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写.而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一.其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发

程序员的世界杯新玩儿法

四年一度的世界杯无疑是一场全民参与的足球盛宴,互联网上充斥着各种竞猜活动,其实还有更高端另类的玩儿法:编程学习网站慕课网最新上线了一门名为“共嗨世界杯”的课程,只需2个小时,教你学会使用 CSS3 来制作一个足球场地,以及世界杯对战图,设计出你的“专属世界杯”. 适合人群:程序员.编程爱好者.球迷与伪球迷 课程特点:软妹喜欢,硬汉更爱 课程目的:利用前端知识,自己动手DIY世界杯对战表 课程地址:http://www.imooc.com/view/134 简单易学三步走 该课程所讲授的世界杯效果

黑马程序员_JAVA UDP网络编程学习笔记

一.UDP网络编程概述 采用TCP协议通信时,客户端的Socket必须先与服务器建立连接,连接建立成功后,服务器端也会持有客户端连接的Socket,客户端的Socket与服务器端的Socket是对应的,它们构成了两个端点之间的虚拟通信链路.与TCP通信不同,UDP是面向无连接的.不可靠的基于数据包的传输协议.即应用进程(或程序)在使用UDP协议之前,不必先建立连接.自然,发送数据结束时也没有连接需要释放.因此,减少了开销和发送数据之前的延时.UDP也采用端口来区分进程. 在java中,java.

程序员需要具备的基本技能

软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究.但是,不管是什么的情况,总是有一些通用的基本职业技能. 这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯.很多程序新手也是因为缺少.达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能.而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其他经验不足的程序员.

一个优秀的.net程序员必须要学会的技能 (转)-----参照学习目标

最近室友闲聊的时候告诉我,他在网上收集了做为一个java程序员必须要会的东西,他觉得自己要有个方向,否则一定会在平平凡凡的工作中,不思进取,最终 浑浑噩噩.真是让我猛然惊醒啊,做为一个底层的程序员,如何才能拼得过出来的大学精英和社会老手?学习一定必不可少.虽然自己有点懒,我先把这些记下,待 日后尽量弄懂. Web/WinForm/通吃,包括ASP.NET,WebService,Remoting,Thread,Serializable,ADO.NET等命名空间 精通UML 精通DesignPatt

程序员如何学习新的东西

程序员如何学习新的东西 在竞争中获得胜利的最好方法,就是避开竞争,避开竞争的最好方法就是先下手为强 写代码已经有几年了,在这几年中写了不少的代码,学习了不少的技术,也算是有一定的认知了. 其实还是那句话,万变不离其中,学习要得方法与渠道. 如何获取新技术关键词 其实学习一门技术,首先是知道这们技术,如果你只是靠公司项目中来学习技术,你永远都是落后于被动的.所以学习技术第一点,就是如何知道当今有啥新技术出现: 作为初出茅庐不就得我来说,我总结起来,有以下几个途径: 1.公司在的项目关键词,公司中一

程序员逆袭必备之技能

程序员(英文Programmer)是从事程序开发.维护的专业人员.一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国.软件从业人员分为初级程序员.高级程序员.系统分析员,系统架构师,测试工程师五大类. 但是程序员一直被认为是一个苦逼的职业,工资一般般,但工作压力却很大,类似“程序员职业病.程序员光棍”等话题充斥着整个行业的讨论区.程序员需要逆袭,做好以下这7点,你可以混得更好一点.  (本图为:程序员逆袭必备之技能) 一.对技术的热忱  热情是一种无形的东西,当你

程序员必须知道的编程格言

程序员必须知道的编程格言 分类: 程序员/站长2012-02-29 09:52 588人阅读 评论(2) 收藏 举报 编程blog 1.保持简单直白(Keep It Simple Stupid) 2.不要自我复制(Don’t Repeat Yourself) 3.能干的人解决问题.智慧的人绕开问题(A clever person solves a problem. A wise person avoids it)– Einstein 4.沉默会被理解为赞同(Silence is construe

程序员怎样才能达到编程的最高境界

程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界.即使是这样的高手,那也都是无知者的自封. 我认为,一个程序员的成长可分为如下六个阶段.     第一阶段此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西.   第二阶段此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数.到达这个阶段后,也就相当于可以