В ApeeScape винаги търсим най-добрите фрийлансъри наоколо. Но какво прави фрийлансъра наистина страхотен? Луис Мартиньо , един от нашите топ разработчици, е обичан от клиентите си - затова седнахме с него, за да поговорим за фрийланс, технологии като свободна практика Node.js и HTML5, и плащате данъците си.
„Бях работил няколко работни места на пълен работен ден: някои от тях бяха относително корпоративни, но най-новите бяха в стартираща среда, по-специално в корпоративното SaaS пространство, изграждайки секси софтуер за управление в облака. Имахме много талантлив екип и много амбициозна визия. След четири години растеж имахме вълнуващ продукт в едно вълнуващо пространство, което беше страхотно, но не бях много доволен. Имах нужда от промяна в начина на живот. Когато започнахме, аз лично не разбрах колко трудно беше „стартирането“. Не са само часовете, защото работите дълги часове във всякакви среди и проекти; това е стресът, отговорността и болките, свързани със създаването на нещо ново. Не всичко е цветя и дъги. В крайна сметка реших, че не съм съосновател (поне не по това време). Но опитът ми даде много по-задълбочено разбиране за вида на натиска, с който се сблъскват създателите на стартиращи компании, и знам, че станах по-добър разработчик на софтуер на свободна практика поради това.
Freelancing приличаше все повече на живота, който исках: той предоставяше възможност да намеря интересни клиенти и проекти, като същевременно бях възнаграден за качествена работа.
Започнах да търся редовна работа: първо в родния си град, след това в останалата част на страната, след това в останалата част на Европа. Успях да намеря интересни проекти, интересни компенсационни пакети и интересни места; но вярвах, че мога да имам всичко. Така започнах да се занимавам с фрийланс. И докато продължих да търся, фрийлансът все повече приличаше на живота, който исках: той даде възможност да се намерят интересни клиенти и проекти, като същевременно се възнагради за качествена работа. '
„Първоначално си представях, че огромна промяна ще бъде стабилността на доходите, която очаквате от работа на пълен работен ден, където имате определена сума пари, която винаги получавате до края на месеца - и я получавате, каквото и да се случи. Очаквах това да бъде основна грижа, тъй като знаех, че да работя на свободна практика означава, че не винаги ще имам клиенти. Но всъщност не се случи това - нещо изненадващо, в ApeeScape успях винаги да имам постоянен поток от клиенти, без да се налага да ги ловя. Така че, честно казано, основното предизвикателство наистина беше да организирам графика си. Наистина нямам определени часове за работа. По принцип си съставям собствен график и затова трябва да бъда по-дисциплиниран от преди. Опитвам се да работя повече или по-малко стандартни часове: събуждам се сутрин, започвам работа, обядвам по времето, когато всички останали обядват, работя следобед и след това вечерям. Опитвам се да работя по нормален график, без да дърпам всички нощи, изгаряйки среднощното масло всеки ден. Тази дисциплина беше голямо предизвикателство в началото. '
Открих, че си струва да бъда дисциплиниран, защото в крайна сметка съм много по-продуктивен, ако имам набор от процедури.
„Разбира се, това е полза. Готино е в смисъл, че ако срещнете някакви проблеми, ако трябва да помогнете на някого от семейството си или имате тази чудесна възможност за някаква развлекателна дейност, можете да се заемете с нея и да се насладите на тази възможност. Но от друга страна открих, че си струва да бъда дисциплиниран, защото в крайна сметка съм много по-продуктивен, ако имам набор от съчетания, тъй като тези съчетания основно ме ръководят: мога да се справя и да свърша повече през това време. Добре е да имате тази свобода, но мисля, че тя трябва да се използва отговорно. '
„Като разработчик на софтуер на свободна практика вероятно е добра черта да бъдете леко мързеливи по отношение на търсенето на най-лесния и най-евтиния начин да свършите нещо; да бъдете изключително раздразнени от повтаряща се работа и така непрекъснато да подобрявате веригата си инструменти. Например прекарвате много време в терминал: трябва сериозно да обмислите създаването на преки пътища, псевдоними, каквото и да ви спести време и да ви спести да пишете. В крайна сметка много от задачите, които правите, всъщност не са ракетни науки; те просто преминават през няколко цикъла, за да свършат нещо. Ако оптимизирате тези неща и отстраните повтарящата се работа, имате на разположение повече време, за да направите реалната наука за ракетите.
Ако отстраните повтарящата се работа, имате на разположение повече време, за да се занимаете с действителната ракетна наука.
Също така трябва да накарате някой друг да се справя с почасово заплащане и фактуриране, да получава пари от клиенти и дори да набира нови клиенти, за да можете да се съсредоточите върху вършенето на чудесна работа. И това е абсолютно важно. Когато сте разработчик на софтуер на свободна практика , работите върху доставката, но също така и върху маркетинга и продажбите. И това, което искате да направите - и това, което вашите клиенти искат да направите - е да отделите колкото се може повече време за доставка и толкова малко време за маркетинг, продажби и дори финанси. Винаги ще трябва да прекарвате време в търсене на нови клиенти за развитие на свободна практика, когато работите за стари, а това не е нещо, което старите искат - и не е нещо, което искате. Просто искате да се съсредоточите върху това да вършите добре работата си. Така че ако някой друг се занимава с фактурирането и намирането на нови клиенти е нещо, от което трябва да се радвате много и имате голям късмет, ако го намерите.
Освен това не забравяйте: плащайте данъците си на свободна практика. '
Те чувстват, че сте свързани с тях по начин, по който не просто изпращате платими часове.
„Това, което играе огромна роля в мотивацията ми, е качеството на клиентите. Ако е възможно, се опитвам да бъда някак придирчив. Тоест, опитвам се да приема концерти, които ме мотивират по отношение на свързаното технологично предизвикателство, независимо дали става въпрос за решаване на труден проблем или работа в интересно пространство. И това просто следва от това. Винаги работя с клиент, мислейки, че работя за постигане на обща цел: Опитвам се да видя по-общата картина и да се видя като част от екипа. Никога не сте наистина част от вътрешния или локален екип за разработка на софтуер с пълния емоционален начин, особено когато сте извън офиса, но все пак можете да се чувствате като част от екипа по отношение на цялостния проект и качеството на работата. И мисля, че хората от другата страна (клиентът и клиентският екип) чувстват това - те чувстват, че сте свързани с тях по начин, по който не просто изпращате платени часове за разработка, а наистина се притеснявате дали ще успеят или ако качеството на работата е достатъчно добро. “
node.js за какво се използва
„Като цяло предпочитам по-новите технологии от по-старите, а също и нововъзникващите неща - не бих казал непременно нововъзникващите, защото някои от тези неща са актуални, но предпочитам да работя с някой, който прави приложения на една страница и използва Backbone.js и Node.js с Експрес или някаква MVC рамка, отколкото някой, който би използвал Java Enterprise Edition.
Аз съм на свободна практика, много бих предпочел да имам клиент, който има някакво асинхронно решение за комуникация на място. Ако работите дистанционно, много по-лесно е да влезете в екип, който използва нещо толкова просто като пощенски списък или има чат стаи в Лагерен огън или използва GitHub като инструмент за сътрудничество (последният работи изключително добре). Като цяло, ако клиентът не заснеме някакъв разговор с охладителя за вода, рискувате да загубите много информация и бърборене, които могат да повлияят на работата ви. '
По-трудно е да си спомните човека, който никога не е в сградата.
„Трябва да намериш начин да компенсираш отсъствието от офиса. Решението, което открих, е да бъде проактивно. Например: анализирайте дневници за фиксиране. Когато работите дистанционно , трябва да отделите малко време, само за да погледнете и да имате представа за това, върху което другите хора работят. Ако сте наясно с това, което се случва в ежедневни режими, уведомени чрез някакво решение за управление на проекти, е добра практика да се опитате да намерите намеци за това, върху което работи екипът. След това сте по-лесно интегрирани. Това очевидно е допълнително усилие от ваша страна - може да успеете да се измъкнете от това, ако те имат наистина добър комуникационен процес на място, но може да е добър съвет и да спести някои проблеми. По-трудно е да си спомните човек на свободна практика, който никога не е в сградата. '
„Трябва да сте човек, който може да поддържа баланс между личния ви живот и работата ви. Като свободна професия е важно да бъдете отзивчиви. Но отзивчивостта в крайна сметка има голям вред за личния ви живот. Не е нужно непрекъснато да проверявате имейла си - можете просто да получавате известия, да филтрирате дали е важно или не, а след това можете просто да се върнете към забавлението със семейството си или какво ли още не. Трябва да сте добър превключвател на контекст. Превключването на контекст обикновено е скъпо , но трябва да го направите евтино и бързо, за да можете да имате много висок стандарт на услугата, като сте много отзивчиви при извънредни ситуации, но в същото време се наслаждавате на компанията на приятели и семейство.
Трябва да сте добър превключвател на контекст. Превключването на контекст обикновено е скъпо, но трябва да го направите евтино и бързо.
За обичайното споразумение за развитие на свободна практика трябва да знаете как да управлявате финансите си консервативно. Това наистина не се е случило с ApeeScape, изненадващо, но обикновено е много лесно да се премине от пир до глад, когато става въпрос за заплащане на софтуер или уеб разработчици, дори на час. Един месец правите тон пари и изведнъж нямате клиенти и нямате повече работа. Така че трябва да бъдете дисциплинирани: имате нужда от представа за средната работна заплата и трябва да похарчите тази сума; всичко излишък трябва да бъде някаква възглавница, която да ви помогне да плавате през несигурността при извършването на този вид работа. Това наистина не е вярно за ApeeScape, защото потокът от клиенти е наистина стабилен, но все пак е добра практика. '
„Бих се опитал да бъда дисциплиниран относно подхода отгоре надолу. Това означава да усетите цялостната структура на кодовата база. Това изглежда нещо очевидно, но когато започнете да се опитвате да разберете кода, ще бъдете насочени към това, върху което работите в този конкретен момент и конкретната задача, която имате под ръка. Това ще измести фокуса ви от подхода отгоре надолу и ще ви постави на дъното, опитвайки се да се изкачите нагоре, като съберете парчетата от конкретните части на кода, които гледате. В краткосрочен план може да е по-добре да поправите конкретната грешка или да добавите тази специфична функционалност, но в средносрочен план бихте искали да сте запазили подхода отгоре надолу. Тогава ще имате много по-добър поглед върху системата и как взаимодействат парчетата. '
как да оценим ipo
- Не. Ще бъда много честен: мисля, че можете да спечелите много от специализацията, например ако сте нелепо добри с нелепо малък набор от технологии; но това е просто личен избор. Любопитен съм, затова работя с много различни технологии. И ето защо в крайна сметка върша работа на свободна практика както отпред, така и отзад.
Технологиите ще се променят - това, което е горещо днес, ще бъде скучно вероятно утре или поне след 6-12 месеца.
Като казах това, мисля, че е от решаващо значение за разработчика, през целия му професионален живот, да се опита да научи колкото се може повече технологии и парадигми. Технологиите ще се променят - това, което е актуално днес, ще бъде скучно вероятно утре или поне след 6-12 месеца - и един от ключовите набори от умения за разработчика на софтуер на свободна практика е бързо да вземе нова технология или нов проект. За това наистина помага, ако имате систематичен подход към изучаването на нови неща и го практикувате, като изучавате поне един нов език, рамка или парадигма всяка година. '
„Ъъъ, тук ще влезем в религиозна война. Бих казал, че Node е доста по-различен от другите два. Когато за първи път сте изложени на Примери за Node.js , може да имате проблеми с навлизането в парадигмата, управлявана от събития. Това е нещо, което може да не е 100% естествено за някой, който постоянно работи с Rails. От друга страна, ако работите с JavaScript, вероятно разработвате за браузъра и така вече сте запознати с управляваната от събития парадигма. Лично в моя опит на свободна практика с Node използвам MVC рамка, така че не съм разработил основна технология за Node; Току-що бях стандартен потребител на специфична за клиента собствена рамка (сравнима с Express). '
„От върха на главата ми, WebStorm от JetBrains. Това е IDE на JavaScript, което наистина си струва да потърсите. Новото студио за Android, пуснато в Google I / O, се захранва от софтуера JetBrains, а не от Eclipse или какво ли още не. Харесвам Eclipse, но наистина се забавлявам с WebStorm. Все още уча много преки пътища - и това е практика, която трябва да има и добрият разработчик на софтуер на свободна практика: да научите повече за техните инструменти. Все още научавам повече за моята IDE. WebStorm има много интелигентни преки пътища, добро стандартно оформление и също има някои хубави ZenCoding свойства които ви позволяват да пишете HTML толкова бързо, колкото винаги. Като цяло това е добър инструмент. '
Без значение колко сте добри, винаги ще има време за настройка, а това може да струва скъпо за клиента.
„Обикновено се опитвам да установя първия си контакт с езици извън работата на клиента, а не по времето на клиента - колкото и да сте добри, винаги ще има време за настройка и това може да струва скъпо за клиента. Като се има предвид това, ако клиентът ми каже: „Добре, удобно ни е, дори да не знаете нищо за това“, бих видял това като чудесна възможност да науча нещо ново. От друга страна, ако клиентът имаше взискателен график, бих ги посъветвал да наемат някой друг или да използват език, който ми е удобен, за да знам, че мога да бъда продуктивен от самото начало. '
„Идва ми на ум проект на свободна практика HTML5. Ровене в API на HTML5 Canvas да направите някои усъвършенствани функции на графичния редактор, като например ласо селекция и избор на свободна форма, където изрязвате част от изображението, но оставяте останалото, изчисления с набори от пиксели, подобни неща. Това беше нещо като MS Paint, използвайки HTML5 Canvas и прилагайки неща като четка: бихте си помислили, че четката ще бъде нещо просто - това е, ако просто нарисувате линия, но в този случай искате да имитирате четка на четка, така че Трябваше да използвам математическа формула, за да симулирам как четка ще се свърже с платното и ще остави размазване с мастило. '
„Това, за което съм чувал Метеор е интересно от гледна точка на това как те предлагат пълна рамка за главата и раменете за разработване на приложение на една страница. Той се справя както със задния, така и с предния край. Не съм работил с него, но ми е любопитно и ме сърби да го изпробвам. '