Quali sono gli svantaggi di avviare un progetto opensource se non si è un programmatore esperto? [chiuso]


12

Ho molte idee per i prodotti da costruire. Il problema è che ho meno di un anno di esperienza professionale e ho paura di essere giudicato negativamente in futuro sulla base di ciò che produco ora. Non ho idea se il mio codice è buono.

Non ho familiarità con nessuno dei modelli di codifica. Tutto quello che so è costruire prodotti che funzionino. Voglio avere un profilo pubblico in github per i miei progetti futuri e cercherò di assicurarmi che sia ben commentato, ottimizzato e pulito.

Queste sono le cose che temo di essere scoperte pubblicamente:

  1. Il mio codice potrebbe non essere altamente ottimizzato.
  2. Utilizzo errato di determinate librerie o funzioni che per coincidenza portano a termine il lavoro.
  3. Non conoscere o seguire alcun modello di codifica.
  4. Molti bug / non considerare angolo, casi limite
  5. Fondamentale mancanza di comprensione e applicazione di alcuni concetti come sicurezza dei thread, problemi di concorrenza nella programmazione multi-thread, ecc.

Devo andare avanti e iniziare o continuare a continuare a costruire cose localmente e privatamente fino a quando non avrò più esperienza. Non voglio che gli errori fatti qui perseguitino le mie prospettive di carriera a lungo termine.


4
Capisco da dove vieni. Quando esponi i tuoi progetti al mondo, stai effettivamente esponendo una parte di te stesso. Considera questo, tuttavia, praticamente tutto il codice del pianeta contiene bug, a meno che non siano stati ingannati verificandolo formalmente. Hai molto più da guadagnare di quanto tu debba perdere. Se un potenziale datore di lavoro scopre che hai commesso un errore in uno dei tuoi progetti mentre eri relativamente inesperto, penseranno in grande, anche io e tutti gli altri qui. Lo scenario più probabile è che non avranno il tempo di guardare tutto ciò che hai mai scritto.
dan_waterworth,

1
Dal mio punto di vista, verificare formalmente un programma non significa "imbrogliare".

4
All I know is to build products that work.- È un'ottima cosa. È facile rimanere troppo presi dai motivi e dal design e finire per non consegnare mai ...
Izkata,

Dico fanculo a quello che dicono gli altri e non aver paura. Se vuoi fare qualcosa di positivo e pensi che te stesso o gli altri possano trarre beneficio dal tuo lavoro che semplicemente farlo. (Nike plug)
Snake

Risposte:


32

Dopo 30 anni di sviluppo di software professionale, creo ancora bug. Trovo ancora schemi che non conosco. Imparo ancora dai miei colleghi e incontro cose che non conosco tutti i giorni.

Gli sviluppatori più esperti ti giudicheranno sul modo in cui rispondi a problemi e critiche, sia che tu impari dai tuoi errori e migliori il tuo prodotto per soddisfare le esigenze degli utenti o della comunità, sia che tu ammetta ciò che non conosci e che cerchi di migliorare.

Una delle migliori abilità per uno sviluppatore è la volontà di porre domande stupide e di sembrare un po 'sciocco a volte per trovare buone risposte il più rapidamente possibile.

Tutti quelli che hanno esperienza e competenza sono stati una volta dove sei ora. Imparerai molto più velocemente se metterai il tuo lavoro là fuori e lavorerai con altre persone.

Non c'è motivo di aspettare. Rendi aperto il tuo progetto.

Meglio ancora, contribuisci ad altri progetti aperti e impara da loro.


+1. A proposito, mi chiedo perché il tuo secondo paragrafo mi faccia pensare al team di sviluppo di PHP.
Arseni Mourzenko,

+1 Comprendere e rispettare che tutti possono sbagliare è una delle qualità più importanti come membro del team.
jgauffin,

6

Penso che ti preoccupi troppo.

La comunità del sistema operativo è più preoccupata di quanto sia utile un'app particolare rispetto a quanto bene sia scritta. Se è scritto male, la community interverrà e aiuterà a correggere gli errori. La cosa più interessante è quanto l'applicazione risolva i problemi con cui le persone stanno lottando. Se l'applicazione / progetto fornisce una soluzione elegante a un problema fastidioso, la qualità del codice diventa un punto controverso.

Mettilo là fuori, guarda cosa succede. Non saprai quanto è buono / quanto è cattivo il tuo codice finché gli altri non lo guardano e iniziano a giocarci. TUTTO il codice ha dei bug. La cosa più interessante è la rapidità con cui l'autore lavora per risolvere quei bug.

Consideralo un esercizio di apprendimento. Non scoprirai cosa non sai fino a quando non ti tiri un po 'fuori il collo e raccogli alcune critiche. Spero che la maggior parte delle critiche possano diventare costruttive. Dato che lo stai chiedendo in primo luogo, quindi mi sento abbastanza a mio agio nel dire che avrai almeno un codice di qualità medio o migliore.


5

Troviamo persone con elevate conoscenze nel campo Open Source. È vero, e anche intimidatorio per i nuovi arrivati. Ma sono anche molto bravi nel fornire aiuto per buoni progetti, anche se lo sviluppatore principale non riflette i requisiti effettivi affinché il software raggiunga un'alta qualità.

Conosci già i tuoi limiti. Non è un brutto inizio. È un buon inizio.

Entra nella festa e trova il tuo posto lì.

In bocca al lupo!

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.