ApeeScapessa etsimme aina parhaita freelancereita. Mutta mikä tekee freelancerista todella suurenmoisen? Luis Martinho , yksi parhaimmista kehittäjistämme, on asiakkaidensa rakastama - joten istuimme hänen kanssaan puhumaan freelancesta, tekniikoista kuten freelance Node.js ja HTML5 sekä verojen maksaminen.
'Olin työskennellyt pari kokopäiväistä työpaikkaa: jotkut heistä olivat suhteellisen yrityskokonaisuuksia, mutta viimeisin oli käynnistysympäristössä, erityisesti yrityksen SaaS-tilassa, rakentamalla seksikkäitä hallintaohjelmistoja pilveen. Meillä oli erittäin lahjakas joukkue ja erittäin kunnianhimoinen visio. Neljän vuoden kasvun jälkeen meillä oli jännittävä tuote jännittävässä tilassa, mikä oli hienoa, mutta en ollut kovin onnellinen. Tarvitsin elämäntapamuutoksen. Kun aloitimme, en henkilökohtaisesti ymmärtänyt, kuinka vaikeaa oli 'käynnistää'. Se ei ole vain tunteja, koska työskentelet pitkiä tunteja kaikenlaisissa ympäristöissä ja projekteissa; se on stressi, vastuu ja tuskat, jotka liittyvät uuden luomiseen. Kaikki eivät ole kukkia ja sateenkaaria. Lopulta päätin, etten ollut perustajamateriaali (ainakaan, ei tuolloin). Mutta kokemus antoi minulle paljon syvemmän käsityksen siitä, millaista painostusta startup-perustajat kohtaavat, ja tiedän, että minusta on tullut parempi freelance-ohjelmistokehittäjä sen takia.
Freelancing näytti yhä enemmän haluamaltani elämästä: se tarjosi mahdollisuuden löytää mielenkiintoisia asiakkaita ja projekteja samalla kun palkittiin laadukkaasta työstä.
Aloin etsiä säännöllisiä työpaikkoja: ensin kotikaupungissani, sitten muualla maassa, sitten muualla Euroopassa. Onnistuin löytämään mielenkiintoisia projekteja, mielenkiintoisia korvauspaketteja ja mielenkiintoisia paikkoja; mutta uskoin, että saisin kaiken. Joten aloin tutkia freelanceria. Ja kun katselin jatkuvasti, freelancer näytti yhä enemmän haluamaltani elämästä: se tarjosi mahdollisuuden löytää mielenkiintoisia asiakkaita ja projekteja samalla kun palkittiin laadukkaasta työstä. '
'Alun perin kuvittelin, että valtava muutos olisi tulojen vakaus, jota odotat kokopäiväisestä työstä, jossa sinulla on tietty määrä rahaa, jonka saat aina kuukauden loppuun mennessä - ja saat sen, mitä tapahtuu. Odotin sen olevan suuri huolenaihe, koska tiesin, että freelancerina oleminen tarkoitti, että minulla ei aina olisi asiakkaita. Mutta näin ei todellakaan ole tapahtunut - yllättäen, ApeeScapessa olen onnistunut saamaan aina tasaisen asiakasvirran tarvitsematta metsästää heitä. Joten, rehellisesti sanottuna, suurin haaste on ollut aikataulun järjestäminen. Minulla ei todellakaan ole asetettuja työaikoja. Suunnittelen periaatteessa oman aikatauluni, joten minun on oltava kurinalaisempi kuin olin aiemmin. Yritän työskennellä enemmän tai vähemmän normaalia tuntia: herään aamulla, aloitan työskentelyn, lounaan sillä hetkellä, kun kaikki muut ovat lounaalla, työskentelevät iltapäivällä ja sitten syömme. Yritän työskennellä normaalin aikataulun mukaan, ei vetämällä yötä, polttamalla keskiyön öljyä joka päivä. Tämä kuria oli alussa iso haaste. '
Olen huomannut, että kurinalainen kannattaa, koska pääsen paljon tuottavammaksi, jos minulla on joukko rutiineja.
”Varmasti siitä on hyötyä. Se on siistiä siinä mielessä, että jos kohtaat ongelmia, jos joudut auttamaan jotakuta perheessäsi tai sinulla on tämä upea tilaisuus jonkinlaiseen vapaa-aikaan, voit mennä sen jälkeen ja voit nauttia mahdollisuudesta. Mutta toisaalta olen huomannut, että kurinalaista kannattaa, koska pääsen olemaan paljon tuottavampi, jos minulla on joukko rutiineja, koska nuo rutiinit ohjaavat minua periaatteessa: voin mennä eteenpäin ja saada enemmän aikaan tuona aikana. On hyvä saada tämä vapaus, mutta mielestäni sitä on käytettävä vastuullisesti. '
'Freelance-ohjelmistokehittäjänä on todennäköisesti hyvä ominaisuus olla hieman laiska etsimällä helpoin ja halvin tapa saada jotain aikaan; olla äärimmäisen ärsyttävää tekemällä toistuvaa työtä ja parantaa siten jatkuvasti työkaluketjuasi. Esimerkiksi vietät paljon aikaa päätelaitteessa: sinun on harkittava vakavasti pikakuvakkeiden, aliasten luomista, mikä tahansa säästää aikaa ja säästää kirjoittamista. Loppujen lopuksi monet tekemäsi tehtävät eivät ole oikeastaan raketitiede; he käyvät läpi vain pari silmukkaa saadakseen aikaan jotain. Jos optimoit kyseiset tavarat ja saat toistuvan työn pois tieltä, sinulla on enemmän aikaa tehdä varsinainen raketitiede.
Jos saat toistuvan työn pois tieltä, sinulla on enemmän aikaa tehdä varsinainen raketitiede.
Sinulla on myös oltava joku muu käsittelemään tuntipalkka ja laskutus, saamaan rahaa asiakkailta ja jopa hankkimaan uusia asiakkaita, jotta voit keskittyä tekemään suurta työtä. Ja se on ehdottoman tärkeää. Kun olet freelance-ohjelmistokehittäjä , työskentelet toimituksen, mutta myös markkinoinnin ja myynnin parissa. Ja mitä haluat tehdä - ja mitä asiakkaasi haluavat sinun tekevän - on käyttää niin paljon aikaa toimitukseen ja niin vähän aikaa markkinointiin, myyntiin ja jopa rahoitukseen. Sinun täytyy aina viettää aikaa uusien freelance-kehitysasiakkaiden etsimiseen työskennellessäsi vanhojen asiakkaiden parissa. Se ei ole jotain, mitä vanhat haluavat - eikä se ole haluamasi asia. Haluat vain keskittyä tekemään työsi hyvin. Joten sinun pitäisi olla erittäin tyytyväinen, että joku muu hoitaa laskutusta ja löytää uusia asiakkaita, ja olet erittäin onnekas, jos löydät sen.
Älä myöskään unohda: maksa freelance-verosi. '
He kokevat, että olet yhteydessä heihin tavalla, jota et vain lähetä yli laskutettavien tuntien.
”Motivaatiossani on valtava osa asiakkaiden laatua. Jos mahdollista, yritän olla eräänlainen nirso. Toisin sanoen yritän hyväksyä keikat, jotka motivoivat minua teknisen haasteen kannalta, olipa kyseessä sitten kovan ongelman ratkaiseminen vai työskentely mielenkiintoisessa tilassa. Ja se tavallaan vain seuraa tästä. Työskentelen aina asiakkaan kanssa ajatellen, että työskentelen kohti yhteistä tavoitetta: Yritän nähdä suuremman kuvan ja nähdä itseni osana tiimiä. Et ole koskaan osa sisäistä tai paikan päällä olevaa ohjelmistokehitystiimiä täysin emotionaalisesti, varsinkin kun olet poissa toimistosta, mutta voit silti tuntea olevasi osa tiimiä koko projektin ja laadun kannalta työ. Ja luulen, että toisella puolella olevat ihmiset (asiakas ja asiakasryhmä) kokevat sen - he kokevat, että olet yhteydessä heihin tavalla, jota et vain lähetä laskutettavien kehitystuntien yli, vaan olet todella huolissasi siitä, he menestyvät tai jos työn laatu on riittävän hyvä. '
'Yleisesti ottaen kannatan uudempia tekniikoita kuin vanhempia, ja myös uusia asioita - en välttämättä sanoisi, että syntyy, koska osa näistä jutuista on ajankohtaisia, mutta haluaisin mieluummin työskennellä sellaisen kanssa, joka tekee yhden sivun sovelluksia ja käyttää Backbone.js ja Node.js kanssa Ilmaista tai jokin MVC-kehys kuin joku, joka käyttäisi Java Enterprise Edition -tyyliä.
Olen freelance, haluaisin paljon mieluummin asiakkaan, jolla on asynkroninen viestintäratkaisu paikallaan. Jos olet etätyössä, on paljon helpompaa päästä joukkueeseen, joka käyttää jotain yksinkertaista kuin postituslista tai jolla on chat-huoneita Nuotio tai käyttää GitHubia yhteistyötyökaluna (tämä viimeinen toimii huomattavan hyvin). Kaiken kaikkiaan, jos asiakas ei sieppaa vedenjäähdyttimen keskustelua jollain tavalla, saatat menettää paljon tietoa ja puhetta, joka voi vaikuttaa työhösi. '
On vaikeampi muistaa kaveria, joka ei ole koskaan rakennuksessa.
”Sinun on löydettävä tapa kompensoida poissaoloa. Löydetty ratkaisu on olla ennakoiva. Esimerkiksi: analysoi sitoutuslokit. Kun olet etätyössä , sinun tulisi varata aikaa vain vilkaista ja saada käsitys siitä, mitä muut ihmiset työskentelevät. Jos tiedät päivittäisissä valmiustilanteissa tapahtuvasta tapahtumasta, josta ilmoitetaan projektinhallintaratkaisun kautta, on hyvä tapa yrittää löytää vihjeitä tiimin työskentelystä. Sitten olet helpommin integroituva. Se on tietysti lisäponnistelu puolellasi - saatat pystyä pääsemään irti tekemästä sitä, jos heillä on todella hyvä viestintäprosessi paikallaan, mutta se voi olla hyvä vinkki ja se voi säästää joitain ongelmia. On vaikeampi muistaa freelance-kehityskumppania, jota ei ole koskaan rakennuksessa. '
”Sinun on oltava joku, joka pystyy ylläpitämään sujuvan tasapainon henkilökohtaisen elämän ja työn välillä. Freelancerina on tärkeää olla reagoiva. Mutta reagoivuus johtaa suuresti henkilökohtaiseen elämään. Sinun ei tarvitse tarkistaa sähköpostiasi koko ajan - voit vain saada ilmoituksen, suodattaa, onko se tärkeää vai ei, ja voit sitten palata nauttimaan ajastasi perheen tai muun kanssa. Sinun on oltava hyvä kontekstinvaihtaja. Kontekstin vaihto on yleensä kallista , mutta sinun on tehtävä siitä halpa ja nopea, jotta saat erittäin korkeatasoisen palvelun reagoimalla hätätilanteisiin mutta nauttien samalla ystävien ja perheen seurasta.
Sinun on oltava hyvä kontekstinvaihtaja. Kontekstivaihto on yleensä kallista, mutta sinun on tehtävä siitä halpa ja nopea.
Tavanomaista freelance-kehitystyötä varten sinun on tiedettävä, miten hallita talouttasi konservatiivisesti. Tätä ei ole todellakaan tapahtunut ApeeScapen kanssa yllättäen, mutta yleensä on helppo siirtyä juhlasta nälänhädäksi ohjelmistojen tai verkkokehittäjien palkkojen suhteen, jopa tunneittain. Yhden kuukauden aikana ansaitset tonnia rahaa ja yhtäkkiä sinulla ei ole asiakkaita eikä sinulla ole enää töitä. Joten sinun on oltava kurinalaista: tarvitset kuvan keskipalkasta ja sinun on käytettävä tämä summa; kaiken ylimääräisen on oltava jonkinlainen tyyny, joka auttaa sinua purjehtimaan tällaisen työn tekemisen epävarmuustekijöissä. Tämä ei todellakaan pidä paikkaansa ApeeScapessa, koska asiakasvirta on ollut todella vakaa, mutta se on silti hyvä käytäntö. '
”Yritän olla kurinalainen ylhäältä alas suuntautuvassa lähestymistavassa. Tämä tarkoittaa tuntemusta koodipohjan kokonaisrakenteesta. Se näyttää melko ilmeiseltä, mutta kun yrität ymmärtää koodia, sinut ohjataan siihen, mitä teet töihin kyseisenä hetkenä, ja käsillä olevaan tehtävään. Se siirtää keskittymisesi ylhäältä alas-lähestymistavalta ja asettaa sinut alareunaan yrittäen nousta ylös ja koota kappaleet tietyistä koodiosista, joita katselet. Se voi olla parempi lyhyellä aikavälillä, että voit korjata kyseisen virheen tai lisätä kyseisen toiminnon, mutta keskipitkällä aikavälillä sinun kannattaa noudattaa ylhäältä alas -menetelmää. Sitten sinulla on paljon parempi näkymä järjestelmään ja miten kappaleet ovat vuorovaikutuksessa. '
”Ei. Olen hyvin rehellinen: mielestäni voit saada paljon erikoistumisesta, kuten jos olet naurettavan hyvä naurettavan pienellä teknologiasarjalla; mutta se on vain henkilökohtainen valinta. Olen utelias, joten työskentelen paljon erilaisten tekniikoiden kanssa. Ja siksi päädyin tekemään sekä käyttöliittymää että back-end-freelance-työtä.
Teknologia muuttuu - tänään kuuma on tylsää todennäköisesti huomenna tai ainakin 6–12 kuukauden kuluttua.
Tämän sanottuani mielestäni on ratkaisevan tärkeää, että kehittäjä yrittää oppia mahdollisimman monta tekniikkaa ja paradigmaa koko työuransa ajan. Teknologia muuttuu - tänään kuuma on tylsää luultavasti huomenna tai ainakin 6–12 kuukauden kuluttua - ja yksi freelance-ohjelmistokehittäjien avaintaidoista on uuden tekniikan tai uuden projektin nopea valinta. Siksi on todella hyödyllistä, jos sinulla on systemaattinen lähestymistapa uusien asioiden oppimiseen ja harjoittelet sitä oppimalla vähintään yhden uuden kielen tai kehyksen tai paradigman vuosittain. '
'Voi oi, menemme täällä uskonnolliseen sotaan. Sanoisin, että solmu on aivan erilainen kuin kaksi muuta. Kun olet ensimmäisen kerran alttiina Node.js-esimerkkejä , sinulla voi olla vaikeuksia päästä tapahtumavetoiseen paradigmaan. Se ei ole 100% luonnollista henkilölle, joka on tehnyt Rails-työtä koko ajan. Toisaalta, jos käytät JavaScriptiä, olet todennäköisesti kehittymässä selaimelle, joten olet jo perehtynyt tapahtumapohjaiseen paradigmaan. Henkilökohtaisesti olen käyttänyt freelance-kokemusta Nodesta MVC-kehyksiä, joten en ole kehittänyt ydintekniikkaa Nodelle; Olen juuri ollut asiakaskohtaisen omistetun kehyksen vakiokäyttäjä (verrattavissa Expressiin). '
”Pääni päältä, WebStorm alkaen JetBrains. Se on JavaScript IDE, joka kannattaa todella etsiä. Google I / O: n julkaisemassa uudessa Android-studiossa on JetBrains-ohjelmisto, ei Eclipse tai muu. Pidän Eclipseestä, mutta minulla on todella hauskaa aikaa WebStormin kanssa. Oppin edelleen paljon pikakuvakkeita - ja tämä on käytäntö, joka myös hyvällä freelance-ohjelmistokehittäjällä tulisi olla: oppia lisää heidän työkaluistaan. Olen edelleen oppinut lisää IDE: stäni. WebStormilla on paljon älykkäitä pikakuvakkeita, hyvä vakioasettelu ja siinä on myös hienoja ZenCoding-ominaisuudet jonka avulla voit kirjoittaa HTML-koodia yhtä nopeasti kuin koskaan. Kaiken kaikkiaan se on hyvä työkalu. '
Riippumatta siitä kuinka hyvä olet, asennusaikaa on aina, ja se voi olla kallista asiakkaalle.
'Yritän yleensä saada ensimmäisen kontaktini kieliin asiakastyön ulkopuolella, ei asiakkaan aikaan - riippumatta siitä, kuinka hyvä olet, asennusaika on aina, ja se voi olla asiakkaalle kallista. Tästä huolimatta, jos asiakas kertoi minulle: 'Okei, meillä on mukava, vaikka et tiedä siitä mitään', näen sen olevan loistava tilaisuus oppia jotain uutta. Toisaalta, jos asiakkaalla on vaativa aikataulu, kehotan heitä palkkaamaan jonkun muun tai käyttämään kieltä, jonka kanssa olen tyytyväinen, joten tiesin, että voisin olla tuottava alusta alkaen. '
'Freelance HTML5 -projekti tulee mieleen. Kaivaa HTML5 Canvas -sovellusliittymä tehdä joitain kehittyneitä graafisen muokkaustoiminnon toimintoja, kuten lason valinta ja vapaamuotoinen valinta, jossa rajaat osan kuvasta, mutta jätät loput pois, laskelmat pikselisarjoilla, tms. Tämä oli eräänlainen MS Paint, joka käyttää HTML5-kangasta ja toteuttaa asioita, kuten harja: luulisi, että harja olisi jotain yksinkertaista - se on, jos vain piirrät viivan, mutta tässä tapauksessa haluat jäljitellä siveltimen vetoa, joten Minun piti käyttää matemaattista kaavaa simuloimaan, kuinka harja koskettaa kangasta ja jättäisi epäselvyyden musteella. '
'Mitä olen kuullut Meteori on mielenkiintoista sen suhteen, miten ne tarjoavat täydellisen päähän ja hartioille -kehyksen yhden sivun sovelluksen kehittämiseksi. Se käsittelee sekä taustaa että etupäätä. En ole työskennellyt sen kanssa, mutta olen utelias ja haluaisin kokeilla sitä. '