Auswahl der (richtigen?) Technologie und Umgebung

10

Wir sind zwei Entwickler, die kurz davor stehen, mit der Entwicklung neuer Webprodukte zu beginnen.

Wir sind beide Fans des Lean-Start-up-Ansatzes und möchten den kontinuierlichen Einsatz üben.

Hier kommt das Dilemma - wir kommen beide aus einem C # / Windows-Hintergrund und müssen uns entscheiden zwischen:

Halten Sie sich an .NET und Windows, wir werden keine Zeit mit dem Erlernen neuer Technologien verschwenden und all unsere Anstrengungen in die Entwicklung stecken.

Wechseln Sie zu Ruby on Rails und Linux, das einen guten Ruf für schnellen Hochlauf und umfassende Open Source-Unterstützung hat. Die negative Seite ist, dass wir uns viel Mühe geben müssen, um Ruby, Rails und Linux zu lernen ...

Was würden Sie tun? Welche anderen Überlegungen sollten wir treffen?

Tor
quelle
Wann planen Sie ein Produkt fertig zu haben?

Antworten:

11

Die schlankste Option ist die Verwendung von .NET, da der Aufwand für das Erlernen der anderen Plattform (aus geschäftlicher Sicht) darin besteht, das Produkt nicht zu Ihren Kunden zu bringen.


quelle
5

Spielen Sie in einem Startup Ihre Stärken aus. Ich würde vorschlagen, bei .NET-Technologien zu bleiben und zu prüfen, ob Sie in das BizSpark-Programm von Microsoft einsteigen können . Dadurch erhalten Sie kostengünstige Lizenzen für die von Ihnen benötigte Software mit minimalem Risiko.

Ryan Hayes
quelle
Ich möchte darauf hinweisen, dass BizSpark nach 3 Jahren abläuft, was bedeutet, dass Sie im 4. Jahr den vollen Preis für Ihren MS-Stack zahlen. Je nachdem, wie viel Software und wie viele Server Sie ausführen, können die Kosten bei weitem überwiegen zu Beginn zusätzliche Zyklen damit verbringen, die Open-Source-Alternative zu lernen.
Jordanien
2

Sie müssen die folgenden Faktoren berücksichtigen:

1) Die Kosten für die Bereitstellung auf der von Ihnen ausgewählten Plattform (es gibt Startlizenzen für .NET / Windows, die Sie jedoch eventuell bezahlen müssen, zuzüglich der vergleichenden Hosting- / Hardwarekosten).

2) Die Zeit, die zum Upskill benötigt wird (in diesem Fall Null für .NET)

3) Was Sie bauen und die Eignung der Plattform dafür kurzfristig (Prototyp, geringe Nutzung usw.) und langfristig (wird sie skaliert und beabsichtigen Sie tatsächlich, sie zu skalieren, oder ist es beispielsweise? B2B, in welchem ​​Fall das Volumen immer vergleichsweise gering sein kann)

Mein Instinkt ist es, bei dem zu bleiben, was Sie wissen, da Sie viel zu tun haben, ohne etwas anderes lernen zu müssen, aber Sie müssen die anderen Faktoren anhand der Besonderheiten Ihrer Idee abwägen.

Jon Hopkins
quelle
2

Der Stackoverflow erfolgt in .Net . Also nichts schlechtes an C # .Net oder Windows-Technologie.

Mein erstes Startup war in C # .net, weil a) alle Gründer mit C # vertraut sind. b) Visual Studio war und ist sehr entwicklerfreundlich für das Debuggen usw.

Das Startup war aus geschäftlichen UND technologischen Gründen ein massiver Misserfolg.

Für welche Technologie Sie sich auch entscheiden, Sie müssen überlegen, ob Sie geschickt / gut genug sind, um diese Technologie für den Start in X Jahren zu verwenden.

Wie Sie sehen können, waren die oben genannten Kriterien nicht streng genug. Wir hatten keine Ahnung, wie lange wir das Ding bauen müssen. Wir sind zufällig mit C # .Net vertraut, das ist alles.

Keiner von uns hat Erfahrung damit, etwas zu bauen, das dem nahe kommt, was wir bauen wollten.

Nach einer Weile führen die Servergebühren usw. dazu, dass wir C # fallen lassen und das Ganze in PHP umschreiben. Das ist eine andere Geschichte und ein weiterer geschäftlicher Fehler.

Der Punkt ist, dass diese Technologie, die Sie verwenden werden, NICHT cool und nervös sein muss. Sie möchten eine Webanwendung erstellen. Wählen Sie also eine, die Ihnen die besten Chancen bietet . Was gibt dir die beste Chance?

Wählen Sie die Technologie, mit der die Person (en), die den größten Teil der Programmierung durchführt, tatsächlich Erfahrung mit der Erstellung einer ähnlich komplexen Anwendung hat

Bitte lesen Sie die obigen 10 mal.

Wenn ich mich vor drei bis vier Jahren an mein jüngeres Ich wenden würde, würde er sagen: "Aber ich habe keine Erfahrung damit, etwas von der Komplexität zu tun, die ich in JEDER SPRACHE im Sinn habe. Wie wähle ich?"

Die Antwort von 50.000 US-Dollar lautet (ja, so viel habe ich damit verschwendet, aus meinen Fehlern zu lernen):

Wählen Sie eine, die Ihrer Lernentwicklung am meisten verzeiht.

Wie definieren wir Vergebung ?

Zum Beispiel ist .Net auf Windows Server angewiesen. Und Windows-Server sind teurer als Linux-Server. Das ist ein Fakt. Selbst wenn Sie über Bizsparks Lizenzen verfügen, sollten Sie besser berücksichtigen, dass Sie nach Ablauf Ihrer Lizenzen Geld einbringen müssen.

Gehen Sie NICHT davon aus, dass Sie C # .net in 3 Jahren lernen können. Es ist schwer zu sagen. Bei mir hat es einfach nicht funktioniert.

Ich habe RoR schon einmal ausprobiert. Ich habe einmal einen Artikel über 2 Investmentbanker mit ZERO-Programmiererfahrung gelesen, die mit einer Webapp über das Reisen im Techstars-Programm erfolgreich waren.

Sie verwenden RoR.

Ich habe Programmiererfahrung. Aber RoR hat bei mir einfach nicht funktioniert.

Ich habe Bücher von Amazon usw. gekauft. Ich habe es versucht. Ernsthaft mein Bestes gegeben.

Schließlich habe ich mich für Cakephp entschieden. Es ist gut genug für mich, die beste Chance zu haben, eine andere Webapp neu zu starten. Verzeihend genug, damit ich in meinem eigenen Tempo lernen kann.

Ebenso wie du bessere Freundinnen gefunden hast, nicht weil sie besser sind, sondern weil du nach mehr Erfahrung ein besserer Mensch bist, vielleicht war ich auch als Programmierer besser geworden

Es geht also nicht darum, was ein besserer Rahmen / eine bessere Sprache ist. Oder dass Cakephp das Beste ist, das ich je benutzt habe. Vielleicht bin ich endlich ein Programmierer geworden, der gut genug ist, um die Webapp zu erstellen, die ich mir vorgestellt hatte.

Es geht darum, was für Sie am besten funktioniert, um dem Start am nächsten zu kommen.

Oh, hier ist ein Werbegeschenk.

Nach 6 Monaten, wenn Sie mit einer Alpha-Version oder einer privaten Beta-Version debütieren und Kundenfeedback erhalten und Lust haben, das Ganze in einer neuen Sprache umzuschreiben, sollten Sie das tun?

Antworten:

NOCH NIE. NOCH NIE. NOCH NIE.

Es gibt einen JoelOnSoftware-Artikel über das Umschreiben von Software im Vergleich zum Refactoring von Software. Ich bin zu faul, um es zu finden.

Er schlägt dasselbe vor.

Nehmen Sie es von jemandem, der die falsche Technologie gewählt hat und schreiben Sie dann das Ganze in PHP (kein Framework) um und sichern Sie den Start am Ende. Und 50.000 Dollar dafür ausgegeben.

Es ist wie eine Ehe. Wählen Sie eine Technologie und erledigen Sie bis zum Tod Ihr Startup und den Technologieteil.

Okay, ich übertreibe, aber nur, weil es viel zu einfach ist zu glauben, dass alle Ihre Programmiersituationen durch eine andere Sprache / ein anderes Framework gelöst werden können. Genauso wie man denkt, man hätte eine bessere Ehe, wenn man eine andere Person wechselt. Es ist weitaus besser, mehr Arbeit an sich selbst oder Ihren Programmierpraktiken zu leisten .

Viel Glück. Und lerne weiter. Bitte reduzieren Sie die Funktionen aus Gründen Ihrer Gesundheit auf das absolute Minimum. Gehen Sie auf Google nach Minimum Viable Product (MVP).

Das ist wichtiger als die von Ihnen gewählte Technologie.

Verbringen Sie also ausreichend Zeit mit der Planung / Gestaltung dieses MVP.

Planung ist wichtig. Pläne gibt es nicht. Möglicherweise müssen Sie Ihre Pläne fallen lassen, nachdem Sie 4 Monate mit der Planung dieses MVP verbracht haben, da Sie auf sich ändernde Umstände oder den Wettbewerb reagieren müssen.

Es ist okay. Die 4-Monats-Planung ging nicht verloren.

Sie hätten jetzt mehr Domain-Kenntnisse als vor den 4 Monaten.

Selbst wenn es sich zu diesem Zeitpunkt um einen hastig neu gezeichneten Plan handelt, sollte er deutlich besser sein als Ihr erster Entwurf vor 4 Monaten.

Viel Glück!

Kim Stacks
quelle
1

Ich werde hier gegen den Strich aller anderen gehen und sagen, dass es besser wäre, wenn Sie den Open-Source-Weg gehen.

Ich arbeite seit ungefähr 8 Jahren in .NET und habe so ziemlich jede allgemein bekannte Open Source-Websprache und jedes Framework über den gleichen Zeitraum hinweg verwendet.

Wenn Sie sich wirklich für den Lean-Ansatz entscheiden möchten, werden Sie wahrscheinlich feststellen, dass die einfache Integration, die Kosten für Server und Software sowie die Produktivität auf lange Sicht finanziell vorsichtiger sind und von Ihrer Fähigkeit und Zeit abhängen Dieses Geschäft kann sich kurzfristig auszahlen.

BizSpark ist eine gefährliche Straße. Sie werden schließlich den vollen Preis für diesen umfangreichen Software-Stack zahlen, während Open Source immer billig oder kostenlos ist.

Ich habe Server im Cloud-Server-Setup von Rackspace eingerichtet. Sie können Ihren eigenen glänzenden neuen Linux-Server mit CDN-Speicher für 11 USD / Monat + geringe Bandbreite und Speicherkosten erwerben. Das ist Kaffeegeld.

Das Erlernen von Linux und der Open Source-Umgebung kann etwas gewöhnungsbedürftig sein, aber es ist kein mehrjähriges Projekt, um kompetent zu werden. Es gibt unzählige Foren, Komplettlösungen und Leute, die Ihnen helfen können und wollen, besser zu werden.

Jordan
quelle
1
Wenn Sie sich professionell weiterentwickeln (dh dies dient zur Bereitstellung Ihres persönlichen Einkommens), wenn die Kosten für die Softwarelizenzen ein wesentlicher Faktor sind, zahlen Sie sich selbst wirklich zu wenig. Sogar MSDN-Universal (erhalten Sie die VL, es macht keinen Sinn, albern zu sein) ist ein Bruchteil der Kosten der Menschen.
Richard
@Richard: aber warum Leute + Softwarelizenzen bezahlen, wenn man nur Leute bezahlen kann? Und ich beziehe mich wirklich auf Serverlizenzkosten, nicht auf Entwickler-IDE-Geld, das, wie Sie erwähnt haben, relativ billig ist. Wenn Sie nicht gerade gesehen haben, dass es falsch gemacht wurde, müssen Sie, sobald Sie versuchen, Ihre Serverhardware zu skalieren, für einige Serverlizenzen und CALs bezahlen. Das ist der Mörder. Sicher, es wird Sie nicht beißen, wenn Sie Debug-Localhosts ausführen, aber wenn Sie wirklich versuchen, ein schlankes Geschäft zu führen, warum sollten Sie sogar zusätzliche 1000 US-Dollar zahlen, wenn Sie andere praktikable Optionen haben?
Jordanien
0

Wenn ich in Ihrer Situation wäre, würde ich Technologie verwenden, in der ich am besten bin. Wir hatten eine ähnliche Situation in meinem Unternehmen, in der der Kunde Java angefordert hat und wir alle .net-Entwickler waren.

Am Anfang war alles in Ordnung, aber später gaben uns einige kleine Dinge solche Probleme und zu einem bestimmten Zeitpunkt waren Frames SciFi.

Nach meiner Erfahrung ist es einfach, neue Programmiersprachen und neue Technologien zu lernen, aber um wirklich zu wissen, dass Sie lange brauchen.

Vladica Ognjanovic
quelle
-2

Mach es einfach in c # und dot net .

  • Du bist schon gut darin
  • Es ist besser als Rubin auf Schienen
NimChimpsky
quelle
2
Welche Daten verwenden Sie, um Ihre Behauptung zu untermauern, dass C # besser ist? Und was sind Ihre Kriterien?
Walter
1
viele sehr wichtige und statistisch signifikante Daten
NimChimpsky