专栏首页程序员的知识天地零基础学Python--成为优秀的程序员应遵循的十条规则

零基础学Python--成为优秀的程序员应遵循的十条规则

之前的一个主题由于可能篇幅上实在太长,我确实有二十条可以写,但是一篇文章可能实在写不完,分篇写可能确实用户体验较差。因此精炼出十条程序员准则,聊慰这十几年的程序员生涯。编程并不是一门简单的学科,是一个跨学科的艺术。这两年的人工智能让很多程序员有些误解,认为算法才是程序员的最高境界。事实上算法仅仅只能算一个极小的分支和方向,并且个人认为很多算法岗位的设计已经是偏离了正常的轨迹。我们后面慢慢来谈这个问题!

一、找到一个良师。

一个好的老师,能让你事半功倍。往往很多同学刚刚工作,都会有一个技术导师。这个导师的能力很大程度上决定了你的进步速度,这里说的能力并不仅仅指技术能力,有些人技术很好,带人却实在是让人汗颜。并且带人需要一个人要有一些牺牲精神或者说长远的眼光,当然这也和一个公司的文化有关系。比如我带团队的时候我们的文化是开放和分享是第一位的,整个团队从选人来说,也都是选择乐观而且愿意分享,注重团队进步的人。从格局上讲,你愿意和人分享,别人也愿意和你分享,如此形成一个良性的循环。团队的进步会指数级的上涨,后面我会专门写一篇文章来讲技术团队的管理,在此不多叙。

好的老师,能帮你少走很多弯路,比如推荐你去看哪一本书,教你怎样开始,怎么样看代码?有一些导师会很喜欢一开始就给新人讲代码,这件事情我是非常反对,也从来不做的。往往有新人跟我讲说:给我讲讲这段代码吧!我绝对不会讲,我会问他哪里看不懂,帮他分析看不懂的原因是什么?其实往往原因只有两种:一是心理上对新事物的抗拒;一是看代码不得要领,看得太深或者太纠结于细节。

一个好的老师能很快分析出你的短板和你缺的前置知识,并推荐你去补缺的方法。最重要的好的老师能很快的找到你的优点,并且帮你利用你的优点扩大你的优势,让你迅速的脱颖而出。

如果大家如果在自学遇到困难,想找一个Python学习环境,可以加入我们的Python学习圈,自己是一名高级python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、人工智能、机器学习等。送给正在学习python的小伙伴!每天会准时的讲一些项目实战案例,分享一些学习的方法和需要注意的小细节,我们的python学习交流q–u--n【 784758214 】,这里是python学习者聚集地,欢迎初学和进阶中的小伙伴!

二、敞开心扉和思维,接受式而非批判式学习。

很多新人都有一个同样的问题,对新的事物特别的抗拒。不管身体多么的要学习,思维就是不停地在抗拒。我们说这是没有敞开心扉和思维的表现,体现出来的现象就是特别纠结,你去看他,他总是一脸懵。你和他聊一聊,他会告诉你,感觉自己基础差,这个代码有点难看懂。在帮他做了分析诊断,教他去补充一些前置知识之后,过了几天,再去问他,他仍然进展很慢。这个时候,仔细的和他一沟通,会发现他的学习方式是完完全全的批判式甚至是钻牛角尖的。比如看到说C语言的内存申请好使用过后需要手动释放内存,他的脑海里就会有无数个为什么?比如为什么要释放,不释放行不行?我们不是说追根究底不好,而是要在合适的时间去做合适的事情!

这个在新人里面太常见了,甚至他们在看一些很基础学科的书的时候,类似于公理或者常识的内容,他们也要问个问什么?好不容易不问为什么了,又开始试图去理解!这就叫做,用自己有限的可怜的知识去试图理解自己知识面以外的内容。这是为什么很多新人刚进一家公司的时候会觉得自己好像不能胜任这份工作。其实仅仅只是被自己不够开放的思维和内心、以及固执的学习方式所束缚!

三、学会激励自己,更要学会正向奖励自己。

新的环境,学习新的东西,这都是一个艰难的过程,尤其对于认知能力不强的刚毕业的同学们。我们跑步为什么不能坚持?我们学一门新的乐器为什么几天就放下了?我们看技术书籍为什么总是只能看十几页?我们学新的编程语言为什么浅尝辄止?这一切都是因为这类学习需要我们自我激励!你嗑瓜子嗑一个小时没有压力吧?你每天看一个小时电视也很轻松吧?这些区别在哪里?无非在于反馈时间的长短,恒心毅力我们暂且不表,因为事实上,如果有反馈,这些都不重要,并且是持续不断的正向的反馈。如果你看了一整天的文档,而没有感觉到有任何的收获,那么这是没有正向的鼓励。这时候,你如果把文档里的某一段程序放到电脑上运行成功了,你的感受上就会是一个鼓励。如果你稍作修改后,得出了不一样的效果,那么这就是一个更正向的奖励。这些需要你自己来为自己创造,所以要学会以这样的方式来给自己创造成就感,这个非常重要。

四、保持乐观的心态,学习如何给自己减压。

程序员是一个高压力的岗位,每天可能面对来自很多方面的压力,比如客户,比如项目经理,比如你的直属上级,甚至你公司的高级管理人员。有时候是工作没完成,有时候可能是出了一个较严重的Bug。对于程序员来说,日常可能就是这样的,没有一个乐观的态度是很难撑下去的。而各方面的Push对于程序员来说是毁灭性的,我曾经讲过我团队里的一个例子,整个团队的负荷超了很多,程序员们的效率开始大大降低,而且由于不同任务的Push,程序员们开始在不同的任务间切换,导致效率更低。

如何给自己减压呢?很重要的一点,是去理解整个的开发和交付流程,这样做的目的是让你自己明白哪一些任务优先级是更高一些的,哪一些是稍低的,自己要学会给自己排优先级!其次,问自己一个问题,着急能加快解决问题的速度吗?能提高效率吗?当然有同学要说了,站着说话不腰疼,项目经理坐在你旁边的时候你能不着急吗?首先,这个心态有有意识地训练。其次,沟通能力能帮助你滤掉部分的问题!当然,这其中很大部分是管理的问题,越级管理,和项目在团队中的角色很重要,这部分我会在技术管理的文章中讲到!

五、单线程工作,做好时间管理,每天至少给自己两个小时的高效连续时间。

时间管理其实是老生常谈了,我不提倡大家给自己做看起来很紧凑的时间计划,基本没什么用。有的同学计划里连十五分钟的休息时间都没有,但是完成度差的一塌糊涂,那没有用。我要强调的是两点,单线程工作和每天2小时高效连续时间。单线程工作这点其实很多软件公司都在大力推崇,这其实对于程序员是至关重要的。这一点工作过都有体会,也许你觉得你很厉害,但是程序员的工作是需要高度集中精神的一个工作,无数的试验证明单线程的效率远远高于多线程。而连续时间也是同样的道理,不然也不能称之为单线程了。找到你每天最高效、状态最好的时间段,做最重要的工作和学习。低效率的时间用来处理劳动密集型的工作或者也可以用来放松自己。

六、坚持跟进国内外前沿技术、产品和方向,不拘泥于行业。

相信每个人身边都有一群这样的人,他们整天只有在看代码,写程序,你去和他聊点时事,一脸懵,甚至你去和他聊点技术、产品以及行业的信息,也是一脸懵。这类人大抵技术处于一个很一般的水平,而交际上则更差了。我们要去关注前沿技术、产品和方向,不仅仅是可以从技术的角度来理解未来,更重要的是,你在这个圈子,要懂这个圈子的语言。不仅仅要看自己行业的,还要看其他相关行业的。

七、选定当前工作的技术方向,把深度做到极致。

在谈学习方法的时候,我有谈到深度和广度,并且我讲广度优先。但是深度对于技术人员来说,尤其是一直在技术领域发展的同学们来说,深度是决定你高度的最重要的决定性因素。我们会看到有很多程序员老兵,他们看起来博学广知,但是实际解决问题的能力却一般,这背后的原因其实就是深度不够。深度决定高度,广度决定深度。这句话同学们可以好好理解一下。

八、学会从宏观上理解程序和项目,优先理解框架和架构。

有很多同学,他们学到一定程度会发现遇到了瓶颈,维护代码,二次开发都没有什么太大的问题。但是一旦当开发一个新的项目,就发现不行了,整个项目组里,会发现他难当大任,无法组织整个项目的开发。这是什么原因,其实主要原因是框架或者说架构设计能力不行。很多人实现一段功能的代码没有问题,但是一旦做一个系统性的工作,马上就反映出短板。所以在看代码的时候,要学会先看广度,然后从宏观的角度来分析代码,这样有利于去理解软件架构的设计。

九、做人远比做事要重要,不管做事的能力如何,做人一定要做好。

其实无论是程序员还是其他的工作岗位,做人都是第一位的!公司里做人有几个层面的,其中有一句话可以很好的总结做事情的时候如何做人。万事有交代!什么是万事有交代?工作遇到阻塞要汇报,解决了问题要交付通知,工作当天未如期做完要汇报,请假工作要交代,离职工作要交接!这是基本层面的!更高层面的是做人的本身,比如分享你学会的东西,帮助后来的同事。做人是一个度的艺术,需要在工作过程中去仔细体会。

十、学会休息和娱乐,注重运动。

程序员,尤其是中国的程序员,整体来说,是一个很苦的岗位,分布在各类细分的行业。绝大部分国内的程序员都承受着巨大的压力,尤其在目前国内的情况下。所以更要学会抓住少的可怜的休息时间,忘记所有的任务和工作,去好好的放松和娱乐!而运动是保证我们在长期高压力和高强度工作下的身体健康,身体是赚钱的本钱。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序员撩妹子:除了身高矮点其他都很好!网友:凭实力单身

    我们都知道互联网行业程序员都是一门辛苦活,加班什么的见怪不怪,因此程序员连谈恋爱的时间都没有,好不容易有妹子,但你这个聊天水平,小编表示对比很担心啊

    一墨编程学习
  • 程序员幽默:66条让你笑爆肚皮的程序员段子

    1、程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。

    一墨编程学习
  • 程序员择偶不在乎经济,颜值和才华很重要!

    为了还原一个真实的程序员群体,极光大数据在10多个城市进行了一次程序员现状调查,通过回收的1684份有效问卷,得出了这份《2018年中国程序员研究报告》,从生活...

    一墨编程学习
  • 浅谈计算机基础的重要性

    筑梦师winston
  • 程序员财富自由了,居然会想做这些事!

    假如,明天你财务自由了,你会想去做些什么? 最近,他二哥坐电梯发现身边的程序员们,除了交流各种棘手的Bug之外,还会讨论股市大盘涨了还是跌了,自己买的股票赚了...

    腾讯技术工程官方号
  • 程序员如何在百忙之中不走岔路,不白忙!

    程序员忙,似乎是个公论,有些程序员甚至会认为,不忙的程序员无法快速地进步,从而会落伍。或者说,不忙的程序员有可能被公司末尾淘汰掉。对此,一直危机感很重的我深以为...

    Java后端技术
  • 程序员如何在百忙之中不走岔路,不白忙!

    程序员忙,似乎是个公论,有些程序员甚至会认为,不忙的程序员无法快速地进步,从而会落伍。或者说,不忙的程序员有可能被公司末尾淘汰掉。对此,一直危机感很重的我深以为...

    哲洛不闹
  • 挨踢荐读,百忙之中,如何才能避免白忙一场

    程序员忙,似乎是个公论,有些程序员甚至会认为,不忙的程序员无法快速地进步,从而会落伍。或者说,不忙的程序员有可能被公司末尾淘汰掉。对此,一直危机感很重的我深以为...

    挨踢小子部落阁
  • 中国软件开发的现状

    非著名程序员
  • 每个自学成才的程序员都应该避免的5个错误

    成为一名自学成才的程序员并不容易。每年都有许多人从大学毕业,获得计算机科学学位,而且他们中的大多数人都想成为优秀公司的开发人员。因此,作为一个自学成才的程序员,...

    ACM算法日常

扫码关注云+社区

领取腾讯云代金券