Alberto Vena
- Co-fondatore di Nebulab
- Web Developer
Studio
- Liceo della Comunicazione di Chieti, indirizzo informatico
- Laurea Triennale in Tecnologie Informatiche a La Sapienza - Università degli Studi di Roma
Lavoro
- Pochi mesi in un agenzia a Roma
- Freelance, dove ho conosciuto lavorativamente i miei attuali soci
- Ho fondato Nebulab
Cos'è Nebulab?
Nebulab è una società di sviluppo web. Realizziamo software con cui si può interagire tramite il browser, ad esempio:
- CMS
- eCommerce
- Social Network
- Gestionali per aziende.
Mission
Creare un ambiente giovane e innovativo che permetta crescita professionale, libertà di espressione e divertimento.
Storia
Nasce nel 2011 da 3 persone (2 dev + 1 designer) che volevano creare un nuovo modo di approcciarsi al web development non trovando riscontri nel panorama aziendale italiano.
Cosa non andava?
- soluzione rapida, non la migliore
- toppe su toppe
- voglio fare facebook, cit
- niente crescita personale/professionale
Stress
Soluzione?
Progetto → Consulenza
Progetto
Tempi e costi fissi
Cliente: quanto mi costa?
Nebulab: mhhhh...
Progetto
Tempi e costi fissi
Stima del progetto
Progetto
Tempi e costi fissi
La stima è sempre sbagliata
Progetto
Un ingegnere software da IKEA
Progetto
Tempi e costi fissi
Meno ci lavoro e più guadagno
Progetto
Tempi e costi fissi
Serve spesso una fase di contrattazione, serve un PM (Project Manager) o addetto alle vendite.
Le funzionalità necessarie passano da troppe persone, si perde sempre qualcosa.
Progetto
Tempi e costi fissi
Cliente ha speso molto per avere un prodotto mediocre
Progetto
Tempi e costi fissi: risultato finale per il cliente
Progetto
Tempi e costi fissi: risultato finale per il programmatore
Consulenza
Pagamento per le ore effettive di lavoro
Cliente: quanto mi costa?
Nebulab: mhhhh...
Consulenza
- Stimare è difficile e fa perdere tempo
- Niente stipulazione di contratti/preventivi/firme
- Fiducia (onestà e competenza)
- Cliente spende il giusto
- Niente PM per parlare col cliente: contatto diretto tra chi esegue e chi prende le decisioni
Altro problema
Geografia
Le società migliori si trovano in città grandi (Roma o Milano se si vuole restare in Italia).
Costo della vita alto
Stipendio non in proporzione
Famiglia
Qualità della vita
Stress
Soluzione?
🏢 Ufficio Remoto 🏡
Lavorare da remoto
Lavorare da casa? Non solo
Creare una modalità di lavoro per cui vedersi faccia a faccia non sia indispensabile.
Chat
- Crea un ambiente condiviso
- Facile comunicare
- Rimane traccia di tutto, anche per chi non è online
- Divertente, team building
- Notifiche
- Stanze dedicate a progetti/topic
- Chatbot
Tool per gestione dei progetti
In ogni momento è facile capire:
- cosa c'è da fare
- cosa è in corso
- cosa è stato fatto
- chi se n'è occupato
Tool per gestione risorse
Ci aiuta a:
- capire chi può essere assegnato ad un nuovo progetto
- capire quanto si è lavorato sui progetti (per fatturazione)
- statistiche
Ma i clienti?
Come le società migliori anche i clienti migliori sono nelle grandi città oppure all'estero.
Come facciamo per trovare nuovi clienti lavorando da remoto?
Nota bene: non abbiamo addetti alle vendite
Open-Source
Un software di cui gli autori [...] rendono pubblico il codice sorgente, favorendone il libero studio e permettendo a programmatori indipendenti di apportarvi modifiche ed estensioni.
Wikipedia
Open-Source
Quindi posso prendere un software open-source e rivenderlo a pagamento?
Non per forza, la possibilità di modificare, estendere ed usare è regolata tramite l'applicazione di apposite licenze d'uso.
- GNU GPL: un'opera protetta da GNU GPL deve rimanere libera col susseguirsi delle modifiche.
- Apache: La Licenza Apache richiede solo che si includa un'informativa del fatto che si è utilizzato software licenziato secondo i termini della Licenza Apache.
- Etc. etc.
Github
Piattaforma web per hostare, revisionare e gestire progetti Open-Source. Incentrato sulla collaborazione.
Come funziona?
Github
Ognuno scrive il codice sul proprio computer e pusha le modifiche su un repository.
Gli altri possono pullare
le modifiche sul proprio
computer.
Si basa su git.
Git
Git è un software di controllo di versione (VCS), creato da Linus Torvalds nel 2005.
VCS: software per gestire
il ciclo di vita di un software
Storia delle modifiche.
Lista di commit
Commit
Istantanea del progetto in un particolare momento.
Viene rappresentato come l'insieme di differenze dall'istantanea precedente.
Branch
Diramazione del repository, di default il branch è il master.
- Utile per fare esperimenti
- Utile per separare le modifiche
- Utile per collaborare con altri
GitHub
Possiamo visualizzare lo stato di un repository:
GitHub
Commit: lista delle ultime modifiche
GitHub
Issues: dove vengono segnalati i problemi
GitHub
Pull requests: dove vengono proposte le modifiche
Perché dovremmo contribuire?
- Migliorare come programmatori ricevendo feedback
- Migliorare come comunicatori (molto utile sul lavoro)
- Trovare persone che hanno interessi simili
- Trovare mentori che ci guidano verso le soluzioni migliori
- Crescita della reputazione personale
- Soddisfazione personale nel fare cose pratiche che aiutano gli altri
Solo per programmatori?
- Scrivere Codice
- Rispondere alle issue
- Commentare le Pull Request
- Organizzare il rilascio delle versioni
- Scrivere documentazione
- Organizzare meeting relativi al progetto
- Occuparsi della licenza del progetto
- Dare aiuto in chat
Come faccio a guadagnare?
- Molte società pagano i dipendenti per contribuire ai progetti open. Da Nebulab diamo il venerdì libero per fare progetti interni e contributi open.
- Si possono cercare fondi per continuare i propri progetti, anche richiedendo piccole donazioni agli utilizzatori.
- Offrire una versione free e una a pagamento.
- Offrire consulenza sui progetti che abbiamo creato o a cui contribuiamo o conosciamo bene.
Nebulab ♥ Open-Source
Come fare ad avere un team distribuito, lavorare sui progetti che ci interessano secondo le nostre modalità operative e non avere necessità di un reparto commerciale?
Cerchiamo di sfruttare l’Open-Source a nostro vantaggio.
Perché dovremmo contribuire?
- Migliorare come programmatori ricevendo feedback
- Migliorare come comunicatori (molto utile sul lavoro)
- Trovare persone che hanno interessi simili
- Trovare mentori che ci guidano verso le soluzioni migliori
- Crescita della reputazione
personaleaziendale - Soddisfazione personale nel fare cose pratiche che aiutano gli altri
Esempio:
Ci serve una modifica molto importante sul nostro sito.
Abbiamo usato jQuery ma a causa di impegni su altri progetti non ci possiamo lavorare noi direttamente…
Grafico dei contributi di jQuery
Workflow asincrono
Flusso di lavoro per cui non serve un contatto immediato tra i membri del team:
- Progetto su GitHub (si possono avere anche progetti privati)
- Chat su slack (una per ogni cliente)
- Cliente chiede delle nuove funzionalità (tramite issue)
- Chi lavora sul progetto crea una Pull Request
- Viene revisionata e valutata dagli altri membri del team
- Viene mergiata sul branch master
- Viene mandata online (deploy)
Funziona veramente?
Sembra di sì
Siamo 12 16 persone con clienti in tutto il mondo.
Contribuiamo attivamente a progetti Open-Source per i quali ci arrivano spesso richieste di lavoro.
Azienda Open-Source
Passi per creare un'azienda come Nebulab:
- Scegliere un settore (e-commerce, cms, e-learning)
- Scegliere un progetto (o crearlo)
- Diventare un contributor
- Crearsi una reputazione
- Fare in modo che chi prova a contattarci per lavorare su quel progetto capisca che siamo pronti ad accettare lavori
- Aspettare clienti, con pazienza, partire anche facendo un po’ di gavetta
create il vostro account
github.com
Nebulab
By kennyadsl
Nebulab
- 716