Selezione della tecnologia (giusta?) E dell'ambiente


10

Siamo due sviluppatori che stanno per iniziare lo sviluppo di nuovi prodotti Web.

Siamo entrambi fan dell'approccio "lean start-up" e vorremmo esercitarci in un impiego continuo.

Ecco che arriva il dilemma: entrambi provengono da uno sfondo C # / Windows e dobbiamo decidere tra:

Attenersi a .NET e Windows, non perderemo tempo a imparare nuove tecnologie e faremo tutto il possibile per lo sviluppo.

Passa a Ruby su Rails e Linux, che ha una buona reputazione di accelerazione rapida e ampio supporto open source. Il lato negativo è che dovremo impegnarci molto per imparare Ruby, Rails e Linux ...

Cosa faresti? Quali altre considerazioni dovremmo prendere?


Quando hai intenzione di avere un prodotto pronto?

Risposte:


11

Bene, l'opzione più semplice è usare .NET, poiché lo sforzo che spendi nell'apprendimento dell'altra piattaforma è (dal punto di vista aziendale) uno sforzo sprecato nel non portare il prodotto ai tuoi clienti.


5

In una startup, gioca ai tuoi punti di forza. Vorrei suggerire di attenersi alle tecnologie .NET e vedere se è possibile accedere al programma BizSpark di Microsoft . In questo modo otterrai licenze convenienti per il software di cui hai bisogno, con un rischio minimo.


Vorrei sottolineare che BizSpark scade dopo 3 anni, il che significa che pagherai il prezzo intero per il tuo stack MS l'anno 4. A seconda della quantità di software e di quanti server stai eseguendo, che può superare di gran lunga qualsiasi costo da spendendo cicli extra all'inizio imparando l'alternativa open source.
Giordania,

2

È necessario considerare i seguenti fattori:

1) Il costo della distribuzione sulla piattaforma prescelta (esistono licenze di avvio per .NET / Windows ma alla fine dovrai pagare, oltre ai costi comparativi di hosting / hardware)

2) Il tempo necessario per upskill (zero per .NET in questo caso)

3) Ciò che stai costruendo e l'idoneità della piattaforma per quello a breve termine (prototipo, uso a basso volume ecc.) Ea lungo termine (si ridimensionerà e in effetti intendi ridimensionarlo o, diciamo, B2B nel qual caso i volumi possono essere sempre relativamente bassi)

Il mio istinto è fedele a ciò che sai poiché avrai molte cose da fare senza dover imparare qualcos'altro, ma devi valutare gli altri fattori in base ai dettagli della tua idea.


2

Stackoverflow viene eseguito in .Net . Quindi niente di male sulla tecnologia C # .Net o Windows.

Il mio primo avvio è stato in C # .net perché a) tutti i fondatori hanno familiarità con C #. b) Visual Studio era ed è ancora molto adatto agli sviluppatori per il debug, ecc.

L'avvio è stato un enorme fallimento per motivi di business e tecnologia.

Qualunque tecnologia scegliate, è necessario considerare se si è abbastanza abili / abbastanza bravi da usare quella tecnologia per lanciarsi in X anni.

Come puoi vedere, i criteri di cui sopra non erano abbastanza rigidi. Non avevamo idea di quanto tempo ci sarebbe voluto per costruire la cosa. Abbiamo solo familiarità con C # .Net che è tutto.

Nessuno di noi ha esperienza nella costruzione di qualcosa di simile a ciò che volevamo costruire.

Dopo un po ', i costi del server, ecc. Ci fanno abbandonare C # e riscrivere il tutto in php. Questa è un'altra storia e un altro errore dal punto di vista commerciale.

Il punto è questa tecnologia che stai per usare, NON deve essere bella, spigolosa. Vuoi creare una webapp. Quindi scegline uno che ti dia la migliore possibilità . Cosa ti dà le migliori possibilità?

Scegli la tecnologia che le persone che eseguono la maggior parte della programmazione hanno ATTUALE esperienza nella costruzione di un'applicazione altrettanto complessa PRIMA

Si prega di leggere le 10 precedenti.

Se dovessi rivolgermi al mio io più giovane di 3-4 anni fa, e lui direbbe: "Ma non ho esperienza facendo nulla della complessità che ho in mente IN QUALSIASI LINGUA. Quindi, come faccio a scegliere?"

La risposta di $ 50.000 dollari è (sì, questo è quanto ho sprecato a imparare dai miei errori):

Scegli quello che è più tollerante per il tuo sviluppo dell'apprendimento.

Come definiamo il perdono ?

Ad esempio .Net si affida al server Windows. E i server Windows sono più costosi dei server Linux. Questo è un dato di fatto. Anche se disponi delle licenze di Bizspark, assicurati di dover considerare la possibilità di portare denaro una volta scadute le licenze.

NON dare per scontato che sarai in grado di imparare C # .net in 3 anni. È difficile da dire. Per me, semplicemente non ha funzionato.

Ho provato RoR prima. Una volta ho letto un articolo su 2 investment banker con esperienza di programmazione ZERO riuscito con alcune webapp sui viaggi nel programma Techstars.

Usano RoR.

Ho esperienza di programmazione. Ma RoR non ha funzionato per me.

Ho comprato libri da Amazon, ecc. Ci ho provato. Seriamente, ho dato il massimo.

Alla fine ho optato per Cakephp. È abbastanza buono per me avere le migliori possibilità di riavviare un'altra webapp. Perdonami abbastanza per imparare al mio ritmo.

Inoltre, proprio come hai trovato ragazze migliori non perché sono migliori, ma perché sei una persona migliore dopo più esperienza, forse sono anche migliorato come programmatore

Quindi non si tratta di qual è un framework / linguaggio migliore. O che Cakephp è il migliore che abbia mai usato. Forse sono finalmente diventato un programmatore abbastanza bravo da creare la webapp che avevo in mente.

Si tratta di ciò che funziona meglio per te per avvicinarti al lancio.

Oh ecco un omaggio.

Dopo 6 mesi, quando fai il debutto con una beta alfa o privata e ricevi il feedback dei clienti e hai voglia di riscrivere il tutto in una nuova lingua, dovresti?

Risposta:

MAI. MAI. MAI.

C'è un articolo di JoelOnSoftware sulla riscrittura del software rispetto al software di refactoring. Sono troppo pigro per trovarlo.

Suggerisce lo stesso.

Prendilo da qualcuno che ha scelto la tecnologia sbagliata e poi ha riscritto il tutto in php (senza framework) e poi ha scaricato l'avvio alla fine. E abbiamo speso $ 50.000 nel processo.

È come il matrimonio. Scegli una tecnologia e fino alla morte fai la tua startup e la parte tecnologica.

Ok, esagero, ma solo perché è fin troppo facile pensare che tutte le tue situazioni di programmazione possano essere risolte da un altro linguaggio / framework. Proprio come pensare che avresti un matrimonio migliore cambiando un'altra persona. È molto meglio però lavorare di più su te stesso o sulle tue pratiche di programmazione .

In bocca al lupo. E continua ad imparare. Per favore, per la tua sanità mentale, togli le funzionalità al minimo indispensabile. Vai su Google per il prodotto minimo redditizio (MVP).

Questo è più importante della tecnologia che scegli.

Quindi dedica del tempo adeguato alla pianificazione / progettazione di questo MVP.

La pianificazione è importante. I piani non lo sono. Potrebbe essere necessario abbandonare i tuoi piani dopo aver trascorso 4 mesi a pianificare questo MVP perché devi reagire alle circostanze mutevoli o alla concorrenza.

Va bene. La pianificazione di 4 mesi non è andata sprecata.

Ora avresti più conoscenza del dominio rispetto a prima dei 4 mesi.

Quindi, anche se in questa fase è un piano ridisegnato in fretta, dovrebbe essere nettamente migliore della tua prima bozza 4 mesi fa.

In bocca al lupo!


1

Ho intenzione di andare contro il grano di tutti gli altri qui e dire che saresti meglio servito per seguire la strada open source.

Lavoro in .NET da circa 8 anni e ho usato praticamente tutti i linguaggi e le strutture web open source comunemente conosciute e in genere nello stesso arco di tempo.

Se vuoi davvero seguire un approccio snello, probabilmente scoprirai che la facilità di integrazione, il costo dei server e del software e la produttività nel lungo periodo saranno più prudenti dal punto di vista finanziario e in base al tuo livello di capacità e al tempo da dedicare questa attività potrebbe ripagare a breve termine.

BizSpark è una strada pericolosa da percorrere. Alla fine pagherai il prezzo intero per quel pesante stack di software, mentre l'open source è sempre economico o gratuito.

Ho dei server configurati sulla configurazione del server cloud di Rackspace. Puoi ottenere il tuo nuovo brillante server Linux con memoria CDN per $ 11 / al mese + larghezza di banda e costi di archiviazione minori. Sono soldi del caffè.

Imparare Linux e l'ambiente open source può richiedere un po 'di tempo per abituarsi, ma non è un progetto pluriennale per diventare esperto. Esistono innumerevoli forum, procedure dettagliate e persone in grado e disponibili ad aiutarti a migliorare.


1
Se lo sviluppo professionale (vale a dire questo è per fornire il tuo reddito personale) se il costo delle licenze software è un fattore significativo che stai davvero pagando te stesso. Anche MSDN-Universal (ottieni il VL, non ha senso essere sciocco) è una frazione del costo delle persone.
Richard,

@Richard: ma perché pagare le persone + licenze software se si può semplicemente pagare le persone? E mi riferisco davvero ai costi di licenza del server, non al denaro IDE dello sviluppatore, che come hai detto è relativamente economico. A meno che non abbia appena visto che ha fatto qualcosa di sbagliato, una volta che inizi a provare a ridimensionare l'hardware del tuo server, devi pagare un bel po 'di licenze e CAL per server. Questo è il killer. Certo, non ti morderà quando esegui il debug di host locali, ma di nuovo, se stai davvero cercando di gestire un'attività snella, perché pagare anche $ 1000 in più se hai altre opzioni praticabili?
Giordania,

0

Se mi trovassi nella tua situazione, utilizzerei la tecnologia più adatta a me. Abbiamo avuto una situazione simile nella mia azienda in cui il client ha richiesto Java ed eravamo tutti sviluppatori .net.

All'inizio tutto andava bene, ma in seguito alcune piccole cose ci hanno dato tali problemi e ad un certo punto i tempi erano SciFi.

Nella mia esperienza è facile imparare nuovi linguaggi di programmazione e nuove tecnologie, ma sapere davvero che hai bisogno di molto tempo.


-2

Fallo in c # e dot net .

  • Sei già bravo
  • è meglio del rubino sulle rotaie

2
quali dati stai usando per supportare la tua affermazione che C # è migliore? E quali sono i tuoi criteri?
Walter,

1
molti dati molto importanti e statisticamente significativi
NimChimpsky,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.