2021年6月22日,我有幸采访了巴基斯坦的一家创新旅游初创公司Manaky。 这是我生命中重要的一天,因为它让我认识了我的导师 图瑟夫。 我记得面试安排在晚上 11 点,这让我十分紧张。 作为一个正在找工作的新手,我非常紧张,因为这是我第一次面试,我不知道会发生什么。
令我松了一口气的是,面试进行得非常顺利,当 图瑟夫向 Manaky 提供实习机会时,我感到非常兴奋。 谈话接近尾声时,他问我是否有任何问题,我唯一想到的就是实习是否有报酬。 不能责怪自己。 我非常渴望加入一家公司并开始赚钱。
这标志着我与 Manaky 之旅的开始以及与 Touseef 合作的机会。 从我们最初的互动开始,图瑟夫的非凡背景给我留下了深刻的印象,他曾在我一直渴望加入的著名科技公司工作过。 尽管取得了成就,图瑟夫仍然保持谦虚和平易近人的态度,这使他更加鼓舞人心。

加入公司后,我有幸有机会直接与Touseef一起工作,这让我能够观察到他的品质并密切学习他的指导。 虽然我可以写一篇完整的博客文章来赞扬图瑟夫作为一个人和导师的出色和关爱本质,但我想分享我在与他一起工作时学到的五个重要教训。
1-不要害羞通过面试后,我于 2021 年 7 月 1 日加入了这家公司。在我上班的第一天,Touseef 就约我见了面,并热情欢迎我来到公司。 在这次会议期间,他提出了我所收到的最有价值的建议之一。 他说:“Sharmana nai hai, warna piche reh jayein ge”,意思是“不要害羞,否则你会被抛在后面。” 这句话深深地引起了我的共鸣,因为我在大学期间就曾因自己的害羞而错失良机。 尽管拥有不错的学术经历,但我经常感到被忽视,意识到更直言不讳的人会受到优先待遇。

在最初的日子里,我在开发会议上非常紧张。 我会尽力避免开会。 然而,托瑟夫是一个聪明人。 他制定了一个计划来帮助我克服害羞并积极参加这些会议。 在我们的开发会议期间,他会指派我主持讨论并收集每个人的每日更新信息。 他坚持要求我在每周的团队会议上向整个团队展示我的工作。
随着我与 Touseef 一起工作的时间的推移,我甚至有幸成为他的队列会议的讲师,在那里我向他的学生教授数据结构和算法。 他的指导和支持有助于帮助我克服害羞。
2-解决更重大的问题我从图瑟夫那里学到的一件非常重要的事情就是致力于解决更大的问题。 现在我所说的更大的问题是什么意思? 这意味着专注于具有广泛影响的复杂挑战,例如大型系统、性能优化、安全性等。它涉及解决超出常规任务的复杂问题,旨在为业务做出重大贡献。
他认为,解决更大的问题可以促进专业成长和发展。 它使软件工程师能够扩展他们的技能,加深他们的技术专业知识,并获得处理复杂项目的经验。 接触具有挑战性的任务可以带来个人和职业的进步,为该领域更有价值的机会打开大门。
我给你举个例子。 在 Manaky 的头几个月,我开始致力于提高网站的性能。 这是一项具有挑战性的任务,因为导致网站性能缓慢的原因可能有多种。 在近两个月的时间里,我投入了大量的精力来研究和探索各种解决方案,最终将前端 JavaScript 包的大小从惊人的 1.1 MB 减少到精简的 370 KB。
这项任务的影响是显著的,直到今天它的影响仍然引起我的共鸣。 它教会了我宝贵的一课:只要我们付出百分百的努力,一切皆有可能。 完成这个任务后,我不再因为看似不可能的任务而感到畏惧。 有趣的是,随后 Touseef 委托给我的每一项编码任务都顺利完成。
而且,这次性能优化任务让我对整个代码库有了深刻的了解。 结果,我很快发现并解决了问题,甚至协助同事完成了自己的任务。 值得注意的是,我在简历中强调了这一成就,它已成为面试中讨论的话题。 分享这一成就背后的故事给面试官留下了深刻的印象,大大提高了我在受人尊敬的公司获得职位的机会。
3-博客2021 年 12 月,我意外地接到了 Touseef 的电话,结果证明这是我职业生涯迄今为止的关键时刻。 在我们的谈话中,他询问了我的队友及其当前项目的最新情况。 我几乎不知道,他将为我提供一些宝贵的建议:开始写博客并与他人分享我的知识。 从我大学时代起,甚至更早的时候,在我上学期间,写博客的愿望就一直在我心中挥之不去。 然而我一直缺乏正确的指导,始终未能迈出第一步。
像图瑟夫这样的伟大人物的一个显著特征是他们有能力激励和激励他人。 在那之前,各种障碍阻碍了我的博客之旅。 每当我尝试开始时,我发现自己在琐碎的事情上浪费了时间。 例如,我会创建一个 WordPress 网站,但很难找到完美的模板,对选项从来都不太满意。 或者,我会依靠我的网络开发技能并尝试从头开始构建一切,但结果却不知所措。
然而,图瑟夫的指导非常简单:开始吧。 他建议使用其他平台,于是我在这个平台上写作的故事就开始了。 我可以真诚地说,写作让我成为了一名更好的软件工程师。 与他人分享我的知识不仅使我的思想更加清晰,而且使我对各种概念的理解更加清晰和巩固。 此外,体验互联网上人们在我的博客中发现价值的感激之情是一种无与伦比的感觉。
除了个人成长之外,写作还为与软件工程相关的令人兴奋的机会打开了大门。 现在,我在网上的知名度很高。 通过写作,我扩大了自己的人际网络,并与该领域志同道合的人建立了联系。
不要重复造轮子在我与 Touseef 的合作项目中,他始终强调从预构建组件开始的重要性。 一个令人难忘的例子是在 2022 年 1 月的公司黑客马拉松期间,我们的任务是开发一款类似于 Calendly 的会议安排应用程序。 对于前端,Touseef建议我们在网上搜索现有的模板,根据我们的需求进行定制,然后专注于核心业务逻辑来解决首要问题。 由于道德考虑和我目前的就业状况,还有与此主题相关的其他实例,我无法透露。 但你明白了。
最初,作为一名软件工程师,我对这种方法持怀疑态度,因为从头开始构建东西通常提供了学习新技术和获得成就感的机会。 然而,随着时间的推移,我逐渐意识到,作为开发人员,我们经常将大量时间浪费在与核心业务目标无关的任务上。 因此,只要有可能,我现在都会优先考虑利用现有的解决方案或库来实现我正在开发的功能或项目,而不是从头开始。 这种方法不仅为开发人员和公司节省了时间,而且还使我们能够专注于对业务成功真正重要的方面。
5快速失败这是我在作为 Touseef 员工的最后几个月中逐渐了解到的东西。 2022 年 11 月至 2022 年 12 月,我们的团队启动了一个目标明确的项目:在我们的网站上创建并启动代码编辑器。 主要目标是快速将此功能带给我们的用户并评估他们的反应。 我们了解在投入更多时间和资源进行开发之前验证该概念的重要性。
由于交付代码编辑器的紧迫性,我们采用了“快速而肮脏”的方法。 重点是快速实施功能解决方案,而不是从一开始就力求完美,因为目的是测试市场反应并确定用户是否在代码编辑器中发现价值。 如果反馈是否定的或者用户没有表现出兴趣,团队准备接受该结果并继续采取其他举措。 这表明愿意通过及时识别和解决项目的潜在失败来快速失败。
然而,令我们高兴的是,代码编辑器受到了用户的好评。 他们发现它使用起来很有趣且令人愉快。 我们惊喜地发现我们的竞争对手也注意到了这一点,并开始为各自的平台开发自己的代码编辑器。 受到积极反响的鼓舞,我们决定进一步投资于代码编辑器的完善和改进。
6-读书作为软件工程师,我们最关心的是在我们的技术上变得优秀。 虽然我们经常依靠教程、在线课程、Google 和 ChatGPT 来提高我们的技能,但我们有时会忽视一个重要的方面——读书。
去年六月,图瑟夫向团队强调了读书的重要性。 事实上,我们开始举办读书会。 有时我们会阅读自助书籍。 读书的经历让我着迷的是它给我们的知识库带来的深刻扩展。 书籍在我们作为软件工程师的旅程中发挥着至关重要的作用,而不仅仅是获取技术知识。 接触不同的观点挑战了我们的假设并扩大了我们的视野。 它鼓励我们批判性思考,考虑不同的角度和问题的潜在解决方案。 此外,书籍为我们提供了从他人的成功和失败中学习的机会。
我清楚地记得阅读凯尔·辛普森 (Kyle Simpson) 的《你不懂 JS》系列对我作为 JavaScript 程序员的发展产生的影响。 该系列帮助我对这门语言有了更深入的了解,因此,我在短短 1.5 年内就成为了高级软件工程师。
7-理解业务逻辑作为软件工程师,我们很容易全神贯注于工作的技术方面,只专注于编码和解决问题。 然而,必须认识到任何软件开发项目的成功都与其所服务的业务息息相关。 了解我们的软件运行的业务领域是一项关键技能,它将杰出的开发人员与其他开发人员区分开来。
我的朋友詹姆斯·盖伦(James Gaylen)曾经分享过一个深刻的见解:
“开发人员应该能够走进企业。 要求一张桌子。 坐下。 并学习业务。 并像企业一样运作。 其中一项额外技能就是编码。”
任何初创公司或公司的主要目标都是创造收入并实现财务成功。 作为软件工程师,我们的职责是通过开发符合业务目标的软件解决方案来为这一目标做出贡献。 为了有效地做到这一点,我们必须理解业务本身的核心原则、挑战和动态。 我相信 Touseef 必须付出很多努力才能将这一核心原则灌输给我。
我希望您发现我从 Touseef 那里获得的知识和见解很有价值。 虽然我最近刚转到一家新公司,但我可以诚实地说,向 Touseef 学习的时间是一次难忘的旅程。 我渴望将在图瑟夫的指导下获得的经验教训和技能应用到我的新工作场所。
请允许我分享图塞夫的一句话来结束这篇文章,这是他在我们在一起的最初几天里与我分享的:
“在初创公司,你可以与同行建立长期的友谊。 你们是一个小团队,正在努力完成不可能的事情。 而在这个过程中,你们在一起度过的时光将成为你们一生中度过的最美好的时光之一。”