1、解释做了什么?
解释软件开发过程是很让人崩溃的一件事。那些不会写代码的家伙可能在这一行有所了解,但是正如定义所说的,他们不会写代码。在他们眼中,我们就是一群待在昏暗的房间中弓着背噼里啪啦敲键盘的程序猿。
搞不好你的朋友家人还有同事,甚至有可能会有编码“不是正当职业”的想法呢。
2、可视化解决方案
假设给定一组简单的——难听点说就是考虑不周的——需求,你需要制定数据存储库、代码结构、算法、通信协议,以及只要能解决业务问题就得去完成的各种技术内容。然后,还需要用一种通俗易懂,哪怕是外行人也能明白的方式解释出来,并在规定期限内交付给客户。
很少有开发人员能真正做好这一点。
3、预估交付时间
这是每个开发人员的噩梦。试想一下,以前一点也没有接触过的任务,突然要你确定完成它所需要的时间,是不是有点天方夜谭呢?可能曾经也写过类似的代码,但是却并不是在有着相同问题和限制的同一个系统中,好吧!
4、借鉴别人的代码
条条大路通罗马,解决方案也是。借鉴别人的代码可能意味着要花上很多时间去研究上千行代码以了解整个的思路。而且,要是恰巧原先的开发人员一点也不留注释和文档的话——甚至只是个半途而废的半成品项目——那就更加令人头大了!
5、不知道从什么技术入手
很多人会问:“我应该先学什么编程语言?”之所以会提出这个问题,是因为他们不知道自己为什么要学习代码。
一旦你下定决心去完成一个特定的项目,那么从什么语言入手这个问题就变成一件很容易的事情:
如果你想构建iOS app,那么你需要学习Objective C或Swift。
如果你想构建Android app,那么你需要学习Java。
如果你想构建Web app,那么你需要学习JavaScript。
其实现在我们可以使用JavaScript来创建任何类型的项目——无论是简单的web和移动app,还是高级的硬件项目。大多数行业中都有它的身影:音乐、医疗、游戏、时装。这种语言非常值得学习。
如果你还是不能确定要选择哪种语言,那么不妨咨询下某个程序员的意见。只要你确定要构建什么项目,那么他就能很快地为你推荐适合你使用的技术。
另外,知识都是相通的,所以,不要过于拘谨,选择语言这一步骤几乎没什么风险。
6、不能学以致用,以及责备自己
选择好技术堆栈之后,刚开始学习理论总是很轻松的,而且网上也有许许多多免费和付费的在线课程。
很快大多数学习者掌握了理论知识,甚至完全可以自己来解释某个代码片段的工作原理。理论只是概念的有限集合。任何人都可以在几天之内记住它,如果她/他真的想的话。那么,关键的问题是什么?
学习者碰到的最大问题在于,实际应用理论来解决问题并编写新代码的时候。这中间的差距实际上就是技能空白。
7、不知道如何利用资源
当你在学习代码,或调试代码时,可以咨询很多材料:书籍、课程、教程、导师,开发者社区等等。
在你学习这些资源时最常见的问题是,你并没有完全了解幕后发生了什么事情,也不知道概念是如何融入到更大的蓝图中的。
另外还有一点可以通过自身的学习来获取一大进步。
分享给超过5万的程序员朋友下载,这次我把所有干货重新梳理精简,免费分享给大家 。
究竟有哪些干货呢?
联系客服