如何像程序员一样思考

全世界越来越多的人发现了软件开发的乐趣和兴奋。一个你构建东西的职业,去打破它们,然后再把它们构建得更好。您可以经常设定自己的工作时间并与来自全球各地的客户一起工作的职业。一个可以自己当老板的职业?编程在 21 世纪的吸引力是显而易见的。

成为一名成功的程序员不仅仅需要简单地学习一种流行的编码语言或参加一些免费的在线编码课程,而且涉及的不仅仅是您的技术技能——它还需要敏锐的头脑和灵活性来应对编码的独特挑战性,并试图解决以前可能从未解决过的问题。

那么你如何学会像程序员一样思考呢?在学习代码的同时,您应该培养哪些心智能力?我们汇总了成功程序员的一些最常见属性,以帮助您为使用代码以及构建网站和应用程序的富有成效的职业做好准备。

提示#1:拥抱未知和不确定

关于编程最有趣的矛盾之一是固定和公认的规则与不确定性之间的关系。虽然流行的编程语言是建立在组织系统、构建事物的规则以及一旦被破坏就会导致错误的结构之上的,但我们的第一个技巧似乎与成功程序员的逻辑思维相反。

然而,有经验的程序员会告诉您,代码的本质——总是随着新系统和变通方法的开发而被创建、修改和删除——要求您接受不知道一切。即使是世界上一些最大的科技公司中收入最高的开发人员,也很高兴地告诉您,他们对编码有很多不了解。总会有另一种新语言的出现,多年来运行良好的代码的新问题,以及试图过渡到数字空间的行业的新需求。

那么你如何拥抱未知和不确定呢?从容应对意外、变化和意想不到的问题。在学习如何解决问题和为编程问题构建更优雅的解决方案时要有耐心,并意识到您认为“完成”的事情实际上可能根本没有完成。越早为编程生涯的曲折做好准备,就越容易面对第一个障碍并避免因无法适应变化而感到沮丧。

保持灵活性(并在编程时保持理智)的最后一个技巧是始终记住保持幽默感。每个程序员都会遇到他们似乎无法解决的问题,需求不断变化的困难客户,以及需要耐心一起工作的令人沮丧的合作者。一点幽默感可以大大帮助您保持理智,保护您的工作效率,并让您克服工作的挑战性。

提示 #2 – 对自己的技能和局限性保持现实

程序员的职业生涯通常始于自由职业——虽然那里为经验丰富的程序员提供了大量的工作机会,但新手程序员通常需要寻找专门希望培训新编码员的初创公司或团队来开始他们的职业生涯。自由职业生活有一些明确的好处,包括灵活性和“自己当老板”的能力。

然而,对于许多新程序员来说,一个普遍的问题是试图咬多嚼少,开始建立工作经历和作品集。对于预算有限且产品发布期限紧迫的公司或初创公司而言,在没有经验的程序员身上浪费大量资金可能会导致你被解雇,或者获得负面评论和业务推荐,这实际上会让你在尝试进步时进一步倒退在你的职业生涯中。

所以,对于新程序员来说,诀窍是要有耐心——首先寻找机会发展你的技能,然后在你真正掌握了诀窍并发现你仍然需要什么知识之后再寻找高级项目。如果您能保持耐心并建立真正令人印象深刻的早期工作经历,您将看到随着时间的推移您可以获得的机会和您可以获得的薪水所带来的好处。

有关如何让自由职业成为您职业生涯成功开端的更多建议,请访问我们的自由职业深度指南

提示 #3 – 决定自己当老板或为他人建立愿景

多年来,像《社交网络》《黑客》这样的电影使编程和编码的世界浪漫化。然而,好莱坞版本的编程往往围绕着破解已建立的系统或构建下一个十亿美元的想法——对于大多数选择它的人来说,这忽略了编程职业的大部分现实。

实际上,许多开发人员属于两个阵营之一——那些试图建立自己的创造性愿景的人,以及那些乐于为他人提出职业建设想法的人。在深入您的编程生涯之前,弄清楚您属于这两个阵营中的哪一个是必不可少的,因为每个阵营都需要培养一套独特的技能,如果您在开始编程工作后选择另一条道路,这可能无济于事。

如果您选择成为帮助他人的资源,那么您将希望将您的编程生涯视为一个专业组合——网络、与客户建立关系、构建代码库和工作经历供未来客户审查,以及学习专业知识和有效协作所需的沟通技巧。

对于那些想要打造自己的“下一件大事”的梦想家来说,拓宽自己的编码技能通常比打造专业形象更重要。由于动态 Web 应用程序通常需要数千行复杂的代码,并且要解决编写此代码时会出现的许多错误,因此增加您对各种语言的了解并练习所选语言的高级概念至关重要。

技巧 #4 – 创建可帮助您高效且有效地工作的系统

这是好莱坞版本遗漏的成功程序员使用的另一个关键工具——真正成功的程序员是有组织的!真正成功的程序员不是简单地在黑暗的房间里整夜编码,而是找到适合他们的时间表、检查和交付代码的系统,以及与客户沟通的方法,确保每个人都在同一页面上。

虽然每个人都有不同的高效工作方法,但可以采取一些很好的简单步骤来帮助组织您自己的编程方法,包括:

  • 创建适合您自己的生产力和客户需求的固定工作时间表。无论您是在深夜、正常工作时间还是在基于里程碑的突发编码中工作得更好,无论您从事什么工作,安顿在一个系统上都可以帮助您保持高效和多产。
  • 选择一个首选的通信和可用性平台。虽然许多客户通常会为他们的团队或公司选择一个系统,但让他们知道联系您的最佳方式并确保及时响应或有空解决问题会让每个人都更开心。
  • 一旦您开始接收项目并收取付款,请找到一个一致的系统来处理您用于每项工作的付款。如果您拥有经过验证、值得信赖的支付系统,让每个人都能更轻松地进行会计核算,客户就会尊重您的专业精神。
  • 考虑使用TrelloAirtable等项目规划工具,它们可以帮助您创建易于组织的流程图和卡片,让您始终掌控待办事项清单。鉴于任何编码项目不断变化的需求,这对于避免浪费时间(或浪费客户的金钱和资源)至关重要

提示 #5 – 永远学习!

您可能已经开始注意到这些建议的主题——具体来说,接受您不知道的东西并努力弥补这些差距。虽然其中一些来自与客户合作和处理不同类型的编码问题和项目的经验,但还有一种简单的方法可以继续建立您的知识库。活到老学到老。

当你开始你的职业生涯并开始接受要求更高的工作时,这会是什么样子?

  • 继续使用您不熟悉的语言参加优质编码课程,或尝试使用代码游乐场实时练习代码,以构建您的编码技能组合
  • 访问活跃的开发人员论坛,如Stack OverflowGithub,向经验丰富的开发人员学习、提出问题并获得有关您正在解决的特定问题和错误的建议
  • 阅读领先的技术出版物程序员建议博客,它们可以帮助您了解编程的新发展和未来趋势
  • 保留以前客户的目录,以获取有关流程的反馈、建议和建议,这些流程可以使您在未来的项目中成为更有效的程序员和团队成员
  • 找到一个好的工具来构建和维护您自己的专业组合,它可以更好地帮助您反思您的经验和知识所在以及您需要填补哪些空白以使其更加强大

没有比经验更好的工具了,但是使用这些资源和其他资源可能是帮助您在职业生涯中取得成功并实现您的目标(无论是专业目标还是创意目标)的最佳方法。

如何像程序员一样思考相关推荐

  1. 像优秀的SQL程序员一样思考

    像优秀的SQL程序员一样思考 --<SQL编程风格> 本书详细信息请点击:http://www.china-pub.com/209168 数据库作为现代软件应用的核心之一,正在发挥越来越重 ...

  2. 像程序员一样思考_如何像程序员一样思考-解决问题的经验教训

    像程序员一样思考 by Richard Reis 理查德·里斯(Richard Reis) 如何像程序员一样思考-解决问题的经验教训 (How to think like a programmer - ...

  3. 像程序员一样思考:如何仅使用JavaScript,HTML和CSS来构建Snake

    by Panayiotis Nicolaou 通过Panayiotis Nicolaou 像程序员一样思考:如何仅使用JavaScript,HTML和CSS来构建Snake (Think like a ...

  4. 《像程序员一样思考》

    引言 <像程序员一样思考>是一本训练程序员编程思想的指导书.本书以向个经典难题开篇,提出一些编程中常用的思想方法,如重述.类比.划分.消减等.同时也提供一些具体的技巧,如利用数组.指针动态 ...

  5. python max函数时间复杂度_程序员的思考:用函数还是用复杂表达式

    程序员的思考:用函数还是用复杂表达式 Perl语言的原作者Larry Wall曾经说过,伟大的程序员都有三个优点:懒惰.暴躁和自负.乍一看这三个词语没有一个是褒义词,但在程序员的世界里,这三个词有不同 ...

  6. 测试/开发程序员的思考,突破变得更强......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  7. 像程序员一样思考之一

    像程序员一样思考之一 人们经常会说程序员比较呆板.理性.不够活泼.不爱说话,但更多的描述的是程序员的性格特点.但是程序员的思维方式,更重要,更有现实意义.因为他将影响我们程序员的工作.学习和生活.这也 ...

  8. A001-书籍-像程序员一思考

    书籍:<像程序员一思考>(修订版-2015) 主要内容:1.摘录                     2.习题解答 ---------------------------------- ...

  9. Python - 如何像程序员一样思考

    在为计算机编写程序之前,您必须学会如何像程序员一样思考.学习像程序员一样思考对任何学生都很有价值.以下步骤可帮助任何人学习编码并了解计算机科学的价值--即使他们不打算成为计算机科学家. 顾名思义,Py ...

最新文章

  1. ES6变量常量字符串数值
  2. 发现优质免费的区块链在线教程资源,包含PPT和视频资源,全部免费
  3. NeurIPS 2020论文接收大排行!谷歌169篇第一、斯坦福第二、清华国内第一
  4. Android Design Support Library初探-更新中
  5. docker容器指定ip
  6. 对require四种引入方式的认识
  7. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...
  8. P2619 [国家集训队2]Tree I
  9. 垂死病中惊坐起_我如何开始恢复垂死的软件团队的过程
  10. mysql 时间计算函数_MySQL时间计算函数DATE_SUB()用法简介说明
  11. 手机运行速度慢怎么办
  12. 开启admin$共享
  13. [SheRO]用D3D绘制2D图像
  14. 小编详解网络蜘蛛的安全隐患及预防方法
  15. jsoup实现超简单的爬虫
  16. MTK-EngineeMode-Hardware Testing
  17. 中国计算机省份排名,大变局开启!2019全国各省GDP排名出炉,哪些省份掉队了?...
  18. HarmonyOS 2+华为P50系列组合正在开启“超级终端”时代
  19. python3.9.0a3详细安装教程_Python 3.9.1图文安装教程(附安装包) | 我爱分享网
  20. Rust之Sea-orm快速入门指南

热门文章

  1. 雅思分数计算表和考试题型分析
  2. python求解一元二次方程的解_python练习题1-一元二次方程解
  3. 链上泉城,商机赋能 | 易保全亮相商机大会,区块链应用受瞩目
  4. 为什么LSTM被叫做长短时记忆网络?
  5. Python参考手册(转)
  6. 100行代码 5分钟开发一个数字货币行情软件(升级版)
  7. 免运费:卓越亚马逊的最后一搏?
  8. 使用网络摄像头在 Python 中进行人脸检测
  9. 433MHz(CC1101)与zigbee (CC2530)对比测试
  10. 腾讯2016校园招聘·成都线路 移动开发方向,本人止步于二面——腾讯校招面经。