本篇文章5352字,读完约13分钟

编者按:在这篇文章中,作者将分享他在创业中遇到的一些挑战和解决方案,包括以下七个方面:1。项目管理问题;2.业务代码的问题;3.产品需求问题;4.组织和协调;5.技术选择;6.运行和维护中的问题;7.人们的问题。本文作者陈科,高级建筑师,被授权从微信公众账号转载,以讨论该结构(身份证:archtime)。

突然想到一句话,如果人生就像初看一样,找一个对象是一样的,那么在公司工作也是一样的。

当你加入一家初创公司时,你总是充满自豪和自信,但问题总是出现得如此突然,没有任何防范措施,而且初创公司甚至没有大公司的蜜月期,所以你会面临许多问题。

第一个问题是项目管理。

创业团队往往牺牲项目的科学管理部分,追求小而快的模式,如颠倒项目计划,随意改变需求,随意关闭开发和加班,甚至压缩测试周期。

当然,我们不是来抱怨这个问题的,而是来思考如何更好地解决它。我认为技术人员的资格之一是敢于说不。许多问题是由对权威的恐惧和过度投入造成的。

此外,我们还需要尊重科学,重视项目里程碑,杜绝人月神话这样的事情。

我认为,不管我们是加班还是按需求削减,我们都必须遵守一个原则,那就是我们不能损害顾客的利益。很多时候,我们盲目地追求粗糙和快速的工作方法,似乎我们已经做了很多事情。事实上,结果充满了漏洞,我们无法应对。最后,它伤害了顾客,是你不走运!

建议每个人都读读鲍勃叔叔的《程序员职业修养》,尤其是前几章。在这里介绍鲍勃叔叔。罗伯特·c·马丁,世界级的软件开发大师,设计模式和敏捷开发的先驱,敏捷联盟的首任主席,c++报告的前任编辑,被后来的程序员们誉为“鲍勃叔叔”。20世纪70年代初,他成为了一名专业的程序员,后来创建了object mentor Company并担任总裁。马丁也是一位多产的作家。到目前为止,他已经发表了数百篇文章、论文和博客。除了这本书,他还是《代码清洁》、《敏捷软件开发:原理、模式和实践》、《uml:java程序员指南》等的作者。他最近创建了cleancoders网站,为软件开发人员提供教育视频。

在创业公司做架构师 你需要解决哪些问题?

还有深化业务代码的问题。

由于初创企业的快速发展,他们往往忽视代码构建的科学性,甚至牺牲和忽视设计过程,完全要求碎片化。这个系统可以说是功能点的连续叠加,即使是有经验的超级消防队员最终也救不了他们。

这时,许多人会说,难道这不简单吗?赶快重构和分割模块。说实话,画几个方框和几个箭头来标记数据流,但是如何对具体的业务建模呢?

任何互联网业务平台都无法逃脱:会员、账户、订单、支付、营销、计费等主要模块。

然而,重构不是画几个框架,而是一个合理的设计而不脱离你的业务展示。例如,要做营销,你不能仅仅建立一个营销规则引擎并完成它,也不能制作彩票或优惠券。该系统是为了完成营销,但需要分析:

从上帝(系统整体)的角度来看,你的营销系统处于什么位置?从整体上了解营销的规则和程序。

应用一段时间内可能出现的当前和未来需求,是否可以在此模式下解决。

设计营销系统本身,并从营销系统的角度对其建模。

设计完营销系统的核心部分后,安排开发工程师进入营销系统的详细功能点开发,并访问外围系统。

另一个例子是会员制,其中一些有主账户和子账户的概念,这将影响订单系统是否需要反映主账户和子账户之间的关系,甚至影响营销,如何开展我买一送一的活动,如何反映账单等等。

因此,建模和重构不是那么简单,也不能通过画几个框架来解决问题。你必须深入业务并专注于业务,建模绝对不是技术人员的责任,而是每个人都需要达成一致甚至深入理解的操作、产品、市场、技术等等。

我推荐你阅读埃里克·埃文斯写的《领域驱动设计:如何处理软件核心复杂性》一书

然后是产品需求中遇到的问题。

你会发现,有时产品经理不能从产品的整体角度来看产品,而只能过滤和理解业务方面的需求,并将其交给开发人员。这样,你会遇到许多矛盾的业务逻辑,甚至影响用户体验。那么,这个时候你会做什么?你选择做一只鸵鸟,把头埋在沙子里吗?或者你选择帮助产品经理一起分析它?

很多时候,产品经理会抱怨他只是一个代言人,老板在找他,运营在找他,市场在找他。有这么多东西,系统地整理产品需求是不可能的。因此,需求总是零星地呈现给开发人员,并且上线后的结果充满了漏洞。最后,不仅仅是产品经理自己,还有开发和测试。客户会说,开发了什么样的垃圾技术?此外,如果老板不了解情况,他还会说,花这么多钱组建一个技术团队的结果是什么?

在创业公司做架构师 你需要解决哪些问题?

我认为,在初创公司的产品技术部工作最困难的是产品经理和架构师。架构师需要从产品的角度来看待它,抓住生命线,因为这是最后一个过程,如果没有系统地梳理,那么进入开发将会导致前面的悲剧。

产品经理也必须努力思考。虽然他们在早期会感到疲劳,但有很多事情,但与其遭受没完没了的虐待,不如累一次,这最终会导致团队、老板和客户之间失去信心。

另外,产品设计真的很难吗?除了整个商业模式与众不同之外,整个产品形式实际上是由大多数同类制造商设计的。例如,如何玩彩票,你可以对京东、天猫等产品的游戏性进行基准测试,然后根据自己的特点进行改进。实际上,我不是要你抄袭,而是要你理清思路,形成一个系统的结构。当你不知道怎么做的时候,你可以向别人学习,就像看书一样。如果你读得多,你自然会明白。我认为大多数重新运行的应用实际上是相似的。

在创业公司做架构师 你需要解决哪些问题?

然后是组织和协调的问题。

大公司的优势在于它做自己的工作。只要有合理的制度和流程,只要你按照标准操作,傻瓜就能完成任务(当然,这并不是说大公司的员工都是傻瓜。我说的是过程和规则的重要性。当然,虽然一个傻瓜能完成他的工作,但他不可能是一头大母牛。同样,无论在大公司还是小公司,大奶牛都可以是大奶牛。然而,创业公司的情况并非如此。流程和系统的缺乏会让你觉得一切都很混乱,一切都会有问题,但你必须逆向思考。如果一切都准备好了,你还需要什么?另外,你最初加入创业团队的意图是什么?如果生活就像第一眼,为什么我一开始就说?

在创业公司做架构师 你需要解决哪些问题?

实际上,混乱是为了反映你的价值,发挥你的经验和优势,整理过程,自动化,如果不合理就尽快提出改进。事实上,不仅仅是你的员工,也不仅仅是你自己。你还需要如何向上管理你的老板,如何管理跨部门的其他同事,等等。胸怀宽广。为什么麦迪不能像科比一样?

当然,我认为在协调和合作时,我们绝不能把成就感建立在别人的痛苦上。一个创业团队,你为什么和你合作,为什么想在这家公司工作?你是唯一最伟大的人。人们总是会犯错。你应该理解别人,严格要求自己,宽容别人。我认为华为的价值观之一非常好。如果你赢了,你会举杯庆祝,如果你输了,你会死而复生。当你赢的时候,不要抹黑你的队友,当你输的时候,你要责怪你的队友。永远要感谢你的同事、下属和合作伙伴。只有这样,你的事业才能长久。否则,即使你的事业成功了,你也会失去一群曾经帮助过你的人。你真的认为这是你想要的吗?

在创业公司做架构师 你需要解决哪些问题?

再论技术选择的制约因素。

许多创业项目会随意从互联网上下载其他人的代码和组件,然后编写各种代码,比如一个包含vo、do、dao、dto、ao、bo、pojo的网络项目……所以很多概念不会让开发变得愚蠢。

另一个例子是json输出,它是手工组装的。简而言之,市场上任何类似的技术都会一个接一个地出现在你的代码中。

当然,我不是在说你想在这里选择什么技术、框架和软件,但我想说的是,你越早做这种规范性和约束性的工作越好,否则,重建的成本将会非常高。例如,我们以前的操作都是由servlets手工输入的,我们甚至不能进行自动注入。后来,当新来的人进来时,他们说,“为什么你们公司这么垃圾?”为了解决这个问题,我和一个伙伴合作,迁移了1000多个servlets,并完成了测试,这个测试花了两个星期。此外,主要代码必须由其他人提交,然后在发布前必须增量合并一次。价格非常高。

在创业公司做架构师 你需要解决哪些问题?

架构仍然需要持续的控制和持续的优化,而不仅仅是等待重建点,否则你会累,团队会累,老板会不满意。他们会觉得它刚刚被重建。为什么你的系统又失败了?为什么停下来让商业需求停下来?

当然,这件事不能像技术驱动那么简单,它仍然需要你的老板和产品业务方的理解和支持。事实上,结构不是牙膏,可能没有挤压。技术和商业就像公司前进的两条腿,缺一条是不可能的。事实上,无论公司如何以商业为导向,技术仍然非常重要。例如,许多运营繁重的公司如果没有强大的运营支持系统来提高运营和生产效率,将会有巨大的劳动力成本。此外,他们都做手工点击设备的低价值工作,看不到操作效果。

在创业公司做架构师 你需要解决哪些问题?

事实上,建筑有时与权利有关。您不仅应该让架构师工作,还应该制定规范以使系统更好地工作,但是您没有给架构师明确的权利和责任。有些事情取决于头脑、业务、需求和老板。你可以随时拒绝你的建议,你的屁股决定了你的头。很多时候,这真的是一条铁律。

接下来是操作问题。

现在很多公司都在云上,比如阿里巴巴云和腾讯云。因此,许多学生觉得操作和维护简单,没有挑战性。但恰恰相反,这是墨菲定律的逆定律。你越认为没有问题,问题就会越多。因为人们可以帮助你维护硬件、机器、中间件和数据库。但是它不能帮助您维持您的业务,也不能帮助您优化性能瓶颈。

此外,还有许多第三方公司和服务公司,他们已经做了大量的服务和工具,如操作和维护支持监控和错误故障排除。如果您的业务发展迅速,运营和维护跟不上,您也可以提前使用这些服务来快速定位在线问题。当业务在后期发展壮大时,慢慢发展你的运营和维护团队总是一个大问题。但是我们不能因为这个问题而不情愿,而去帮助自助者!

在创业公司做架构师 你需要解决哪些问题?

与此同时,我们必须倡导人人都是操作者和维护者的理念。试想一下,当你写自己的代码时,你甚至不知道哪里出错了,是什么导致了在线问题。多么可怕的事情。

这并不是说,如果你去云,你的系统不会出错,你可以放心!许多中间件,甚至一些基本组件,都是自己开发的,因为它们适合您的业务,而且它们的运行和维护成本不低于维护机器的成本。

最后,让我们谈谈人。

事实上,上面提到的所有这些事情最终都可以归结为人的问题,无论是大公司还是小公司,人的问题都是最本质的问题。所有的繁华世界都是有益的,所有的繁华世界都是有益的!

首先,你必须解决内部沟通的问题,如何沟通以及如何平等地沟通,尤其是创业团队。人们为什么选择加入你,为什么选择离开你?这是一个非常科学和严重的问题。许多创业团队会犯类似的错误,把人当作工具,如果不能,就改变,如果不能,就继续招聘。

他们从未想过如何培训内部员工,如何最大限度地提高效率。上帝帮助自助,如果你救不了自己,还指望别人来救你?

第二,是招聘问题。许多公司缺少人和牛,但缺乏科学合理的分析。我为什么要招人?我在找什么样的人。我可以告诉负责人,许多公司根据员工的感受招聘员工,根据他们的感受盯着简历碰运气!

最近,我遇到了几家初创公司的首席执行官,他们都说自己缺人,需要建筑师,但他们自己也不知道招聘建筑师能解决哪些技术问题。还是商业问题?太可怕了。事实上,这不仅是对自己不负责任,也是对他人不负责任。人们进来不仅是为了在短期内解决你的问题,也是为了长期关注别人从你这里得到的东西。找到合适的人是双赢的局面,否则就是双重损失。

在创业公司做架构师 你需要解决哪些问题?

你真的必须清楚地思考你要找的人是否能完成某件事,或者你是否重视这个人似乎已经做了的事情。这本质上是不同的,因为它只是决定了你对招聘的态度。这是一个严肃的话题,不是你撞大运会的行为!

此外,大多数情况下,你招募的第一个技术负责人将决定你背后的人的素质,而蠢驴将决定负责人。牛人不想找一个白痴来掌管自己,就像蔡振华掌管中国足球一样,这是一个笑话。因此,当你和一头大母牛好好谈谈的时候,你会觉得这个人肯定会加入你,但是你在关键时刻站了起来。你应该反思一下为什么你的团队不能让大奶牛加入你。

在创业公司做架构师 你需要解决哪些问题?

也许大公司只招人来垄断人才市场,形成人才资源的行业壁垒,但创业团队不能这样做,否则,你迟早会失去声誉,找不到人。

接下来是人员培训的问题。一个人进来后,为什么人们在创业阶段选择加入你?你感激这个帮助你成长的员工吗?你愿意帮助别人吗?在公司里,每个人都会遇到周期性的瓶颈。在这个时候,你是用一只脚踢别人,还是愿意给别人一个感恩成长的机会?因为任何人,在一段时间内,都会被榨干。心存感激,不仅对别人,也对自己!

在创业公司做架构师 你需要解决哪些问题?

最后,这是一个成就感问题。如果每天的工作都是由上面分配的,而且每天都是机械加工指令,我想任何有想法的人都会在几个月内离开。当然,这取决于你的团队是否足够优秀。如果是建立精英团队的想法,这是不会发生的,但如果你的团队只是当地的精英,你必须考虑如何确保精英人才的成就感,而不是只是机械地向他们传递指令,否则…..

在创业公司做架构师 你需要解决哪些问题?

说了这么多,我想说的是,当你计划带着极大的自豪感加入一家创业公司时,你什么时候会打黑龙?然而,进入一家创业公司后,我发现了这样的问题。请耐心、仔细、细心地解决它们。不仅仅是抱怨。

创业并加入创业公司并不容易。请认真对待你的生活和家庭。不是每个人都适合在创业公司工作!

这篇文章由读者提交,并不代表36英寸的立场。如果转载,请注明出处

“读完这篇文章还不够吗?如果你也开始创业,希望你的项目被报道,请点击这里告诉我们!”

标题:在创业公司做架构师 你需要解决哪些问题?

地址:http://www.j4f2.com/ydbxw/5578.html