入职两个月,发现公司技术很封闭!

文摘   2024-09-05 11:31   广东  

通知:代码随想录算法训练营 46期在下周三(9月11日)开营,目前可以报名,提前拉群做等开营。

刚刚入职的录友,都会发现,稍稍大点的公司都是自己单独一套开发框架,和我们平时学的技术还不太一样,不通用。

反而小公司技术栈更通用一些,因为小公司为了节约成本,直接用开源的东西。

以下是知识星球里一位录友的提问,发现公司技术栈不通用,很苦恼。


卡哥您好,我是24届的毕业生,已经工作了两个月了,当初面试的时候面的是cpp岗位,但是现在部门使用的并不是cpp,而是自己开发的一套工具。

我本人比较倾向于写cpp或者qt,一来公司的工具并不通用,如果跳槽很受限制,二来对cpp也更感兴趣。

想问问卡哥工作中要怎么提升自己写项目能力?其次是在哪里可以找到质量比较高的cpp开源项目?

谢谢卡哥的回答🌹

Carl答:

公司使用内部工具或者内部系统很正常,即使你跳槽其他公司也都是这么做的,大公司更是完全封闭的开发环境。

如果内部系统很通用的话 对员工跳槽有帮助,对公司稳定没帮助。

所以你会发现大厂内部热衷于造轮子,就是有分明有很好用的开源框架,不用,都是自己造。

从公司角度,公司需要自己开发生态环境,才能将技术沉淀在公司内部,同时也防止代码工程被离职员工拿走。

从员工角度,当部门无事可做的时候,领导一般都是开始造轮子,保住这个部门就是让这个部门有事可做,要不然不就被裁了。员工也是拿着轮子年底才好晋升。

所以这是正常的。

你可以先定期设定小的项目目标,逐步构建大型项目。

例如先去复现经典项目:可以尝试复现一些经典的C++项目,比如数据库引擎、操作系统内核模块等。这样能锻炼你的底层技术实现能力。

公司内部应用:你可以试着在公司的业务或项目中找到可以引入C++或Qt的场景,做一些创新或性能优化工作。

比如,你可以提出用C++实现某些核心模块,提高性能,向团队展示C++的优势。(这个就比较有价值了)

除了功能实现,你可以关注一下公司代码的可维护性、可扩展性。

可以用你的写的工具 来做单元测试或者性能分析。这些是工业级项目非常重视的技能。

关于高质量的C++开源项目,我这里列几个:

  • Abseil:Google的C++库,提供了许多基础工具和实用函数,适合学习工业级C++代码。
  • Boost:广泛使用的C++库,它涵盖了从数据结构、算法到并发、IO操作的各个方面。
  • Redis:虽然Redis本身是用C写的,但其源码的架构设计和性能优化思路可以借鉴,并且有一些C++的客户端库可以学习。
  • Awesome C++:这是一个 GitHub 上的 curated list,汇集了许多高质量的C++项目和资源。

准备求职的录友们都在代码随想录知识星球 每日打卡,星球置顶一,硬核资料可以让大家少走很多弯路:

已经有3w录友加入了知识星球方向比努力更重要,一群人可以走的更远!


代码随想录
认准代码随想录,学习算法不迷路。 刷题网站:programmercarl.com
 最新文章