努力的人,应该像好色那样好学

做Android开发的同学,对Gradle肯定不陌生,我们用它配置、构建工程,可能还会开发插件来促进我们的开发,我们必须了解Gradle,而不仅限于只会当配置构建工具,我想学习它,于是就有了这一系列的文章。

一.你应该承担怎么的责任

这是专业和不专业的分水岭。对于一般的程序员来说,责任就是及时、高质量的完成任务;对于 一个领导者来说,其责任就是统领全组,合理安排任务,让组员各司其职。这里包括3点:

  • 承担合适的责任。**选择自己能力范围内、自己喜欢做的。**一旦选择了工作,请承担完成的责任;
  • 学会说不。经常看到,产品经理或者领导会催促在极短的时间内完成任务,而程序员这个时候总是欲拒还休,说我来试试吧。专业的程序员对于任务有靠谱的预判和掌控力。当完成不了的时候,一定要说不。否则既是对自己不负责任,也是对他人不负责任。
  • 应对最坏的情况。程序员最悲催的莫过于搞不定任务,这个时候一定不要推卸责任。这时候最重要的是给出一个切实可行的补救方案,最好有一个完成任务的时间点。老板不在乎你为什么完不成,在乎的是究竟怎样能完成。

二.代码的质量

  • 没有Bug,每一段代码都要有相应测试。很多人不写测试,那是因为他们抱着侥幸心理觉得自己代码没问题,同时写测试又很浪费时间。实际上保证代码质量的第一要素就是测试,测试可以让你检测不同输入所产生的输出,有时候甚至可以推动你去修改开发代码以提高质量。
  • 可读性要高,让别人看懂理解非常的重要。
  • 可扩展性和解耦性。最好的代码不仅针对当前特殊的情况,还可以应对其他情况;以后即使对现有的代码进行大量修改,也不应该影响其他模块。

三.敲代码所需要的时间长短

一个专业的程序员一周的花在计算机上的时间应该为每周60小时。最基本的40小时,要花在工作中。剩下的20小时,要花在提高自己身上。提高可以是多种多样的:读博客、做项目、看文档、上公开课。

有人说没时间,我们来算一笔账。一周有168个小时,假设你一天睡8小时,吃喝拉撒2小时,这样你还剩 168 - (8 + 2) x 7 = 98小时。然后你花在代码上60个小时,你还剩 98 - 60 = 38小时。你完全可以用20个小时陪伴家人(我知道很多人没有成家),再用10个小时与朋友聚会出游,就算这样,你也还有8个小时可以自由支配。

之所以要在代码上花费这么长时间,是因为软件这一行这一行变化太快了:乔布斯逝世才5年,Google已经声称移动时代已经过去,现在是人工智能时代;Objective-C还没火几年,转眼Swift已经出到了第3个版本;Html 5刚刚落寞,Facebook又推出了React Native试图整合Android和iOS两个平台。。。技术的进步,总是让程序员有太多的东西要去学习。

三.有自己精通的专属领域

无论是那个领域,都有自己的一套架构体系。作为一名专业的程序员,我觉得应该至少对自己领域所有的知识都有涉猎了解;对于核心的部分,则要做到烂熟于心的程度。
之前看过一篇文章,是说新技术又新又酷,鼓励大家快来学啊。**学习新技术的原因永远不是因为它新、它潮,而是因为它可以更好的解决当前问题。**对于深度和广度两个维度谁先谁后的问题,我个人永远支持深度优先。只有本专业弄通的情况下,才能融会贯通。Andrew Ng出名是因为他在Machine Learning的专长;提到John Carmack,大家都会想到游戏编程狂人;谈起乔布斯,大家都绕不开iPhone。专业程序员能做普通程序员不能做的,这才叫专业。

###四.拥有自己独特的思考问题的方式
很多程序员平常写代码只在乎能快速解决问题,不在乎选择解决问题的方法和原因,这是典型的不知其所以然。专业的程序员,理应对每一个问题、每一步设计都有自己的理解
所以,在我们做开发的过程中,不过遇到什么样子的问题,我们应该注重考虑我们如何提升自己的技术内功,用什么样子的方法最完美的解决问题,而不是只求解决问题的速度。提升技术内功才是关键所在

五.团队沟通

绝大多数程序员都是:一壶水一盒烟一行代码敲一天。
只想写代码,做个安安静静的美男子,这当然无可厚非。但是你真的确定,正在在做的东西是老板希望、客户期待的吗?作为一名程序员,理解自己应该做什么、达到什么效果、同时让老板知道什么能够实现、什么实现不了,才是专业的表现。
举个工作的实例:
部门经理:我们组A这个项目要赶紧干完,老大盯着我们。
程序员甲:好,那我赶紧做。
程序员乙:好。但能问一下这个项目为什么老大盯着?做了对整个组或者项目有什么好处?A项目的所有功能都要完成吗?有没有具体的截止日期?

上面我们可以看到,也许程序员甲和乙技术能力相同,但是甲更偏向于兢兢业业、努力干活的老黄牛程序员,他写出的代码很有可能是他认为非常好的代码;而乙则更擅长沟通,更有大局观的程序员,他写出的代码就更有可能被大家都认可。他们的专业程度高下立判。

总结

现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。

我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。

Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。

如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。

Android学习PDF+架构视频+面试文档+源码笔记

(跨平台开发(Flutter)、java基础与原理,自定义view、NDK、架构设计、性能优化、完整商业项目开发等)

计、性能优化、完整商业项目开发等)

[外链图片转存中…(img-u7vNcCkM-1618050394546)]

handler机制,成功跳槽百度工资从15K涨到28K,挥泪整理面经相关推荐

  1. 成功跳槽百度工资从15K涨到28K,已整理成文档

    开头 在一般的互联网公司的技术人员的面试中,大概会经历3到4轮的面试,差不多2-3轮的技术面,还有1轮的HR面试,有人面试题是有关"目标",有的关于"方法",有 ...

  2. 成功跳槽百度工资从15K涨到28K,BAT大厂面试总结

    前言 每年的3.4月份是各大企业为明年拓展业务大量吸纳人才的关键时期,招聘需求集中.空缺岗位多,用人单位也习惯在初秋进行大规模招聘. 金九银十,招聘旺季,也是一个求职旺季. 不打无准备的仗,在这种关键 ...

  3. 成功跳槽百度工资从15K涨到28K,威力加强版

    前言 看到一篇文章中提到"最近几年国内的初级Android程序员已经很多了,但是中高级的Android技术人才仍然稀缺",这的确不假,从我在百度所进行的一些面试来看,找一个适合的高 ...

  4. 成功跳槽百度工资从15K涨到28K,专题解析

    前言 选了开发这一行,就意味着想混得好就要持续学习,你的技术和薪资.位置直接挂钩,进步对于程序员的重要性就不赘述了,接下来作为过来人,为广大同行分享一些学习干货,希望可以帮到大家 那么,2021年的移 ...

  5. 成功跳槽百度工资从15K涨到28K,跳槽薪资翻倍

    前言 这篇文章主要是分享今年上半年的面试心得,现已就职于某大厂有三个月了,近期有很多公司均已启动秋招,也祝大家在 2020 的下半年面试顺利,获得理想的offer! 之前找工作的那段时间感想颇多,总结 ...

  6. 看完不会的来打我!成功跳槽百度工资从15K涨到28K,内含福利

    开头 在一般的互联网公司的技术人员的面试中,大概会经历3到4轮的面试,差不多2-3轮的技术面,还有1轮的HR面试,有人面试题是有关"目标",有的关于"方法",有 ...

  7. 程序员工作三年:跳槽三家公司,从阿里出来,工资从15K涨到45K?

    一名程序员在互联网社区描述了自己跳槽经历,其毕业于16年刚开始工作在一个小公司月薪15000,后来跳槽到阿里月工资19000,如今选择跳槽去第三家公司,工资涨到了45000. 不得不说,这名程序员的工 ...

  8. 2020你与字节跳动只差这份笔记,我靠着这份笔记,工资从15K到了40K!(开发5年)

    原文链接:https://www.jianshu.com/p/c70989bd5f29 本文出自 AWeiLoveAndroid的博客 前言 临近金九银十,又到了面试求职高峰期,最近有很多网友都在求大 ...

  9. 一份笔记让你从 15K 涨薪并跳槽到32K+16

    2022 年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,所以这里给大家整理好了这份15K 涨薪并跳槽到32K+16的笔记,祝大家涨薪并跳槽成功 ...

最新文章

  1. 一个狠招|如何高效学习3D视觉
  2. C/C++中__builtin_popcount()的使用及原理
  3. iPhone上将短信内容发送到指定邮箱的方法
  4. IPSEC ××× 互通性测试结果(二)
  5. 【Python教程】读写ini配置文件的详细操作
  6. DNS(域名系统) 是什么
  7. ubuntu16.04 计算视觉算法相关软件安装 亲测可用
  8. 手把手教你做数据产品经理
  9. linux命令详解——tee
  10. TCP/IP常用端口说明
  11. 机器人能力再进化,组装宜家椅子只需20分钟! | Science Robotics论文
  12. 转换字符串的字符成单个字符并用逗号分隔
  13. 安卓的自动启动设置界面的启动代码
  14. js高级学习笔记(b站尚硅谷)-7-函数中的this
  15. android 自定义Preference CheckBoxPreference ListPreference的用法
  16. memcached 详解
  17. 数据库的备份与恢复(一)
  18. Mldonkey命令解释
  19. 测鬼记(上)——大海(六)
  20. 小超模滕文泽 受邀担任第七届少儿模特明星盛典代言人

热门文章

  1. 【代码大全2】第33章 个人性格
  2. 722 | Crypto Tech Night第五期分享会,参会通道开放中
  3. 新版本glib使用epoll代替poll
  4. python 替换重复字符_python - 在Pandas中,如何将重复值替换为多个唯一字符串?_pandas_酷徒编程知识库...
  5. 微信小程序之获取接口数据展示
  6. RL(Chapter 6): Windy Gridworld
  7. 《狼图腾》--农耕民族与游牧民族的冲突
  8. c语言文件尾没有newline字符,关于C++:”文件末尾无新行”编译器警告“No newline at end of file”...
  9. java配置dbcp连接池(数据库连接池)示例
  10. 用python画画简单代码_Python3使用PyQt5制作简单的画板/手写板实例