ApeeScapeでは、常に最高のフリーランサーを探しています。しかし、何がフリーランサーを本当に素晴らしいものにしているのでしょうか? ルイス・マルティニョ 私たちのトップ開発者の1人である、は彼のクライアントに愛されています—そこで私たちは彼と一緒にフリーランス、次のようなテクノロジーについて話しました。 フリーランスのNode.js とHTML5、そしてあなたの税金を支払う。
「私はいくつかのフルタイムの仕事をしていました。そのうちのいくつかは比較的企業でしたが、最近はスタートアップ環境、特にエンタープライズSaaSスペースで、クラウドにセクシーな管理ソフトウェアを構築していました。私たちは非常に才能のあるチームと非常に野心的なビジョンを持っていました。 4年間の成長の後、私たちはエキサイティングな空間でエキサイティングな製品を手に入れました。それは素晴らしいことでしたが、私はあまり満足していませんでした。ライフスタイルを変える必要がありました。私たちが始めたとき、私は「立ち上がる」ことがどれほど難しいかを個人的に理解していませんでした。あらゆる種類の環境やプロジェクトで長時間働いているため、時間だけではありません。それは、何か新しいものを作ることに伴うストレス、責任、そして苦痛です。花や虹だけではありません。結局、私は共同創設者ではないと判断しました(少なくとも当時はそうではありませんでした)。しかし、この経験から、スタートアップの創設者が直面しているプレッシャーについてより深く理解することができました。そのおかげで、私はより優れたフリーランスのソフトウェア開発者になったことを知っています。
フリーランスは私が望んでいた人生にますます似ていました。質の高い仕事に対して報われながら、興味深いクライアントやプロジェクトを見つける機会を提供しました。
私は定期的な仕事を探し始めました。最初は故郷で、次に国の残りの部分で、次にヨーロッパの残りの部分で。私はなんとかいくつかの興味深いプロジェクト、いくつかの興味深い報酬パッケージ、そしていくつかの興味深い場所を見つけることができました。しかし、私はそれをすべて持つことができると信じていました。それで私はフリーランスを調べ始めました。そして、私が探し続けると、フリーランスは私が望んでいた人生にますます似ていました。それは、質の高い仕事に対して報われる一方で、興味深いクライアントやプロジェクトを見つける機会を提供しました。」
「もともと、大きな変化は、フルタイムの仕事に期待する収入の安定性だと想像していました。フルタイムの仕事では、月末までに常に一定の金額を得ることができ、何が起こってもそれを得ることができます。フリーランサーであるということは、必ずしもクライアントがいるとは限らないことを知っていたので、大きな懸念になると思っていました。しかし、それは実際に起こったことではありません。驚くべきことに、ApeeScapeでは、クライアントを探すことなく、常に安定したクライアントの流れを維持することができました。ですから、正直なところ、主な課題は私のスケジュールを整理することでした。本当に働く時間はありません。基本的には自分でスケジュールを組んでいるので、以前よりも規律を守らなければなりません。私は多かれ少なかれ標準的な時間に働くようにしています。私は朝起きて働き始め、他のみんなが昼食をとる時間に昼食をとり、午後に働き、そして夕食をとります。私は、夜通しの人を引っ張るのではなく、毎日真夜中の油を燃やすのではなく、通常のスケジュールで仕事をするようにしています。この分野は当初、大きな課題でした。」
一連のルーチンがあると、生産性が大幅に向上するため、懲戒処分を受けることで成果が得られることがわかりました。
「確かに、それはメリットです。問題が発生した場合、家族の誰かを支援する必要がある場合、または何らかのレジャー活動のためのこの素晴らしい機会がある場合は、それを追いかけてその機会を楽しむことができるという意味でクールです。しかし一方で、一連のルーチンがあると、それらのルーチンが基本的に私を導くので、私ははるかに生産的になるので、訓練されることは報われることがわかりました:私は追いかけに切り込み、より多くのことを成し遂げることができますその間。その自由があるのは良いことですが、責任を持って使用する必要があると思います。」
「フリーランスのソフトウェア開発者として、何かを成し遂げるための最も簡単で安価な方法を探すという点で、少し怠惰になるのはおそらく良い特徴です。繰り返し作業を行うことで非常にイライラするため、ツールチェーンを継続的に改善します。たとえば、ターミナルで多くの時間を費やします。ショートカットやエイリアスの作成を真剣に検討する必要があります。これにより、時間を節約し、入力を節約できます。結局、あなたがする仕事の多くは実際にはロケット科学ではありません。彼らは何かを成し遂げるためにいくつかのループを通過しているだけです。そのようなものを最適化し、繰り返しの作業を邪魔にならないようにすれば、実際のロケット科学を行うために利用できる時間が増えます。
繰り返しの作業が邪魔にならない場合は、実際のロケット科学を行うためにより多くの時間を利用できます。
VisualStudioビルドiOSアプリ
また、素晴らしい仕事に集中できるように、他の誰かに時給と請求、顧客からのお金の獲得、さらには新しい顧客の獲得を処理させる必要があります。そしてそれは絶対に重要です。あなたが フリーランスのソフトウェア開発者 、あなたは配達だけでなく、マーケティングと販売にも取り組んでいます。そして、あなたがしたいこと、そしてあなたのクライアントがあなたにしたいことは、配達にできるだけ多くの時間を費やし、マーケティング、販売、さらには財務にさえも少しの時間を費やすことです。古いクライアントのために働いているときは、常に新しいフリーランスの開発クライアントを探すことに時間を費やす必要があります。それは古いクライアントが望んでいることではなく、あなたが望んでいることでもありません。あなたはただ自分の仕事をうまくやることに集中したいだけです。したがって、他の誰かに請求を処理させ、新しいクライアントを見つけることは、あなたが非常に満足しているはずのことであり、それを見つければ非常に幸運です。
また、忘れないでください。フリーランスの税金を払ってください。」
彼らは、あなたが請求可能な時間を超えて送っているだけではない方法であなたが彼らとつながっていると感じています。
「私のモチベーションに大きな役割を果たしているのは、クライアントの質です。可能であれば、私はちょっとうるさいようにしています。つまり、難しい問題を解決するのか、面白い空間で働くのかという技術的な課題の観点から、私をやる気にさせるギグを受け入れるようにしています。そしてそれは一種のそれから続く。私は常に、共通の目標に向かって取り組んでいると考えてクライアントと協力しています。私は全体像を見て、自分自身をチームの一員として見ようとしています。特に不在の場合は、社内またはオンサイトのソフトウェア開発チームに完全に感情的に参加することはありませんが、プロジェクト全体と品質の点でチームの一員のように感じることができます。作品。そして、反対側の人々(クライアントとクライアントチーム)は、あなたが請求可能な開発時間を送信するだけでなく、あなたが彼らとつながっていると感じていると思います。あなたは本当に心配しています。彼らは成功するか、仕事の質が十分であれば。」
「一般的に、私は古いテクノロジーよりも新しいテクノロジーを好みます。また、新しいテクノロジーも好きです。これらのテクノロジーの一部は最新のものであるため、必ずしも新しいテクノロジーとは言えませんが、シングルページアプリケーションを作成して使用している人と協力したいと思います。 Backbone.js そして Node.js と Express または、Java EnterpriseEditionスタイルを使用する人よりもいくつかのMVCフレームワーク。
私はフリーランスです。非同期通信ソリューションを導入しているクライアントが欲しいです。在宅勤務の場合は、メーリングリストのような単純なものを使用しているチームや、チャットルームを使用しているチームに入るのがはるかに簡単です。 キャンプファイヤー または、コラボレーションツールとしてGitHubを使用します(この最後のツールは非常にうまく機能します)。全体として、クライアントが何らかの方法でウォータークーラーの話をキャプチャしていない場合、作業に影響を与える可能性のある多くの情報やおしゃべりを失うリスクがあります。」
建物に一度もいない男を思い出すのは難しいです。
「不在を補う方法を見つける必要があります。私が見つけた解決策は、積極的に取り組むことです。例:コミットログを分析します。 在宅勤務の場合 、他の人が何に取り組んでいるのかを一瞥して考えておくために、少し時間を取っておく必要があります。プロジェクト管理ソリューションを通じて通知された、毎日のスタンドアップで何が起こっているかを知っている場合は、チームが取り組んでいることについてのヒントを見つけることをお勧めします。そうすれば、より簡単に統合できます。それは明らかにあなたの側の追加の努力です—彼らが持っているならあなたはそれをやめることができるかもしれません 本当に良いコミュニケーションプロセス 所定の位置にありますが、それは良いヒントになる可能性があり、いくつかの問題を回避することができます。建物に一度もいないフリーランスの開発者を思い出すのは難しいです。」
「あなたはあなたの個人的な生活とあなたの仕事の間の流動的なバランスを維持することができる誰かでなければなりません。フリーランサーとして、敏感であることが重要です。しかし、敏感であることはあなたの個人的な生活に大きな犠牲を払うことになります。メールを常にチェックする必要はありません。通知を受け取り、重要かどうかをフィルタリングしてから、家族との時間を楽しむなどに戻ることができます。あなたは優れたコンテキストスイッチャーである必要があります。 コンテキスト切り替えは通常高価です 、しかし、あなたはそれを安くて速くする必要があります。そうすれば、緊急事態に非常に敏感であると同時に、友人や家族と一緒に楽しむことによって非常に高い水準のサービスを受けることができます。
あなたは優れたコンテキストスイッチャーである必要があります。コンテキストの切り替えは通常費用がかかりますが、安価で高速にする必要があります。
通常のフリーランスの開発の取り決めのために、あなたはあなたの財政を保守的に管理する方法を知らなければなりません。驚くべきことに、これはApeeScapeでは実際には発生していませんが、ソフトウェアやWeb開発者の支払いに関しては、通常、1時間ごとでも非常に簡単にごちそうから飢饉に陥ります。ある月、あなたはたくさんのお金を稼ぎ、突然あなたはクライアントを失い、あなたはそれ以上仕事をしなくなります。したがって、懲戒処分を受ける必要があります。平均賃金のアイデアが必要であり、その金額を使う必要があります。この種の作業を行う際の不確実性を乗り越えるために、余分なものはすべて何らかのクッションである必要があります。クライアントの流れは非常に安定しているため、これはApeeScapeには当てはまりませんが、それでも良い習慣です。」
「私はトップダウンのアプローチを取ることについて訓練されるように努めます。これは、コードベースの全体的な構造を把握することを意味します。それは当たり前のことのように思えますが、コードを理解しようとすると、その特定の瞬間に取り組んでいることと、手元にある特定のタスクに駆り立てられます。これにより、焦点がトップダウンのアプローチからシフトし、上に向かって下に移動し、見ているコードの特定の部分の断片を組み立てることになります。短期的にはその特定のバグを修正したり、その特定の機能を追加したりする方が良いかもしれませんが、中期的にはトップダウンのアプローチを維持したいと思うでしょう。そうすれば、システムとそれらの要素がどのように相互作用するかをよりよく理解できるようになります。」
「いいえ。正直に言うと、専門分野から多くのことを得ることができると思います。たとえば、途方もなく小さなテクノロジーのセットで途方もなく上手い場合などです。しかし、それは個人的な選択です。興味があるので、さまざまなテクノロジーを使用しています。そしてそれが私がフロントエンドとバックエンドの両方のフリーランスの仕事をすることになった理由です。
テクノロジーは変化します—今日の暑さは、おそらく明日、または少なくとも6〜12か月で退屈になるでしょう。
そうは言っても、開発者は、プロとしての生涯を通じて、できるだけ多くのテクノロジーやパラダイムを学ぼうとすることが重要だと思います。テクノロジーは変化します—今日のホットなものはおそらく明日または少なくとも6〜12か月で退屈になるでしょう—そしてフリーランスのソフトウェア開発者にとって重要なスキルセットの1つは、新しいテクノロジーまたは新しいプロジェクトをすばやくピックアップすることです。そのためには、新しいことを学ぶための体系的なアプローチがあり、毎年少なくとも1つの新しい言語、フレームワーク、またはパラダイムを学ぶことによってそれを実践する場合に非常に役立ちます。」
「ああ、ここで宗教戦争に入るつもりです。 Nodeは他の2つとはかなり違うと思います。あなたが最初にさらされたとき Node.jsの例 、イベント駆動型パラダイムに入るのに問題があるかもしれません。これは、Railsの作業を常に行っている人にとっては100%自然ではないかもしれません。一方、JavaScriptを使用している場合は、おそらくブラウザ用に開発しているため、イベント駆動型パラダイムに既に精通しています。個人的には、Nodeでのフリーランスの経験では、MVCフレームワークを使用しているため、Nodeのコアテクノロジーを開発していません。私はクライアント固有のプロプライエタリフレームワークの標準ユーザーです(Expressと比較して)。」
「頭のてっぺんから、 WebStorm JetBrainsから。これは、調べる価値のあるJavaScriptIDEです。 Google I / Oでリリースされた新しいAndroidスタジオは、EclipseなどではなくJetBrainsソフトウェアを搭載しています。私はEclipseが好きですが、WebStormで本当に楽しい時間を過ごしています。私はまだ多くのショートカットを学んでいます。それは、優れたフリーランスのソフトウェア開発者にも必要なプラクティスです。ツールについてもっと学ぶことです。私はまだIDEについてもっと学んでいます。 WebStormには、多くのスマートショートカット、優れた標準レイアウトがあり、いくつかの優れたものもあります。 ZenCodingプロパティ これにより、HTMLをこれまでになく迅速に作成できます。全体として、これは優れたツールです。」
あなたがどんなに優れていても、セットアップ時間は常にあり、それはクライアントにとってコストがかかる可能性があります。
「私は通常、クライアントの時間ではなく、クライアントの仕事以外の言語との最初の接触を試みます。あなたがどんなに優れていても、セットアップ時間は常にあり、それはクライアントにとってコストがかかる可能性があります。そうは言っても、クライアントから「何も知らなくても大丈夫」と言われたら、何か新しいことを学ぶ絶好の機会だと思います。一方、クライアントのスケジュールが厳しい場合は、他の人を雇うか、快適な言語を使用するようにアドバイスします。そうすれば、最初から生産的になることができます。」
「フリーランスのHTML5プロジェクトが思い浮かびます。掘り下げる HTML5 Canvas API なげなわ選択やフリーフォーム選択など、画像の一部を切り抜いて残りを省略したり、ピクセルのセットを使用して計算したりするなど、高度なグラフィックエディタ機能を実行します。これは、HTML5Canvasを使用してブラシのようなものを実装するMSペイントのようなものでした。ブラシは単純なものだと思うでしょう。線を引くだけの場合ですが、この場合はブラシストロークを模倣したいので、ブラシがキャンバスに接触し、インクでぼかしを残す方法をシミュレートするために、数式を使用する必要がありました。」
「私が聞いていたこと 流星 単一ページのアプリケーションを開発するための完全な頭と肩のフレームワークをどのように提供するかという点で興味深いです。フロントエンドだけでなくバックエンドも処理します。私はそれを使ったことがありませんが、それを試してみたいと思っています。」