曾经有不少人对我问过类似的问题:作为技术人员在创业团队(或是小公司)工作,技术上没什么挑战,觉得自己得不到锻炼,我该怎么办?
的确,就说互联网这个领域吧,创业团队或是小公司的网站规模往往并不大,或者至少要从小做起,用户访问量和那些大型网站在当下自然没法比,从这个角度上看,很多中小网站的确暂时面临不到这些高并发、大流量、高可用的这些"严峻挑战",另外,团队的职能岗位甚至也没有大型公司那么齐全,人家连做配置管理的团队规模甚至都比你整个公司人多,似乎在小团队作技术的出门都低人家一头,见面不好意思打招呼,真的有必要妄自菲薄么?
首先要说明的是,在大一点的公司里面,最不缺的就是解决复杂技术上的资源,但是有意思的是,遇到技术"挑战"的其实是极少数的一部分工程师,大多数工程师做的都是相对可以规范起来的事情。或许有人不信,但是你要知道在团队有了一定规模以后,很多技术人就会形成路径依赖,一遇到稍微复杂一点的问题就去请教那些比较资深的同事,往往放弃了自己动手解决问题的机会,有些情况甚至他们也不敢承担风险,那么,你认为这种情况对他们会有多少挑战?
我们前面说到了复杂技术,以前关于网站架构设计、大规模集群、海量数据处理等主题,多少都还有一些神秘感,但是最近几年来,相关技术文章带来的信息越来越全面,越来越开放,不夸张的说,构建一般的大型网站的技术,你可以通过公开技术信息获得所有的细节内容。当然,有了这些,就好比你已经有了一份蓝图,具体的施工还是要自己控制。不要误会,我不是说创业团队的技术人不会遇到技术难题,如果真的遇到目前能力无法逾越的技术障碍怎么办?我的回答是:求助于社区,利用群体智慧。和那些封闭的大公司的技术团队所拥有的资源相比,这是更为辽阔的空间。注意,解决了问题不是最后一步,要把解决问题的能力逐渐培养起来。有若金庸小说中的北冥神功,要善于化为己用。
有些人把挑战等同于自己想做的事情,有些人把挑战看做一种憧憬,想象那些没有做过的事情,在我看来,真正的挑战恰恰是你不愿意做、不愿意改变、当前做不好的一些事情。
在创业团队你可以做的一些更有挑战的事情:
重构自己的代码 如果是开发人员,随时要记得的事情是如何改善自己的代码质量。要让自己成为更好的技术人,重构或许是是随手可作的并且切实可以提高自己能力的一件事情。有好的代码为基础,才有可能随时面对更大的系统压力。要记住小网站有可能发展为大网站,技术人需要的是提前做好准备,为你的代码,为你自己,为你的团队。
自动化日常工作 有人说,萝卜快了不洗泥,团队什么事情都要我做,我怎么有时间去搞什么重构?那么,是否可以将一些日常需要重复做的事情尽可能的自动化,比如日常发布是否可以自动化?测试工作是否可以自动化?安全检查是否可以自动化?有了这些为前提,你肯定有足够的时间去做你想要做的事情。
良好的开发习惯 在一个团队中,如果养成良好的开发习惯会让你节省时间和精力。比如对版本工具的掌握程度,如果连 SVN 都缺少使用意识的话,很难想象团队协作开发的时候会搞成什么样的局面。也不要抱怨团队的同事没有好习惯,他们或许正需要你的帮助呢...用你的行动,去带动他们。顺便问一下,你平时为代码写注释么?
改进自己的产品 复杂未必是最大的竞争力,细致和精致有的时候是更好的竞争力。很多技术人员做到最后发现自己做了很多对用户并不重要的功能和产品,而最重要的产品反而疏于改进。这未必都是别人的错,如果自己能够对产品和业务有足够的了理解的话,你或许会驱动团队少走弯路,做更正确的事情。
提高资源使用率 别人用数台机器支撑的访问量,换了你,能否用更少的硬件支撑?这些方案是可扩展的么?是可验证的么?遗憾的是,我看到多数小团队硬件利用率甚至比一些大团队更低。如果听任低效的代码、冗杂的产品功能不去改变,那么可能的确要面临资源利用率相对较低的窘境。
规划资源的能力 团队小的时候,整个产品架构、整个网站架构的信息收集并不难,让你建立起一个全局的观念相对更为容易一些。注意分析整体架构的演变,根据自己的理解,一步一步预期将来可能出现的问题。这是非常难得的锻炼自己的机会。顺便问一下,你给自己的网站画过架构示意图么?
保持学习的热情 我在前面说到了网络上的技术资源的丰富性,你是否能够持之以恒的去学习、吸收这些技术经验,是否养成了评估某项技术成熟度的能力? 什么,学了用不上?问题是再大的公司在技术上也是要有取舍的,更多的时候都是在用更为合适的技术而不是看起来更"先进"的技术。
这个清单肯定可以列得更长,至少还应该包括沟通技巧的改进、传授技能给他人、塑造技术影响力... 看似都是一些平淡无奇的事情,其实在大的团队大的公司,我觉得有挑战的也都是类似的事情,我也不确定哪一个对你来说更难做到。不过真的能把这些都做好的话,或许蓦然回首,那些所谓的挑战对你来说已经是浮云。
说到底,不能靠环境改变自己,如果你自己要改变自己对你收益是最大的(当然挑战也大),而要环境改变你会让你更为痛苦。只要你愿意。而且,在规模较小的团队中,你的改进会直接体现到团队的整体上,不要忘了,你是这个团队的一份子。团队越小,你的影响力就会越大,等到团队壮大起来,不就是你有更大职能的时候么?从经济学的角度上看,团队虽小,但是人均产出未必不如那些大团队的成员。正好比做手表的做到巅峰,不比造飞机的少赚多少。总有一天,很多技术人会以在小团队工作为荣。
挑战不在河对岸,就在你面前。
转:http://www.dbanotes.net/
分享到:
相关推荐
一个高效的创业团队不仅能带来创新思维,还能共同面对挑战,推动项目的成功。"创业团队组建工具"这个压缩包文件可能包含了一系列有助于创业者构建理想团队的资料和指南。下面我们将深入探讨一些关于创业团队组建的...
- 具备技术创新和产品视野,能够在技术领域中发现和创造价值。 - 认识到创业的时机,比如在行业萌芽阶段或者调整期进入市场。 - 拥有良好的团队组建能力,包括找到合适的合伙人和团队成员。 - 拥有或者能够获得必要...
7. **风险评估与应对策略**:在IT创业中,技术风险、市场竞争风险、法规变动等都是常见挑战。飞扬团队应提出如何识别并应对这些风险的计划,展现他们的危机处理能力。 8. **融资策略**:飞扬团队可能探讨了天使投资...
2. **技术力强、运营力差**:尽管开心网在技术研发方面表现突出,但由于缺乏有效的运营策略,无法将技术优势转化为市场竞争优势。 3. **产品力强、服务力差**:开心网能够推出高质量的产品,但在客户服务方面做得...
创业,对于硬件工程师来说,意味着从技术研发转向市场运营、团队管理等多方面的挑战,需要更全面的视角和更强的决策能力。 朱保为的故事提醒我们,无论在哪个行业,目标明确、坚持不懈和勇于尝试是成功的关键。作为...
文章《给中年工程师的忠告》聚焦于技术行业中的中年工程师群体,探讨了他们所面临的职场挑战、心理状态以及生活方式。从中我们可以提炼出以下几个主要知识点: 1. 中年工程师的职场定位与挑战 文章中提到的中年...
值得注意的是,团队中有3位成员来自中国的清华大学,他们在本科阶段就在清华学习,并且现在都在ChatGPT团队担任研发工程师的角色。 团队成员的工作经历也相当丰富,多数人曾在谷歌、Facebook、Stripe、Uber、Quora...
3. 技术与非技术角色:在技术团队中,技术实力是必不可少的,但良好的人际关系和人品同样重要。同时,技术领导力对于项目的成功至关重要。不具备技术基础的管理者往往难以有效引领团队。 4. 持续学习:技术更新迅速...
总结来说,“美国著名创业者和编程工程师的日记合订本.zip”是一部难得的综合性读物,它不仅展示了技术的力量,更强调了创新思维和人文精神在科技发展中的重要性。对于任何希望在IT领域有所建树的人来说,这是一本...
- 成功的工程师不仅需要掌握扎实的技术基础,还需要具备良好的沟通能力和团队协作精神。此外,领导力和项目管理能力也是不可或缺的一部分。 - 产品经理则需要具备广泛的技能集,包括但不限于组织能力、谈判技巧、...
1. 技术团队:招聘具备丰富经验的技术人员,包括硬件工程师、软件开发员、网络管理员等,确保服务质量。 2. 销售与客服团队:负责市场推广、客户关系维护,提高客户满意度和忠诚度。 四、营销策略 1. 在线营销:...
成为综合素质的高手,不仅有助于职业晋升,还能增加在团队中的影响力。 第三,建立广泛的人脉网络。与不同行业、不同背景的人交往,可以扩大视野,了解不同领域的知识和经验,这对于未来可能的转型或创业至关重要。...
软件开发是一个持续学习和进步的过程,只有付出足够的努力,才能在技术和职业道路上有所收获。正如“一分耕耘,一分收获”,每个成功的背后都是辛勤的努力和时间的积累。 其次,明确个人的发展方向至关重要。无论是...
### 软件工程师的职业发展路径 #### 第1章 软件工程师的职业发展概述 - **软件工程师的定义和角色** ...此外,随着科技的快速发展,软件工程师还需要关注行业趋势和前沿技术,以便更好地应对未来的挑战和机遇。
在创业公司中,程序员作为核心技术力量,其绩效管理尤为重要。然而,传统的KPI制度往往过于僵化,难以适应快速变化的市场需求和员工个性化的需求。面对这一挑战,我们需要探索一种既能激发员工积极性,又能确保团队...
通过以上各方面的详尽分析和规划,"创业计划书-人工智能类-机器人项目商业计划书-(1)"旨在为创业者提供一个全面的行动蓝图,帮助他们在充满挑战与机遇的人工智能机器人市场中找到成功的路径。这份计划书不仅是一个...
6. **团队组建**:创业团队应包含产品经理、UI/UX设计师、前端开发、后端开发、测试工程师、市场营销等多个角色。每个成员应具备相应领域的专业技能,且团队协作能力强。 7. **财务预算**:预算应涵盖开发成本、...
技术管理可以帮助工程师更好地领导团队,而销售则能让工程师更加贴近市场需求,这些都是非常宝贵的经验。 #### 忠告七:克服心理弱点 - **要点概述**:指出工程师需要克服自身的一些心理障碍和性格缺陷。 - **详细...
在软件开发团队中,技术是基础,但同时要关注个人的职业规划,如成为技术专家、转向管理岗位或是创业。明确目标后,制定切实可行的计划,比如通过参与不同项目来积累经验,或者选择特定领域深入研究。 此外,团队...