不管计算机专业大学生还是职场老手,除了代码之外程序员必备的软技能有哪些?

不想去成为一个伟大的程序员,只想成为一个具有良好习惯的优秀程序员。

前言

之前看了本《软技能:代码之外的生存指南》,虽然书中的内容提到的点到现在很多都有坚持在做,不过书中对程序员必备的软技能的归纳还是很不错的,不管是对于大学生、初入职场的菜鸟还是职场老手都是有一定帮助。

正文

对于优秀的软件开发者来说,埋头写代码绝并不应该是工作的全部,我们可以将开发人员生活分为事业、思想、身体和精神四个方面,然后去分析应该具备的软技能。

I. 职业

人际交往能力:远比你想象的重要

  • 如果你还是觉得自己的工作就是写写代码,那你最好要三思。作为一个软件开发人员,你的工作就是与人打交道(其实几乎所有的职业都是这样)。
  • 如何学会与人打交道?
    • 每个人都希望感到自己很重要;
    • 永远不要批评,用表扬代替批评
    • 换位思考
    • 避免争吵

破解面试之道

  • 通过面试的最快捷的方式是让面试官对你怀有好感,达成该目标有很多方法,其中大多数可以在面试之前完成。如了解面试官,之前就想办法和公司的人建立联系,如有自己的知名品牌/博客等。
  • 别忘了试验,即便你现在对换新工作毫无兴趣,为了获得面试经验,你也要去面试。练习得越多,你在真正面试时也就越游刃有余。

职业选择

  • 雇员:

    • Pros: 稳定,从业之路比较轻松,带薪假期。
    • Cons: 缺少自由,收入封顶。
  • 独立咨询师

    • Pros: 更大的自由度,可以持续做新项目, 赚钱潜力。
    • Cons: 但需要自己寻找业务,打理一切事物的开销,从“为一个老板服务”变成了“为许多老板服务”。
  • 创业者:

    • Pros: 完全自由,巨大赚钱能力,做你想要的工作,没有老板
    • Cons: 风险很大,完全依靠自己,需要很多技能,可能需要长时间工作
  • 进化之路:雇员(学徒思维) --> 独立咨询师/创业者

专业VS通才

  • 在一个专业方向上拥有专长尽管选择面窄了,但其实往往更容易获得极好的机会。
  • 走“专业化”道路与具备广泛的技能并不矛盾。

请勿陷入对技术的狂热中

不拘一格是要点所在,没有理由去强烈坚持自己选择的技术就是最好的,而轻视甚至无视其他技术。保持开放的心态,你会发现更多机会为你敞开大门。

II. 自我营销

创建大获成功的博客

  • 打造成功博客的最大秘诀有且仅有一个: 持之以恒
  • 如果每天写一篇博客且坚持好几年,想不成功都难。
  • 强烈建议至少以每周一篇的速度更新博客。
  • 除了持之以恒之外还应该确保你写的都是高质量内容。
  • 别担心,不需要一开始就追求完美,起步的时候可能会很糟糕,但随着不断尝试贡献出优秀的内容(不是将自己脑子里的东西随意丢到网页上,不考虑格式和结构,且还有一大堆拼写错误),你的博客品质会越来越高。

博客写什么的终极问题?

  • 解决这个问题的最好办法是提前头脑风暴出各种不同的想法,随时更新可能的博客主题的清单,这样你总是保持一堆话题可供选择。
  • 同时,不要太担心文笔如何,不要太在意别人的想法。有时候你只是要写一篇博客让自己的博客有内容,仅此而已。

核心目标:为他人提供价值

  • “如果你能帮助足够多的人们得到他们想要的东西,你就会得到自己想要的东西。”
  • 如果你表达的和传递的信息不能帮到其他人,那么每个人都将会无视你。
  • 把你的工作成果的90%都做成免费的,当你免费给人们提供实际价值时,回报更大。

善于运用社交媒体

  • 聚焦于构建稳定的受众群体,并逐步提升活跃度。
  • 持续不断地在自己的社交媒体上给别人分享和提供有价值的内容,那你必定会赢得尊重和声誉。
  • 使用诸如Buffer的社交媒体管理工具高效管理所有社交账号。

演讲,报告和培训

  • 公司内的机会
  • Code Camp/Meet up等相关团体的主题分享
  • 进阶:开发者大会,做培训, YouTube, Udemy等

著书立说,吸引追随者

在有了足够的基础之后的进一步追求。一个人通过写书可以收获极大的信赖,如果你也想被看做业界值得信赖的人,你也应该写本书。

百折不挠,越挫越勇

收起自己脆弱的自尊心,勇敢走出去,你必须学会如何无惧自己被别人看做傻瓜,别害怕让自己出丑。

III. 学习

如果你想学习一些东西,最好的方法就是付诸于实践。

十步学习法

1 ~ 6 是第一模块,只需做一次

  1. 了解全局: 这样你才能弄清自己到底要学什么,找出最好的学习方式。
  2. 确定范围: 将宏大主题缩小并聚焦到一个特定范围内,尽可能保持专注。
  3. 定义目标: 目标要具体化,比如可以利用C#语言的主要功能写出一个小的应用程序,我可以用HTML5 在网上为我自己创建一个主页,展示我的简历和我的代表工作。而不是”学习C#语言基础知识“,或者”知道如何使用HTML去构建一个网页“
  4. 寻找资源: 尝试收集到多种多样的资源帮助你学习,这在当下的互联网时代很容易做到。
  5. 创建学习计划: 比如可以参考在第4步中找来的图书的目录,循序渐进。
  6. 筛选资源: 浏览找到的全部资源,刷选出品质最高的。

7 ~ 10 是第二模块,需要循环往复

  1. 开始学习,浅尝辄止:既不要在知之不多的情况下就盲目开始,也不要在行动之前准备过多,行动太晚
  2. 动手操作,边玩边学:无需了解全部内容,不用担心结果,勇敢探索吧!
  3. 全面掌握,学以致用:在8的过程中积累了问题,再带着问题进一步深入理解主题。
  4. 乐为人师,融会贯通:把知识交给别人,是唯一检验你确实掌握了知识的办法,同时也是查缺补漏的好方法。

发现自己的知识短板

工作上遇到短板时,人会本能地倾向于掩饰自己的短板,而且我们又总是太忙,忙到无暇去填补他们,于是短板一直都在。长期下去往往导致为了掩饰短板我们反而花费了更多的时间和精力。
要学会及时找出自己的短板,并且刻意地通过努力消除短板。

IV. 生产力

一切始于专注

缺乏专注,任务会被拖延很长一段时间。
在开始一项任务之前,确保你已经做好一切可以让自己免受干扰的措施,不管是内部干扰还是外部干扰。

生产力提升计划

找到适合自己的方式制定季度计划,月计划,周计划和日计划,可以使用诸如Trello类似的软件。合理地安排休息和休假也是必不可少的。

番茄工作法

严格使用这一方法,高效地追踪自己一天内完成了多少个番茄钟,并未每天完成的番茄钟的数量设定目标,这样才能真正发挥番茄工作法的魔力。

定额工作法

例如:

  • 每周跑步3次,
  • 每周发布一篇博客,
  • 每周完成50个番茄钟的工作。
    一旦做出”承诺“,就必须不遗余力地完成自己设定的任务,除非身体丧失工作能力,否则没有任何情况可以阻止你去完成任务,这也是”定额工作法“的核心。

多任务并行

  • 为什么多任务并行一般都很糟糕?因为多任务并行时很容易打破专注力,而不在专注模式下时,很容易会拖延时间,结果反而降低了效率;
  • 批量回复邮件,微信,短信,电话效率更高。
  • 真正的多任务并行:将一项不费脑经的任务和需要精神专注才能完成的任务结合起来,如听着音乐打字,体育运动或开车时听Podcast。

时间是怎么被浪费掉的

  • 戒掉电视。
  • 每天批量处理邮件和社交媒体活动。

分解任务:如何吃掉一头大象?

  • "要吃掉一头大象,每次吃一口。"
  • 每个大型任务都可以分解成不计其数的更简单更小型的任务。比如写书时,无非就是把每篇拆分成很多小的章,每章也就1000 ~ 2000字。
  • 同理,写一个大型的程序,无论多么庞大和复杂,都可以被分成一行行的代码,因此只要能写好单行代码,你就能写好任何应用程序。

努力工作的价值

如果真想富有成效,你就不得不学会工作的时候既聪明又努力。光有聪明是不够的,在所有的情况下,我们面对的现实就是,没有一件事情是轻而易举的,如果真想要成为成功人士,你就不得不在有些时候通宵达旦。 要想实现目标,要想发挥出自己的全部潜力,唯一的途径就是自愿咬紧牙关、硬着头皮、开始工作。

任何行动都比不采取行动好

还是那句话,”Done is better than perfect.“

V. 理财

  • 要想在财务上获得成功,就必须学会如何投资,别无选择,复利是最强的武器。
  • 房地产市场是一个长期来说稳定且回报率较高的投资方向,值得好好研究。可以从较小的,低售价的公寓开始。
  • 在同等收入的情况下,尽可能地减少开支,其实就相当于增加了收入。
  • 在保证白天工作的同时尽可能地去寻找更多的实现被动收入的机会,早日实现更多的被动收入现金流。

VI. 健身

程序员应该坚持锻炼身体,在你身体健康时便不会受到例如生病这些造成的产能低下以及身体出现问题对生活造成影响。

VII. 精神

精神是这个世界存在着对一股很强大的力量,它能带领我们走上成功之路,把我们推向成功。

文章每周持续更新,原创虽短,确不容易,欢迎大家点赞关注,一起交流技术一起提升成长。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值