成为程序员后我明白了什么?分享11条经验助你成功


前言

在这里插入图片描述

入行15载,从一线大头兵,到负责技术的架构师,再到技术和管理一把抓的团队负责人,我从中总结了软件工程师成功入门的11个步骤,分享给想入行,或刚入行的同学们。


自我分析

讨论如何成为优秀软件工程师之前,首先要搞清楚自己适不适合走这条路。你是否具备以下特质呢?

1. 喜欢解决棘手问题

作为一名软件工程师,你需要运用智慧和创造力来解决难题,你的价值来源于为老板或客户解决这些令人头疼的问题。

2. 喜欢沉浸式研究某个主题

要成为一名软件工程师,你需要学习许多复杂的技能,并且要不停地学习。如果你喜欢学习并以此为乐的话,这对你来说可能是完美的职业。

3. 希望与他人一起实现宏大的目标

“独行侠”和“孤胆英雄”往往只是神话。大多数情况下,你必须领导其他人,或与他们合作,才能解决问题。

如果你是一个喜欢挑战、乐于学习并善于合作的人,那么你已经具备了成为一名优秀软件工程师的素质。


做什么

虽然你已经具备了条件,但是别急,先来了解一下软件工程师平时都在做什么。你是否对这些工作充满兴趣?

  1. 确定客户的问题,通过升级软件程序来解决
  2. 运行新软件或现有软件的测试
  3. 修正系统或应用程序的问题
  4. 从头开始构建新程序
  5. 管理软件工程项目(通常是同时管理多个项目)
  6. 利用设计模型来详细地理解或呈现项目
  7. 迭代新版本的代码
  8. 对团队的产出进行质量控制
  9. 记录并完善研发流程
  10. 使用生产力工具提升工作效率
  11. 与客户沟通需求和方案
  12. 编写高效代码
  13. 成为年轻工程师的导师
  14. 向团队中任何需要帮助的人提供帮助

写代码,绝不是软件工程师唯一的工作,它只是最基础的工作。如果只会写代码,很难成为一名优秀的软件工程师。


挑战

假设你已经下定决心要成为一名软件工程师,那么你还将面临下面几项挑战。

1. 你必须努力提高沟通能力、团队合作能力和领导能力

绝不要当一名“独胆英雄”,你需要:

  • 承担自己范围内的工作责任
  • 与团队成员一起协同工作
  • 与客户保持沟通

注意,这里的客户指的是工作上的客户,也就是为你的工作直接提出需求的人,而不仅仅是产品的用户。

如果缺乏沟通或公开演讲能力,那你需要尽快弥补这一短板。对于某些性格内向的人来说,这确实是一项不小的挑战。

但是,一旦掌握了这些软技能,你的职业生涯将轻松10倍。

2. 这项工作需要严谨地对待

系统性思考是软件工程师的杀手锏。只有系统性思考才能真正解决一个问题。“差不多解决了”、“我也不知道怎么就解决了”、“感觉没问题了”,这些撞大运的方法不是解决方案。

在工作中系统性地处理一个接一个的难题,这需要你保持专注力,用毅力来克服这些障碍。


路线图

一切就绪,接下来我们来讨论一下如何从零开始成为一名软件工程师。

1. 寻找动机并明确目标

许多人因为觉得难而放弃,但如果你有一个强有力的“为什么”,那么当你遇到困难时,坚持下去就容易得多。

2. 挑选职业路径

软件工程师有不同的方向。选择一个你想专攻的领域,并开始努力成为最优秀的。

以下是一些软件工程师的职业发展方向:

  • 软件集成
  • 质量保证
  • 游戏开发
  • 安全工程
  • 自然语言
  • 机器学习
  • 大数据库/数据库
  • AI

3. 学习一门首选编程语言

可以按照下面的步骤进行:

  1. 选择一门最有用的编程语言。它最好与你的职业发展方向匹配。其实,编程语言本身并不重要,重要的是要从长远角度考虑。学习一门语言,不能仅仅是因为“简单”。
  2. 正确地开启学习之旅。不要找一次性教会你太多东西的学习材料。你应该去找适合初学者的材料,而不是完整的技术栈参考手册。
  3. 立刻开始编程。在学习过程中,确保进行实际编程,运用学到的每个概念,不要放过任何一个疑点。
  4. 开始构建小型项目。当你对一门语言有了基本了解之后,需要将它运用到实际工作中,并找出差距。从一些简单的小型项目开始,不要让架构和设计技能阻碍你继续学习。

4. 了解编程基础和最佳实践

为了学习如何编写易于理解和维护的代码,你需要阅读大量的优秀代码。这个阶段,可以阅读一个经典的代码设计书籍,例如《代码大全》、《重构》和《编程珠玑》等。

5. 学习数据库技术

建议选择一本关于SQL技术的好书,并创建一些小的示例项目,这样就可以在练习中进行学习。

此外,还需要学习某种对象关系映射技术(ORM)。寻找适合你所学框架的ORM技术。可能会有几个选择,所以你最好选择最受欢迎的一个。

6. 通过实习积累经验

我建议一旦有实习机会,你就开始准备和申请。迈出第一步往往是最困难的。

光有知识和技能,没有工作经验,你很难被公司录用,所以要抓住任何一次实习的机会。

7. 保持信息通畅

永远不要停止学习。永远不要停止阅读。

如果在职业生涯中不断学习,你就会不断超越同龄人。以下是可以随时了解软件工程行业发展趋势的途径:

  • 活动和会议
  • 新闻
  • 博客
  • 书籍

8. 掌握所有软件工程师技能

确保你具备成为一名优秀软件工程师所需的所有硬技能和软技能,这些技能包括但不限于:

  • 批判性思维和注重细节
  • 沟通技巧
  • 合作的心态
  • 时间管理
  • 多任务处理
  • 故障排除
  • 测试方法
  • 数据库的设计与开发
  • 责任心
  • 能动性
  • 有信念
  • 值得信赖

9. 编写简历

可以把简历看做是一页广告。你唯一需要做的,就是在15秒内抓住面试官的眼球,让他对你产生兴趣。

要非常清楚地描述,你的技能和专长是什么,你是如何利用它们取得成就的,以及这些技能对你申请的职位有何作用。

10. 应聘第一份工作

找工作是所有事情中最困难的。即使你遵循了我所说的所有内容,并且具备一名优秀软件工程师的素质和技能,也可能还是没人给你机会,除非你能找到正确的定位。

11. 提升面试技巧

提前几个月做好准备,研究编程问题,和朋友进行模拟面试,包括但不限于以下内容:

  • 面试官常问的非技术性问题
  • 思考和行为模式问题
  • 计算机科学基础知识
  • 编程知识
  • 实际项目经验

总结

以上11条,是我根据多年辅导年轻工程师的经验总结出来的,看似说了很多,又好像什么都没说?

道理大家都懂,但是能做到的很少。

不过,你要问我成为程序员后最大的收获是什么?

让我明白什么是最佳职业:保持终身学习,在自由竞争的市场中,进行创造性表达(包括创造性解决问题)。

如果喜欢这篇文章,请不要忘记关注、点赞和收藏哦!
您的鼓励将是我创作的最大动力!

  • 31
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师昌哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值