程序人生丨听说程序员是相当就能当的?BAT大牛当场就不乐意了!
有一种对软件开发者的偏见是:他们都是无趣的极客,是学校里的数学天才,每天都要在计算机屏幕前花费多个小时去写代码。
没错,开发者确实会在计算机屏幕前花费多个小时去写代码。但是,每天的工作中还有很多比写代码更重要的事情。就我个人而言,开发者意味着有机会自己做出很酷的东西。
想要搞开发?开发可不像你想得那样简单。
从我写下第一行代码到现在已经过去大约七年了。经过这许多小时的练习,曾一度想过放弃,也曾经历过中断,现在我想跟你们分享一些我的经验。

别把编码当成业余爱好
首先,也是最重要的一点:如果你真的想把写代码当成事业,那这毫无疑问是正确的。我完全同意,人们不会把时间花在自己不喜欢的东西上。
但是,作为业余爱好来写代码——也就是说,只是写代码而没有任何目标或计划——不太可能带你走向你希望的职业编程道路。
此外,在遇到障碍和困难时,你会有足够的耐心来保持编码的兴趣吗?还是说可能会放弃,或者在中途停下脚步?
因此,你必须要专注于自己的热情。我很肯定所有开发者都会编码和对技术有着极大的热忱。
但是,没有实际的执行,热情就毫无用处。制定具体的目标,再加上合适的计划,才能给编程之路设置里程碑。在某个时间范围内设定一个宏伟的目标,设定每个阶段要学习的技术和技能。这样,学习编程才能成为你生活中的重要部分。

确定希望专注的技术
一旦开始认真写代码,下一步就是要对自己诚实。你想成为哪种开发者?
首先从自己最感兴趣的部分开始。你想要做用户界面,控制产品与用户交互的方式?那么你应该着重于前端技术。或者你天生不适合做设计,而更喜欢服务器上的工作?那么应该专注于后台技术。
要根据自己的兴趣确定自己想学什么,这一点非常关键。如果不能确定,可以在Google上搜索,并简单尝试一下。我们都有自己的偏好和技能,那些就是我们最擅长的东西。所以,这个问题其实没你想象的那么难。
从最简单的东西开始
刚开始时,你可能会对每个任务都感到困惑,无论任务有多难或多简单。即使是给项目选一个合适的文本编辑器,并设置好环境,都会给你带来许多意料之外的问题。
因此,如果你完全是个新手,想尝试第一种语言,我强烈推荐从最简单的开始。可以选择那些提供交互式编程环境的平台入手,如Codecademy。
我也是用这种方式开始的。这些平台能帮你专注于熟悉编程语言本身,而不用考虑环境设置等。当然稍后你会学习这些东西,但我一直认为,开始写代码不仅能让人兴奋,还可以避免让你过于疲劳。

有什么学习资源?
成为软件开发者有多种途径。可以先修一个计算机科学的学位,参加编程训练营,甚至可以自学。不论哪种方式,你都需要不断更新学习资料。由于我选择了最后一种途径,我可以分享些我找到的学习资源。
从交互式编程环境开始
作为第一步,可以从最容易理解、最容易学习的平台入手,如Codecademy。这些平台提供的环境可以让你阅读学习资料,然后利用网页上自带的编辑器直接练习所学的知识。结果也会在屏幕上立即显示。只需要免费注册,选择你想要学习的技术,输入学习计划,就可以开始学习了。
另一个对新手十分有用的资源就是freeCodeCamp。它不像Codecademy那样必须为高级课程付费(尽管这些付费课程非常有用),freeCodeCamp提供完全免费的课程和学习计划。他们甚至会在完成每个主要课程后给你发证书。
他们的教程也包括详细的学习指南、内置的文本编辑器和清晰的解释。此外,还有些项目可以让你使用学到的知识解决各种问题。

选择正确的学习资源
这个过程其实很困难,并不是因为可信的、详尽的资源太少。实际上,好的入门资源太多,很可能会让你应接不暇。选择方向很困难,因为你不太可能在每条路上都花一段时间。因此,不好的教程不仅会让你浪费时间,而且会让你丧失继续前进的热情。
关于“我该学什么”这个问题,在询问别人或者询问Google之前,一定要先问自己!为什么?因为网上有各种各样的教程——视频、电子书、教科书,还有在线或面对面的训练营。只有你自己才能判断出哪种资源能更有效地帮你学习。
就我个人而言,我喜欢看视频教程,一边看一边跟着写代码。因此我选择了视频教程作为主要的学习方式。但也许你更喜欢阅读,以便自己控制学习速度。那样你最好选择比较著名的书。
不幸的是,你也许需要结合不同的学习方法。但是,不论哪种方法你都会在Medium上花费很多时间,在这里你会发现许多最适合你的资源。
这样,就像你确定学习哪种技术一样,后退一步,仔细考虑,选择最适合自己的学习资源。一旦找到合适的资源,就可以开始学习了!
进入技术圈
如上所述,不论你选择哪种资源,你很可能都要依赖medium上的博客。这就是成为开发者的最有趣的地方。进入技术圈,就可以“在放松中学习”。

想象一下……
清晨起来你开始学习在线教程。大约一个小时的认真学习之后你决定休息一下。看一集Netflix?不。你发现你不想在看电视上花费一个小时,因此你打开了YouTube,决定花30分钟看一场关于编程技术的演讲。
你观看的视频有几十万的点击量。演讲的人正在就Grid布局讨论CSS的未来发展。太有意思了!“记住或翻查Bootstrip网格类文档进行布局的时代结束了”,你喃喃自语。看看这个究竟怎么用!
你Google了CSS Grid,然后阅读了freeCodeCamp上的一篇博文。感谢这篇博文,你学习了一些要点,然后迫不及待地打开VSCode想要尝试一下。太好用了!咦,这里不太对。然后你在StackOverflow上搜索了一些问题,又在CSSTricks上看了更多的教程。然后代码终于可以正确工作了。
午饭时间,你打开播客,收听freeCodeCamp上的最新更新,是关于一个自学成才的开发者找到第一份技术工作的故事。午饭之后,你决定继续Udemy上的React教程。你突然发现一个不太明白的问题,而Q&A部分的内容并不能解答。
卡了半个小时之后你觉得累了,于是你决定暂时放弃,希望能以后再解决。然后你去浏览Codeburst上的开发者社区,看看那些技术大拿们分享的技巧和技术趋势。这个社区里的人们都在分享自己的知识并与其他人讨论。
你开始思考:“也许我应该写一点东西,不论是我自己的观察也好,还是我学到的东西也好……然后与这些人分享。”于是你打开Google doc,写下了下面的文字:“你想成为开发者吗……”?
这个故事是否对你有一点打动?如果是的话,那你还等什么?赶快跳进技术圈,进入这个所有人都在开发技术应用,让世界变得更美好吧。

练习,练习,再练习
好,现在你大概知道从哪里开始了,那么最好是现在就开始。但是,熟悉一项技术需要很多时间。想要精通,则需要大量的工作。不付出汗水和泪水,就不可能填补新手和有经验的开发者之间的空白。
换句话说,要想熟练掌握一门编程语言,就要付出许多个小时甚至多年的练习。那么该怎样做呢?
跟着教程做东西,途中遇到的bug要积极地在Google上或StackOverflow上查找;
每天有一段专门的时间写代码。
如果你感到累了,就休息下到处转转,看看论坛和各个平台上的技术领袖们和经验丰富的开发者们分享的技术新闻。基本上要让自己身处技术圈中。
记住,这是朝着成功阶梯迈出的重要的一步。你付出的努力越多,你的自信和热情就会越高。只需要记住,这件事没有结晶。没有任何语言或库能够帮你一夜成功。不断尝试,从失败中学习,积极努力,遵循计划,相信自己。
也许美梦成真的时刻就在前面!
微信公众号:C语言编程学习基地,其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流QQ群951726787,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。
程序人生丨听说程序员是相当就能当的?BAT大牛当场就不乐意了!的更多相关文章
- 掌握NIO,程序人生
就像新IO为java带来的革新那样,让我们也开启一段新的程序人生. 关键字:NIO,BIO,伪IO,AIO,多路复用选择器,通道,缓冲区,jdk研究,回调函数,高并发 java.nio 概述 历史背景 ...
- Android群英传帝落篇——程序人生,路漫漫其修远兮,吾将上下而求索!
Android群英传帝落篇--程序人生,路漫漫其修远兮,吾将上下而求索! 当写这篇博客的时候,自2016-02-22到现在5.2号,一晃眼,也㓟两个多月就过去了,我才将这本书看完,虽然写笔记花了很大的 ...
- IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题
程序员的工作不是写程序,而是写程序解决问题. --- 某不知名程序员 我们每天都在写代码,有些代码有结构性的相似,但不是所有的代码都可以被抽成方法.在这种情况下,我们应该考虑使用template的方式 ...
- 微信小程序将带来web程序员的春天!
微信之父张小龙在年初那次演讲中曾表示:“我自己是很多年的程序员,我觉得我们应该为开发的团体做一些事情.”几个月后,微信正式推出微信应用号(即微信小程序)在互联网中掀起又一波热潮. 过去,对于很多开发者 ...
- 深入理解计算机系统大作业——程序人生P2P
程序人生P2P 前言 经过一个学期的快乐学习(折磨),计算机系统终于结课了,自认为对于计算机系统算是有了粗浅的理解.为了庆祝结课,顺带总结自己的学习经历(只是为了完成大作业),便通过一个简单的程序he ...
- 哈工大 计算机系统 大作业 程序人生-Hello’s P2P
计算机系统 大作业 题 目 程序人生-Hello's P2P 专 业 计算机 学 号 班 级 学 生 指 导 教 师 计算机科学与技术学院 2021年6月 摘 要 本文主要通过分析hello这个程序的 ...
- 微信小程序转百度小程序代码
听说百度小程序开始出现手机端搜索流量,作为SEO一员,必须搞他.但是又奈何之前做的都是微信小程序,所以用php写了一个微信小程序转百度小程序代码. 修改文件后缀名 .wxml转换为.swan .wxs ...
- 微信小程序代码大全 - 小程序开发福利
小程序QQ交流群:131894955 小程序开发文档(Wepy) 小程序商城源码下载(weixin-app-shop) 小程序官网源码下载(weixin-app-cms) 微信管家平台JAVA版开源下 ...
- 使用未付费的账号真机调试 iOS 程序,过几天后程序一打开就会闪退
使用未付费的苹果开发者账号真机调试 iOS 程序,过几天后程序一打开就会闪退. 解决办法: 删除 Provisioning Profile,重新配置一次. 终极解决办法:花钱购买苹果开发者账号. ...
随机推荐
- css两端对齐——div+css布局实现2端对齐的4种方法总结
div+css布局实现2端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法: html结构 实现demo里面的div通过Css进行2端对齐. <div class=" ...
- 「单调队列优化DP」P2034 选择数字
「单调队列优化DP」P2034 选择数字 题面描述: 给定一行n个非负整数a[1]..a[n].现在你可以选择其中若干个数,但不能有超过k个连续的数字被选择.你的任务是使得选出的数字的和最大. 输入格 ...
- [JAVA]字符串常量池String pool
字符串常量池(String Pool)保存着所有字符串字面量(literal strings),这些字面量在编译时期就确定.不仅如此,还可以使用 String 的 intern() 方法在运行过程中将 ...
- 开源导入导出库Magicodes.IE 多sheet导入教程
原文作者:tanyongzheng 多Sheet导入教程 说明 本教程主要说明如何使用Magicodes.IE.Excel完成多个Sheet数据的Excel导入. 要点 多个相同格式的Sheet数据导 ...
- 简单讲解一下http2的多路复用
在 HTTP/1 中,每次请求都会建立一次HTTP连接,也就是我们常说的3次握手4次挥手,这个过程在一次请求过程中占用了相当长的时间,即使开启了 Keep-Alive ,解决了多次连接的问题,但是依然 ...
- python 装饰器(二):装饰器基础(二)变量作用域规则,闭包,nonlocal声明
变量作用域规则 在示例 7-4 中,我们定义并测试了一个函数,它读取两个变量的值:一个是局部变量 a,是函数的参数:另一个是变量 b,这个函数没有定义它. >>> def f1(a) ...
- vue 写h5页面-摇一摇
依赖的第三方的插件 shake.js github地址: https://github.com/alexgibson/shake.js 提供一个摇一摇音效下载地址:http://aspx.sc.chi ...
- Java数据类型自动转换(++ ,+=)
在算术表达式中的自动类型转换 数据从类型范围小的自动向数据范围大的转换 整数向浮点数转换(包括long类型向float转换) 例子: char类型的范围内与整数之间转换依据ASCII表 强制转换会丢失 ...
- bzoj2295【POJ Challenge】我爱你啊*
bzoj2295[POJ Challenge]我爱你啊 题意: 求一个字符串中有多少个"luvletter"(不包括引号).字符串长度≤100000. 题解: 连kmp都不用…… ...
- Python Ethical Hacking - BACKDOORS(8)
Cross-platform hacking All programs we wrote are pure python programs They do not rely on OS-specifi ...