选择(对吗?)技术和环境


10

我们是两个处于新的Web产品开发边缘的开发人员。

我们都是精益启动方法的拥护者,并且希望练习持续部署。

难题来了,我们都来自C#/ Windows背景,我们需要在以下两者之间做出决定:

坚持使用.NET和Windows,我们将不会浪费时间学习新技术,而是会全力以赴地进行开发。

切换到Ruby on Rails和Linux,后者在快速升级和广泛的开源支持方面享有盛誉。不利的一面是,我们将需要在学习Ruby,Rails和Linux上付出很多努力。

你会怎么做?我们还应考虑哪些其他因素?


您打算什么时候准备好产品?

Answers:


11

那么,最精简的选择是使用.NET,因为您在学习其他平台上花费的精力(从业务角度来看)浪费了没有将产品带给客户的精力。


5

在初创企业中,发挥自己的优势。我建议您坚持使用.NET技术,看看是否可以使用Microsoft的BizSpark程序。这样一来,您将可以负担得起的价格购买所需软件的许可证,并且所涉及的风险降至最低。


我想指出的是,BizSpark将在3年后到期,这意味着您将在第4年为MS堆栈支付全价。根据所运行的软件和服务器数量,这可能远远超过了任何费用。在开始学习开源替代方案时要花费额外的时间。
约旦

2

您需要考虑以下因素:

1)在所选平台上的部署成本(有.NET / Windows的启动许可证,但最终需要您支付,再加上比较的托管/硬件成本)

2)升级所需的时间(在这种情况下,.NET为零)

3)您正在构建的内容以及该平台在短期内(原型,低用量等)和长期(该规模是否可扩展,是否确实打算扩展)的适用性,或者说, B2B,在这种情况下,交易量可能总是相对较低)

我的直觉是坚持自己所知道的,因为您可以进行很多事情而不必学习其他东西,但是您需要根据您的想法的具体情况权衡其他因素。


2

Stackoverflow在.Net中完成。因此,C#.Net或Windows技术没什么不好的。

我的第一个创业公司在C#.net中,因为a)所有创始人都对C#熟悉。b)Visual Studio过去并且现在仍然非常适合开发人员进行调试等。

由于业务和技术方面的原因,这家创业公司遭受了巨大的失败。

无论选择哪种技术,都需要考虑自己是否足够熟练/出色,可以在X年内使用该技术。

如您所见,我们上面的标准还不够严格。我们不知道我们需要花多长时间来建造它。我们只是刚好熟悉C#.Net而已。

我们都没有任何经验可以建造出接近我们想要建造的东西。

过了一会儿,服务器费用等使我们放弃C#并将整个事情重写为php。那是另一个故事,也是商业上的另一个错误。

关键是您将要使用的这项技术,不必太酷,前卫。您要构建一个Webapp。因此,选择一个机会最大的机会。什么给您最好的机会?

选择进行大部分编程工作的人员在构建类似复杂的应用程序之前具有实际经验的技术

请阅读以上10遍。

如果我要谈谈3-4年前的年轻自我,他会说:“但是我没有任何语言可以做的任何复杂的事情,我该如何选择?”

$ 50,000美元的答案是(是的,这是我从错误中学到的东西):

选择最适合您的学习发展的一种。

我们如何定义宽恕

例如,.Net依赖Windows服务器。Windows服务器比Linux服务器贵。这是事实。即使您拥有Bizspark的许可证,也最好确保在许可证到期后需要考虑赚钱。

不要以为您可以在3年内学习C#.net。这很难说。对我来说,它没有用。

我以前尝试过RoR。我曾经读过一些有关2位具有零编程经验的投资银行家的文章,并成功地使用了一些有关Techstars计划旅行的Webapp。

他们使用RoR。

我有编程经验。但是RoR只是不适合我。

我从亚马逊等处买书,尝试过。认真地竭尽全力。

最后,我选择了Cakephp。对我而言,拥有重新启动另一个Webapp的最佳机会就足够了。原谅我可以按照自己的步调学习。

就像您找到更好的女友一样,并不是因为他们更好,而是因为经过更多的经验,您是一个更好的人,也许,作为一名程序员,我也变得更好了

因此,这与更好的框架/语言无关。或者说Cakephp是我用过的最好的。最后,也许我已经成为一名足够优秀的程序员来构建我想到的Web应用程序。

这是最适合您的最接近发射的方法。

哦,这是免费赠品。

6个月后,当您使用Alpha或Beta测试版首次亮相时,您会收到客户的反馈,并且您想用一种新的语言重写整个内容,对吗?

回答:

决不。决不。决不。

JoelOnSoftware上有一篇有关重写软件与重构软件的文章。我懒得找它。

他建议相同。

从选择了错误技术的人那里获取它,然后将整个内容重写为php(无框架),然后将启动项转储为最后。并在此过程中花费了50,000美元。

这就像婚姻。选择一种技术,直到死亡,这都是您的创业和技术组成部分。

好的,我夸张了,但这只是因为太容易想到您的所有编程情况都可以用另一种语言/框架来解决。就像认为通过换一个人可以使婚姻更好。尽管要自己或您的编程实践进行更多的工作,这要好得多

祝好运。并继续学习。为了您的理智,请删除所有功能至绝对最低限度。在Google上查看最低可行产品(MVP)。

这比您选择的技术更重要。

因此,请花费足够的时间来计划/设计此MVP。

计划很重要。计划不是。在花了四个月的时间计划此MVP之后,您可能需要放弃计划,因为您需要对变化的环境或竞争做出反应。

没关系。4个月的计划并没有浪费。

您现在将比4个月之前拥有更多的领域知识。

因此,即使在此阶段草草重新制定计划,它也应比4个月前的初稿明显更好。

祝好运!


1

我将与这里的其他所有人背道而驰,并说您最好使用开源路线。

我已经在.NET中工作了大约8年,并且在大致相同的时间范围内,我几乎使用了每种众所周知的开源Web语言和框架。

如果您真的想采用精益方法,则可能会发现,从长远来看,易于集成,服务器和软件的成本以及生产率在财务上将更为谨慎,这取决于您投入的能力和时间水平这项业务可能会在短期内获得回报。

BizSpark是一条危险的道路。您最终将为该庞大的软件栈付出全价,而开源始终是廉价或免费的。

我在Rackspace的云服务器设置上设置了服务器。您可以以$ 11 /月+较小的带宽和存储成本获得带有CDN存储的全新闪亮Linux服务器。那是咖啡钱。

学习Linux和开放源代码环境可能需要一些时间来适应,但是精通它并不是一个多年的项目。有无数的论坛,演练,还有能够并且愿意帮助您变得更好的人。


1
如果专业地发展(即,这是为了提供您的个人收入),而软件许可的成本是一个重要因素,那么您确实会少付钱。即使是MSDN-Universal(获得VL,也无可厚非)也只占人员成本的一小部分。
理查德

@Richard:但是,如果您可以付钱,那为什么要付钱+软件许可证呢?我指的是服务器许可成本,而不是开发人员IDE成本,正如您提到的那样,这是相对便宜的。除非我只是看到它做错了事,否则一旦开始尝试扩展服务器硬件,就必须支付大量的服务器许可证和CAL。那是杀手。当然,当您运行调试本地主机时,它不会给您带来麻烦,但是再次,如果您真的想运行一家精益企业,那么如果您还有其他可行的选择,为什么还要多花1000美元呢?
乔丹,

0

如果您遇到的情况,我将使用最好的技术。在我公司中,客户遇到了Java的情况也与此类似,我们都是.net开发人员。

刚开始时一切都很好,但是后来一些小问题给了我们这些问题,并且在某个时间点上出现了SciFi。

以我的经验,学习新的编程语言和新技术很容易,但是要真正知道您需要很长时间。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.