搞懂开源框架设计思想真的这么重要吗?终获offer

正文

从我个人的角度写写30多岁码工的感受:的确是受年龄压力开始增大了。比如二十多岁的小年轻,可能什么都懂,对组里的东西很熟悉。有时候我也怀疑自己是不是智商不够,是不是自学能力太差,是不是基础不行,别人是不是都玩命加班,你知道30多岁的人那种危机感。

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

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

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

二.代码的质量

  • 没有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两个平台。。。技术的进步,总是让程序员有太多的东西要去学习。
image.png

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

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

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

五.团队沟通

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

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

小结

有了这么多优秀的开发工具,可以做出更高质量的Android应用。

当然了,“打铁还需自身硬”,想要写出优秀的代码,最重要的一点还是自身的技术水平,不然用再好的工具也不能发挥出它的全部实力。

在这里我也分享一份大佬自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅的精品资料。在脑图中,每个知识点专题都配有相对应的实战项目,可以有效的帮助大家掌握知识点。

总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

如果你有需要的话,可以点击这里领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

真香定律!Android动态换肤实现原理解析,吐血整理

自己项目中一直都是用的开源的xUtils框架,包括BitmapUtils、DbUtils、ViewUtils和HttpUtils四大模块,这四大模块都是项目中比较常用的。最近决定研究一下xUtils的源码,用了这么久总得知道它的实现原理吧。我是先从先从BitmapUtils模块开始的。…

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案

knife4j knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍! knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采…

真香定律!一文带你搞懂Android多线程Handler,成功入职腾讯

Google 为了帮助 Android 开发者更快更好地开发 App,推出了一系列组件,这些组件被打包成了一个整体,称作 Android Jetpack,它包含的组件如下图所示: 老的 support 包被整合进了 Jetpack,例如上图 Foundatio…

真香警告!2021Android高级面试题,挥泪整理面经

前言 这是“拔剑金九银十”的第二篇文章,本文主要针对3年以上的Android开发者进阶面试中高级开发工程师而整理。 希望可以对你们有所帮助。不多废话,进入正题。 目录: Java中高级 计算机网络 Android高级面试—性能优化 Android优秀第三方…

冗余的阿里云实例开启和停止API

停止使用的API URL:https://api.aliyun.com/?spm5176.12818093.resource-links.dapi_platform.488716d0OrHCwQ#/?productEcs&version2014-05-26&apiStopInstance&tabDEMO&langJAVA 启动实例: URL:https://api.aliyun.com/?spm5176.12818093.re…

知乎大V推荐!面试官6个灵魂拷问,原理+实战+视频+源码

概述 想了很久怎么样可以让文章的标题不那么悲观,但是各种文案都在我脑海里面不断的被否定,要么是不那么抓眼球,要么是立意不匹配。最后想了想,这个标题是真的符合我最近的感悟。 希望看过文章,能有同感的朋友也能多…

Windows10家庭版安装Docker Desktop(非Docker Toolbox)

现在大部分笔记本预装的都是win10家庭版,而家庭版又不支持Hyper-V,Docker Desktop是无法直接安装的。但其实家庭版是可以通过脚本开启Hyper-V来安装Docker Desktop的。下面就教大家如何操作。 开启Hyper-V 添加方法非常简单,把以下内容保存…

阿里P7手把手教你!阿里P7级别面试经验总结,搞懂这些直接来阿里入职

什么是中年危机 根据权威数据显示,国内IT程序员鼎盛时期是在25-27岁左右,30岁对于程序员而言完全是一个38线,接着就是转业转岗的事情,这一点在业界也算是一个共识了。 大学毕业步入IT行业普遍年龄也是在22岁左右,然而…

自适应阈值化操作:adaptiveThreshold()函数

在图像阈值化操作中,更关注的是从二值化图像中,分离目标区域和背景区域,但是仅仅通过设定固定阈值很难达到理想的分割效果。而自适应阈值,则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处&#xf…

阿里P8亲自教你!Activity的6大难点,你会几个?年薪50W

前言 网上有很多对程序员简历的一些指导,这里就不重述,大家可以搜下网上其他大神的总结,结合自身情况修改下。我有几点建议: 1.尽量不要花哨,程序员和设计师或者产品运营还不一样,我们的简历成功与否决定…

为什么选用NACOS

Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如…

Qt样式表之一:Qt样式表和盒子模型介绍

一、Qt样式表介绍 Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(Cascading Style Sheets, CSS)的启发,不过与CSS不同的是,Qt样式表应用于部件的世界…

阿里P8大佬亲自教你!Android内存泄漏总结,看看这篇文章吧!

前言 这次去腾讯面试的是我大学同学,我们大学都是一学习,一起吃饭,一起洗脚,一起。。。 他们公司最近也裁员了,不过他是裁员前去的腾讯,不知道谁捞到他简历了,莫名就走了流程,他莫…

Sentinel在订单大量服务调用的应用场景

Sentinel译为“哨兵”,顾名思义,面对您后台的大量服务/微服务,前置一个哨兵,但面对大量请求时,让后台服务有序被调用,但某些服务的不可用时,采用服务熔断降级等措施,让系统仍能平稳运…

程序员深度学习!我想谈谈关于Android面试那些事,附赠课程+题库

想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 25%的面试官会在头5分钟内决定面试的结果60%的面试官会在头15分钟内决定面试的结果 一般来说,一场单面的时间在30分钟左右&…

MOSS 代替Spring Boot Admin 的服务治理工具

1.1 什么是服务治理 服务治理,我也称之为微服务治理,是指用来管理微服务的整个生命周期。包括应用的创建,服务名的规范,服务的上下线,服务的迁移,整个服务的生老病死等方方面面的治理。 1.2 Moss概述 Mo…

程序员经验分享:Android高级工程师系列学习路线介绍,面试必备

前言 曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。 在工作初期,工作主要是按照业务需求实现App页面的功能,按照设…

算法题+JVM+自定义View,隔壁都馋哭了

反思 昨晚去北京大望路阿里面试, 产生了严重的挫败感, 羞愧难当. 比不得从大学就有目标有理想, 一直在为目标努力学习技术的同学, 在大学唯一能拿得出手的就是参加了电子设计大赛, 学了点嵌入式的知识. 毕业后开始做android, 说得好听点叫做项目, 实际上就是搬代码, 真正记到…

终于有人把安卓程序员必学知识点全整理出来了,BAT大厂面试总结

行业激烈变化时,恰恰是机会最多的时候 坦白讲,许多人骨子里害怕变化和竞争。 其实大可不必。 一来,怕也没用嘛。二来,变化越快,组合要素增加了,意味着新的工作机会越多。 就像传统媒体VS新媒体。 放在…

c#反混淆工具de4dot 一般混淆都可以解决

c#反混淆工具de4dot 一般混淆都可以解决 使用方法: 1、CMD 打开 De4Dot 所在文件夹 最好是以管理员身份运行CMD 2、输入 De4Dot C:\Users\muzigaiyu\Desktop\demo.exe 回车 成功后会在软件所在文件夹生成 demo-cleaned.exe 在用dotpeek 或者其他软件打开exe即可看…