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 personale aziendale
  • 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