Bagaimana menjadi pengasas teknikal anda sendiri - dan mengapa ia bernilai masa anda

Catatan : blog ini diilhamkan oleh wawancara podcast saya baru-baru ini dengan QuCCCamp's Quincy Larson, di mana kita membincangkan perkara ini dalam 15 minit terakhir.

Mencari pengasas teknikal? Saya juga begitu. Selama bertahun-tahun. Ini adalah perjalanan yang sukar, kerana "kebijaksanaan" yang berlaku adalah anda harus keluar dan mencari pengasas teknikal kerana semua pemula yang berjaya memilikinya (tidak benar, by the way) Tetapi apa yang berlaku ketika anda berada di hujung landasan anda, dan pilihan anda ialah belajar membuat kod, atau berhenti?

Pengasas teknikal seharusnya memberi anda kestabilan, pelengkap kemahiran penting, dan kebertanggungjawaban yang tidak mungkin menjadi pengasas solo. Sudah tentu, tidak ada yang mengesan banyak contoh di mana mempunyai pengasas sampah menjadikan perjalanan anda jauh lebih sukar, atau menggagalkan kemampuan anda untuk maju sama sekali. Tetapi tentu saja, apa yang mereka maksudkan ialah anda tidak memerlukan hanya pengasas teknikal, anda memerlukan pengasas teknikal yang betul , ya !

Sudah tentu.

Tiada satu pun nasihat yang sangat berguna. Ini seperti mengatakan bahawa anda perlu berjaga-jaga untuk mempunyai idea yang baik (nampak jelas dan intuitif, tetapi tidak selalu benar).

Pengalaman saya sebagai pengasas bukan teknikal (solo)

Inilah yang saya alami selama bertahun-tahun yang saya habiskan untuk mencari pengasas teknikal:

  1. Saya menghabiskan banyak masa melayari forum, LinkedIn, dan senarai kenalan mencari orang yang memenuhi kriteria minimum
  2. Saya menghabiskan banyak masa untuk tidak dapat mengesahkan banyak, banyak menguji, maju kerana saya tidak mempunyai apa-apa untuk mengesahkan, menguji atau kemajuan selain daripada nada yang diasah dengan baik
  3. Saya berjumpa dengan banyak orang, dan kebanyakannya tidak berminat dalam bidang keusahawanan, atau tidak mempunyai etika kerja yang diperlukan (alias masokistik)
  4. Saya berjumpa dengan banyak orang yang berminat tetapi dengan motivasi yang salah (cepat kaya, gemilang, kemasyhuran…)
  5. Saya bertemu dengan beberapa orang yang mempunyai motivasi yang betul dan (sejauh yang saya tahu) kemahiran yang betul, tetapi yang tidak mempunyai mental untuk menahan kejam ketika memulakan
  6. Saya bertemu dengan sebilangan kecil orang yang berpengalaman memulakan dan mempunyai kemahiran, tetapi tidak ada yang tertarik dengan konsep saya (statistik yang tidak dapat dielakkan)

Saya tahu dengan jujur ​​mengenai perisian, walaupun saya ingin memulakan syarikat teknologi. Jadi, inilah kesilapan saya sejak dulu:

  1. Saya tidak tahu mengenai aspek asas dan asas perisian dan reka bentuknya
  2. Saya terlalu meremehkan kerumitan yang terlibat (tidak tahu berapa banyak yang saya tidak tahu)
  3. Saya terlalu memandang rendah masa yang terlibat
  4. Saya terlalu memandang tinggi orang yang saya dekati untuk menjadi pengasas teknikal
  5. Saya secara signifikan (tetapi tidak sedar) terlalu banyak memperhebatkan peranan saya dalam tempoh awal - "sibuk" dan "pengembangan perniagaan" adalah kemahiran saya, dan saya tidak menghargai bahawa beberapa syarikat permulaan yang paling berjaya menghabiskan sepertiga masa mereka untuk perkara-perkara tersebut, dan sebahagian besar masa mereka membina produk dan memenuhi keperluan pelanggan

Selama hampir 4 tahun saya berkata kepada diri sendiri, " Saya tidak perlu belajar membuat kod. Bakat saya lebih baik digunakan di tempat lain ”. Bunyi biasa?  

Ini hanya sebahagian benar. Sebagai seseorang yang mempunyai sumber daya yang sangat terhad, bakat saya perlu digunakan untuk apa sahaja yang memberi saya peluang terbaik untuk berjaya . Saya mempunyai sejumlah wang tunai yang dapat saya belanjakan untuk pemaju. Saya mempunyai banyak masa yang dapat saya habiskan untuk menguruskannya, dan masa itu dibuat terutamanya dengan mengurangkan aktiviti sosial, tidur dan tidak membenarkan diri saya pada hujung minggu. Saya mempunyai pengalaman berharga yang dapat saya gunakan dalam menyusun rancangan perniagaan. Saya mempunyai kemahiran sosial dan kemahiran komunikasi yang kuat yang dapat saya gunakan untuk mencari prospek, dan juga kepada calon pengasas.

Saya melakukan semua perkara ini, dan mendekati matlamat saya. Tetapi memerlukan masa yang terlalu lama. Sudah tentu kemajuan selalu perlahan, pastinya lebih perlahan daripada yang kita mahukan. Tetapi kita hanya memperlahankan diri dengan tidak melihat keadaan secara objektif. Walaupun ketika saya mempunyai pengasas bersama (yang akhirnya berhenti kerana terlalu sukar atau keadaan hidup mereka berubah), saya mendapati bahawa mengurus etika kerja, harapan dan mood mereka memerlukan banyak masa dan tenaga saya. Tidak mengapa - tetapi tidak ada anggaran untuk itu.

Anda lihat, sebagai pengasas yang bercita-cita tinggi, musuh terbesar kita adalah apa sahaja yang menyebabkan kita kehilangan masa. Dengan setiap minggu yang berlalu tanpa hasil anda akan cenderung berhenti. Dan kita tidak pernah benar-benar tahu berapa kos masa kita ketika memilih tindakan. Dan kita tidak pernah tahu bila kita menjadi mangsa kekeliruan kos.

Mengimbas kembali, saya memerlukan 4 tahun dan banyak wang. Dan pada akhirnya, satu-satunya cara untuk memulakannya lagi adalah dengan mengulangi perbelanjaan masa, usaha dan wang, melakukan perkara yang sama - menyusun rancangan, dan kemudian dengan putus asa mencari pengasas teknikal.

Di sini kita pergi lagi…

Matematik masa yang mudah

Pada tahun 2014 saya membaca blog oleh Sam Altman, presiden YCombinator. Di dalamnya, Sam mengatakan beberapa kebenaran paling mendalam yang pernah saya abaikan. Inilah tweet yang saya gali untuk bersenang-senang.

2 atau tiga kali pertama saya membaca karya beliau membuat hujah yang bernas mengapa ia tidak berlaku untuk saya. Saya salah dan memerlukan saya wang, tetapi lebih teruk lagi, saya memerlukan banyak masa (saya mengembalikan wang).

Pada dasarnya dia berpendapat bahawa lebih cepat ( jauh lebih pantas ) untuk belajar memprogram cukup untuk membina prototaip anda daripada mencari pengasas yang boleh dipercayai dan boleh dipercayai yang sesuai, dan akan pergi jauh. Bukan hanya lebih pantas, tetapi kemungkinan kemajuan jauh lebih tinggi.

Ia jelas. Mencari pengasas bersama yang baik, teknikal atau sebaliknya, adalah jangka panjang - seperti mencari pasangan yang tepat seumur hidup - dan memerlukan tahap keberuntungan. Belajar membuat kod sedikit lebih cepat, tidak memerlukan keberuntungan dan oleh itu mempunyai kadar kejayaan yang lebih tinggi.

Sebenarnya anda boleh berhenti membaca blog ini di sini jika anda suka. Baca bukunya. Lebih baik. Satu-satunya sebab saya menulis adalah untuk berkongsi pengalaman langsung dan peribadi yang mengesahkan apa yang dia katakan. Ini memberitahu bahawa setakat ini blognya hanya mempunyai ~ 8,500 tontonan - di mana selusin adalah milik saya. Itu jauh lebih sedikit daripada jumlah calon pengasas bukan teknikal di luar sana.

Analogi temu janji

Di sekolah menengah, saya ingat diberitahu bahawa jika anda putus asa terhadap kasih sayang seseorang, anda akan bertindak dengan cara yang boleh menjejaskan diri anda - standard, nilai dan kepentingan terbaik anda. Anda akan menetap orang, tingkah laku dan situasi yang tidak sesuai untuk anda.

Sama persis dengan mencari pengasas bersama. Seiring berjalannya waktu dan ketakutan dan keputusasaan saya meningkat, saya mendapati diri saya berkompromi - mengurangkan standard saya. Berunding terhadap diri saya. Membuat alasan untuk orang lain. Menetap.

Lama kelamaan saya membuat keputusan buruk dan kompromi buruk. Nasib baik, tidak ada keputusan buruk yang menghasilkan hubungan bersama yang sebenarnya.

Maksud saya adalah bahawa saya bersedia untuk membuat kompromi buruk, hanya untuk membuat kemajuan. Ini adalah permulaan yang buruk untuk sesuatu yang mungkin anda perlukan untuk menghabiskan 10-20 tahun ke depan dalam hidup anda.

Perkara teknikal tidak berakhir pada pelancaran

Sangat menggoda untuk bersikap taktik dan mengatakan bahawa saya hanya perlu melancarkan. Itu bukan rancangan yang mampan. Ada perbezaan antara merancang untuk "membuatnya ketika saya sampai di jambatan itu" dan harus melakukannya kerana hidup tidak membuat anda pilihan.

Saya belajar dengan susah payah bahawa keperluan saya untuk mendapatkan bantuan teknikal meningkat setelah dilancarkan. Saya fikir kawasan yang sukar dilancarkan. Nak, adakah saya salah. Perkara pecah. Bug muncul. Ciri tidak berfungsi seperti yang diharapkan. Pengguna mempunyai pandangan yang kuat terhadap sesuatu. Pengulangan adalah cara untuk mencapai kesesuaian pasaran-produk. Dan mesti cepat, terkoordinasi dan sistematik. Data membantu, dan banyak data berharga hadir selepas pelancaran!

Itulah sebabnya mengapa pembayaran untuk pemaju tidak dapat dilakukan melainkan anda mendapat banyak dana. Dan anda tidak mungkin mendapat banyak dana sebelum anda mempunyai produk. Itu mungkin, tetapi tidak bagi kebanyakan pengasas.

Oleh itu, apa yang akan anda lakukan apabila 4 minggu selepas pelancaran berlaku, pengguna melaporkan bug yang tidak dijangka, dan pelayan mengalami kerosakan, atau kedai aplikasi telah mengubah beberapa polisi? Anda membelanjakan lebih banyak wang. Dan mohon pemaju untuk bergegas. Sementara itu anda berusaha sedaya upaya untuk mencari pengguna, berniaga, menjual, dll.

Anda pasti menghabiskan masa anda untuk perkara-perkara, dan itu penting. Tetapi diberi pilihan antara memperbaiki bug / menambahkan ciri yang disukai pengguna anda, dan menyusun rancangan perniagaan anda ke peluang penyumbang, penggunaan terbaik masa anda adalah produk, bukan nada. Dan anda tidak dapat melakukannya kerana anda tidak tahu caranya. Oleh itu, anda memaksakan diri dengan perkara-perkara yang berakibat kedua kerana anda tidak boleh menggunakan perkara-perkara yang sangat penting .

Membangunkan empati teknikal

Seperti yang saya sebutkan di podcast, saya (sangat menyedihkan) adalah salah satu dari orang-orang yang menegaskan bahawa "itu adalah prototaip yang ringkas dan cepat". Saya sama sekali, sama sekali, celaka, tidak mempunyai konsep bagaimana proses pembangunannya.

Quincy, pengasas freeCodeCamp dan orang yang menjalankan podcast, menyimpulkannya dengan baik:

Ini memberi anda empati terhadap pengalaman pembangun, dan membantu anda membuat anggaran masa yang bermakna, bukan hanya dari segi apa yang mungkin, tetapi juga apa yang mudah, dan apa yang kompleks. [diparafrasa]

Bayangkan jika seseorang yang tidak tahu mengenai pekerjaan anda datang kepada anda dan menegaskan bahawa sesuatu yang memerlukan masa seminggu perlu 2 hari - tidakkah anda mahu mengetuk kepala mereka, dan hanya berpaling jijik?

Saya sangat malu sepanjang masa saya melakukan ini (bersikeras bahawa ia adalah aplikasi mudah, bukan mengetuk seseorang).

Lebih buruk lagi, mengapa mereka memandang serius saya? Adakah saya benar-benar menunjukkan rasa hormat dan komitmen kepada mereka dengan sekurang-kurangnya berusaha mempelajari sedikit kemahiran mereka? Dari sudut pandangan mereka, saya bersembunyi di sebalik kemahiran saya dan alasan yang munasabah bahawa pengekodan adalah " bukan penggunaan terbaik pada masa saya ".

Berikut adalah kesan sampingan yang tidak menyenangkan kerana tidak cukup berpengetahuan mengenai perkara teknikal. Saya tidak pernah dapat menilai kemahiran relatif orang yang saya ajak bicara. Saya harus mengikut kepercayaan, kepercayaan atau cadangan. Saya tidak mempunyai cara untuk menilai kecergasan mereka untuk tujuan yang saya perlukan untuk mereka penuhi.

Mengimbas kembali, saya dapat menjimatkan banyak wang dan usaha selama berbulan-bulan, sambil membina kemahiran yang memperluas landasan saya hampir tanpa had - sekiranya saya belajar membuat kod sebelumnya.

Seperti kata Sam Altman:

"Apabila orang seperti ini mengatakan" Saya akan melakukan apa sahaja untuk menjadikan perniagaan ini berjaya "(yang hampir selalu mereka katakan), saya mengatakan sesuatu seperti" Mengapa tidak belajar menggodam? "

Mengapa tidak begitu. Lakukan apa sahaja yang diperlukan. Terutama jika ia membantu permulaan anda "tidak mati".

Kejuruteraan bukanlah segala-galanya

Tidak sesekali saya rasa pengekodan adalah jawapan untuk semuanya. Sekiranya anda termasuk di antara mereka yang mempunyai pengasas teknikal, rakan sekelas, rakan sekerja, adik-beradik yang berminat dan boleh dipercayai sepenuhnya, maka ya itu bukan penggunaan masa anda yang terbaik - mengapa? Kerana anda mempunyai sumber yang hebat untuk orang lain. Kemudian belajar kod adalah mendua kemahiran.

Tetapi apabila anda tidak mempunyai kemahiran itu, mempelajarinya sedikit adalah penggunaan masa anda yang terbaik, jika ia menjimatkan banyak masa dalam jangka masa panjang. Inilah matematik yang saya pakai:

keutamaan = kebarangkalian hasil dalam satuan masa tertentu

Jadi:

Cari pengasas bersama dalam 6 bulan dan mulakan pembinaan pada bulan ke-7: 50% kebarangkalian

Ketahui kod yang mencukupi dalam 6 bulan dan mula bina pada bulan ke-7: 90%

Keseluruhan artikel ini akan benar-benar jelas jika dikatakan bahawa pengekod perlu belajar kemahiran pemasaran dan komunikasi. Pengekod perlu keluar dari bangunan dan bercakap dengan pelanggan mereka dan bukan hanya menggunakan kod. Ini sekarang dianggap sebagai nasihat "jelas".

Jadi mengapa sebaliknya tidak begitu jelas?

Beri kredibiliti kepada diri sendiri

Jurutera adalah seperti gadis cantik di bar. Mereka "dipukul" sepanjang masa. Mereka selalu didekati. Saya tidak tahu secara langsung, tetapi saya rasa cepat letih, dan sinis hanyalah "anda akan menyukai idea permulaan saya".

Anda tahu apa yang menyegarkan bagi seseorang yang anda sembang di bar? Minat dan kesedaran mengenai mereka. Perkara yang sama berlaku untuk pengekod. Sekiranya anda cukup mengetahui dunia mereka, dan cukup berminat dengan perincian kemahiran mereka, mereka akan bertindak balas dan, sekurang-kurangnya, membantu.

Ini sedikit yang saya tahu dari pengalaman peribadi. Sejak saya belajar membuat kod, saya mempunyai banyak lagi jurutera yang senang memberi nasihat, membimbing saya, membetulkan saya, dan juga menyelami idea saya dengan saya. Tidak mudah mencari pengasas bersama yang tepat , tetapi itu tidak ada kaitan dengan kepakaran, dan lebih berkaitan dengan minat, keutamaan dan keadaan hidup mereka.

Dan sekarang apa?

Dan sekarang, untuk pertama kalinya dalam hidup saya, saya berada dalam kedudukan di mana saya dapat bereksperimen dengan idea saya. Lebih awal saya memerlukan masa dan wang. Sekarang saya memerlukan sedikit masa, dan bahkan lebih sedikit masa daripada mencari pembangun, skop rundingan, mengawasi kerja, mengkaji semula kerja, menguji kerja. Dan masa itu adalah pelaburan kerana saya terus meningkatkan kemahiran walaupun idea itu keluar sebagai komersial yang tidak dapat dilaksanakan.

Saya bukan pengekod yang hebat. Saya rasa saya tidak perlu (mungkin dalam 5 tahun saya akan menyemak semula pandangan ini). Tetapi saya cukup tahu untuk membina prototaip saya sendiri, dan memahami apa yang terlibat dalam membina produk yang berdaya maju. Dan saya cukup tahu untuk menerima panggilan mana sahaja untuk membuat penyumberan luar, bagaimana untuk menerangkan apa yang saya mahukan, tidak perlu dibawa, menilai hasilnya, dan bekerjasama dengan penggodam lain untuk mendapatkan hasil. Saya mungkin tidak akan pernah menjadi pemaju profesional, dan tidak mengapa Bukan itu yang dimaksudkan.

Tetapi saya telah menjadi pengasas teknikal saya sendiri. Mungkin ada suatu hari di mana penggunaan masa saya yang terbaik adalah barang bukan teknikal. Tetapi hari itu akan tiba setelah saya membina sesuatu yang sedang berkembang. Saya percaya saya telah meningkatkan peluang untuk menjumpai sesuatu kerana saya dapat menjalankan eksperimen yang lebih murah, dengan tekanan rendah dan tidak melibatkan saya membelanjakan wang atau meminta bantuan orang lain.

Semua ini dalam masa kurang dari 12 bulan. Fikirkan mengenainya. Mungkin ia adalah penggunaan terbaik masa anda jika anda ingin menjadi pengasas.

Postscript Untuk pelajar freeCodeCamp

Saya benar-benar percaya bahawa sumber yang paling berharga anda adalah masa, usaha dan wang anda. Dari jumlah tersebut, sumber yang paling penting adalah masa, kerana dua sumber lain dapat diperbaharui dan dipulihkan. Oleh itu, jika anda akan menghabiskan masa untuk sesuatu, pastikan ia mendekati matlamat ini.

Oleh itu, jika anda ingin melabur selama 3 jam dengan saya untuk mencari jalan terpendek anda untuk belajar membuat kod (terutamanya jika anda ingin memulakan), kemudian pergi ke laman kursus saya dan gunakan borang di sana daftar (tidak pop timbul!). Sekiranya anda menambahkan kata-kata "PERCUMA WAKTU SAYA" ke mesej, saya akan mengetahui bahawa anda adalah pembaca FreeCodeCamp, dan saya akan menghantar kod promo kepada anda, kerana seperti anda, freeCodeCamp memberi saya permulaan yang baik.

Lihat podcast freeCodeCamp yang dilancarkan semula, di mana Quincy dan Abbey menggunakan pengalaman luar biasa mereka sebagai pendidik untuk mengumpulkan kandungan yang akan membantu anda dalam perjalanan anda. Saya baru-baru ini berada di episod 53 dan beberapa perkara dalam catatan ini dibahas dengan lebih terperinci di sana. Anda juga dapat mengakses podcast di iTunes, Stitcher, dan Spotify atau langsung dari halaman ini.

Saya boleh dihubungi di Twitter: @ZubinPratap