
Halo semuanya!
Sudah 3 tahun sejak saya mulai bekerja di perpustakaan
imaskjs . Meskipun opensource adalah proses tanpa akhir, dapat dikatakan bahwa, secara keseluruhan, pekerjaan selesai dan dipindahkan ke perbaikan bug yang lamban. Saat ini, saya melakukan semua yang saya inginkan, tidak ada ide lain, kecuali tes kencing, tetapi malas.
Itu bukan cara yang mudah: berkali-kali saya ingin menyerahkan segalanya, dan berkali-kali saya berpikir bahwa semuanya sudah sempurna. Sekarang semuanya telah tenang dan saya dapat dengan jiwa yang tenang dan hati nurani yang ingat mengingat bagaimana itu dan berfilsafat tentang topik apakah itu layak dan mengapa.
Latar belakang
Semuanya dimulai dengan fakta bahwa untuk bekerja kami membutuhkan perpustakaan untuk menutupi berbagai bidang pada berbagai bentuk. Format topeng diberikan dari sistem eksternal, validasi sudah ada di backend, tapi ini tidak cukup untuk pengujian yang tidak pernah puas. Beberapa dari kami ternyata ada solusi untuk masking. Kami berkelahi dengan mereka untuk waktu yang lama, bercabang, selesai, mendapat bug. Sebagai hasilnya, kami tidak pernah mencapai apa yang kami inginkan, tetapi semua orang setuju dengan apa yang kami miliki, dan kami lupa. Tetapi kemudian bagi saya tampaknya ada sesuatu yang salah di sini - pada kenyataannya, itu harus berbeda. Saya melihat begitu banyak tempat untuk perbaikan dalam kode sumber dari hampir semua perpustakaan populer, jadi mengapa tidak menulis solusi sendiri? Sangat menarik untuk melihat apa yang terjadi, tetapi gagasan itu tampak gila. Sekarang saya tahu bahwa ketakutan akan bisnis baru adalah pertanda baik.
Ada banyak perdebatan tentang apakah akan menulis sepeda Anda atau tidak. Dalam kasus saya, saya juga tidak sepenuhnya yakin: setelah setengah tahun yang lalu, ketika saya baru saja memulai jalur pengembangan saya di perusahaan dan dianggap sebagai junior, maka tampaknya tidak ada yang membutuhkannya, dan itu hanya menghabiskan waktu saja, tidak ada orang di sekitar yang menulis sesuatu seperti itu, mungkin lebih baik pergi untuk mendapatkan lebih banyak uang ... Ya, saya membocorkan banyak waktu, saya tidak menghargai itu di tempat kerja, dan saya tidak mendapatkan uang dari itu. Tapi saya yakin itu pasti sepadan. Saya ingin membicarakan hal ini.
Motivasi
Proyek sendiri memberi sekolah keluguan dan kecerobohan, itu adalah perasaan ketika Anda benar-benar terserap dalam proses, tangan Anda gatal, mata Anda terbakar dan tidak ada lagi yang ada di sekitar. Itu luar biasa. Tentu saja, saya tidak bisa terlibat dalam perpustakaan sepanjang waktu, karena saya memahaminya dan itu tidak perlu - sebaliknya, Anda perlu memberikan waktu kepada komunitas di antara rilis untuk mendengar umpan balik dan menyesuaikan vektor pengembangan. Tetapi begitu saya kembali ke pengembangan, perasaan yang sama kembali lagi, minat tidak memudar dan tidak ada alasan untuk berhenti. Mungkin seseorang lebih beruntung dengan pekerjaan itu, tetapi pekerjaan saya dengan cepat berubah menjadi rutinitas - dunia usaha sangat monoton dan membosankan. Dan semakin lama Anda tinggal di dalamnya, semakin banyak pengalaman dan lebih rutin. Proyek-proyek mereka menyelamatkan dan membantu tidak terbakar. Tentu saja, ini tidak harus menjadi sumber terbuka, tetapi lebih mudah untuk mendapatkan perhatian dan mendapatkan umpan balik.
Kepribadian dan Masyarakat
Saya pikir komunikasi dan umpan balik sangat penting baik untuk proyek maupun untuk pengembangan individu. Meskipun Anda tidak berada di masyarakat, tidak jelas siapa Anda dan apa yang dapat Anda lakukan, sulit untuk mengevaluasi diri sendiri dan pencapaian Anda dari luar. Dan tanpa ini, sulit untuk tumbuh. Juga, nilai proyek sulit untuk dievaluasi sendiri. Sebelumnya, saya ingin berpikir bahwa saya tidak peduli dengan pendapat masyarakat, saya tidak butuh siapa-siapa dan ini tidak penting. Saya akan duduk di pikiran saya, tetapi untungnya keinginan untuk ketenaran dan bintang-bintang di github ternyata lebih kuat. Untungnya, masalahnya tidak terbatas pada ini. Tetapi ketika pendapat orang lain dimulai, itu sangat berarti - jika seseorang menemukan kekurangan atau memulai bug, Anda mulai ribut dan berusaha memperbaikinya lebih cepat sehingga tidak ada orang lain yang melihat - setelah 5 menit, meluncurkan versi baru - tetapi tidak ada tes, dan bahkan melangkah lebih jauh. Dan ketika Anda memposting artikel, Anda umumnya tidak bisa tertidur di malam hari. Mungkin saya melebih-lebihkan sedikit, tetapi secara umum - sirkus pada proyek, rumah gila di kepala saya, dan setiap versi adalah tekanan besar. Sekarang semua ini menimbulkan senyuman, tetapi saya pikir untuk pertama kalinya, banyak yang tidak peduli dengan apa yang dia lakukan harus menjalaninya.
Seperti dalam bisnis apa pun, secara bertahap pengaruh faktor eksternal berkurang, dan saya ingin mengerti, Anda benar-benar melakukan sesuatu yang berharga dan berguna atau bungkus permen lain yang akan dibuang dalam enam bulan. Anda secara bertahap terbiasa dengan pekerjaan rutin dengan orang-orang, dan Anda sudah ingin menerima umpan balik bukan dari semua orang secara berurutan, tetapi dari mereka yang benar-benar dalam subjek dan yang memanfaatkan secara maksimal kemampuan perpustakaan. Pendapat orang penting, tetapi ini hanya momen kerja.
Di sisi lain, orang tidak boleh melebih-lebihkan pendapat masyarakat. Ketika Anda baru saja memulainya, sepertinya semuanya bertentangan dengan Anda. Tidak terima kasih, juga tidak dilakukan dengan baik, hanya saja tidak ada dan tidak demikian. Saya berpikir bahwa saya telah melakukan hal yang hebat, saya bisa saja memasukkan jiwa saya ke dalamnya, dan sekarang semua orang harus mengagumi, tetapi sebagai tanggapan hanya kritik. Bagi saya itu adalah titik sakit, saya tidak siap untuk sikap seperti itu dan pada awalnya saya bereaksi agak tajam terhadap komentar, mencoba membela diri. Kemudian saya mulai memperhatikan bahwa orang-orang normal, bahwa saya tidak mengerti mereka, saya merasa tertekan, bahkan meminta maaf. Tetapi jika tidak ada pengalaman, maka Anda harus membela diri pada awalnya, jika tidak tangan Anda akan jatuh, dan semuanya bisa berakhir dengan sia-sia.
Juga, dari sudut pandang pengelola, orang perlu membedakan antara motif orang. Setiap orang memiliki pendapatnya sendiri dan setiap orang salah. Karena itu, Anda perlu memfilter tip, terutama mereka yang mencoba menarik selimut, mengejar kepentingan pribadi secara eksklusif. Beberapa orang berpikir bahwa semuanya harus dilakukan secara berbeda, misalnya dalam kasus saya:
- Bung, mengapa Anda tidak memiliki kemampuan untuk menampilkan topeng di luar kotak hanya dengan fokus bidang?
- mengapa tanggal default Anda hanya berfungsi dengan format dd.mm.yyyy, yang bukan yang paling umum, tetapi bagi yang lain perlu memutar serialisasi?
- Di mana mendapatkan topeng untuk telepon Brasil?
Dll
Masalahnya adalah bahwa saya, sebagai pribadi, memiliki visi proyek saya sendiri dan ini sepenuhnya normal. Fakta bahwa perpustakaan berada dalam domain publik tidak berarti perpustakaan itu cocok untuk semua orang dan Anda perlu mencoba untuk menyenangkan semua orang. Orang dapat mengamati bagaimana, di bawah pengaruh masyarakat, beberapa proyek hanya ditarik terpisah ke arah yang berbeda, menghilangkan integritasnya, yang mengarah pada kekacauan, bug, dan biasanya lambatnya kematian proyek. Meskipun demikian, bagi saya sendiri, saya mencoba untuk memperbaiki kebutuhan masyarakat, terutama jika mereka mulai mengulangi. Tetapi solusinya belum tentu perubahan di perpustakaan itu sendiri, bisa berupa kode sampel, sepotong dokumentasi atau komentar dalam kode. Baru saja, saya berpikir untuk menambahkan contoh pertanyaan umum ke dokumentasi, seperti yang di atas. Tetapi pada awalnya saya juga bereaksi agak tajam terhadap pertanyaan-pertanyaan seperti itu, menganggapnya tidak pantas dan di suatu tempat mungkin bodoh. Salah satu alasan perilaku ini adalah saya juga ingin memaksakan sudut pandang saya sendiri. Karena perpustakaan saya adalah yang terbaik!
Jadilah yang terbaik
Ini pasti menyebabkan konflik. Waktu telah berlalu, tetapi saya masih berpikir bahwa perpustakaan saya indah, ide dan implementasinya sangat brilian! Jangan menggambarkan dengan kata-kata !!! 1 Tetapi dengan satu peringatan: itu adalah yang terbaik untuk saya dan bagi mereka yang berada dalam keadaan yang sama. Tidak mungkin ada perpustakaan universal untuk semuanya: selalu ada beberapa kekhasan dan kasus khusus. Dan sungguh luar biasa bahwa ada beragam solusi untuk berbagai kasus, dan seseorang tidak hanya dapat diusir, tetapi juga diberikan apa yang benar-benar cocok untuknya. Sayangnya, hanya satu momen yang biasanya dilupakan dalam semua idyll ini: KUALITAS BUKAN DISARANKAN. Saya mengaku bahwa saya menulis beberapa tes. Tetapi penting untuk benar-benar membedakan rasa dari kesalahan produksi, terutama pada tahap desain. Anda tidak dapat berkompromi dengan kualitas - di sinilah Anda dapat benar-benar mengambil kecenderungan perfeksionis Anda dan menjadi keren dari itu. Ya, Anda harus menulis ulang sekali, mungkin dua, itu dapat merusak API. Tapi saya percaya bahwa secara umum itu berguna untuk orang dan proyek, jika didekati dengan bijak. Dengan satu atau lain cara, kesimpulan yang saya buat untuk diri saya sendiri - "semuanya memiliki ceruknya sendiri" - membantu saya di mana saja. Saya dapat mengatakan dengan pasti bahwa hidup menjadi lebih mudah. Ketika Anda mulai berkomunikasi secara normal dengan orang-orang, Anda mulai memperhatikan bahwa banyak orang benar-benar ingin membantu dan mulai menghargai bantuan dan hubungan ini.
Hubungan
Dan orang-orang merespons. Mungkin bagi saya itu yang paling berharga. Saya bertemu dan tetap berhubungan dengan orang-orang yang benar-benar tertarik dengan apa yang mereka lakukan. Ada beberapa, dan bahkan lebih sedikit dengan siapa Anda dapat membangun hubungan. Dengan satu atau lain cara, opensource memberikan kesempatan seperti itu dan perlahan-lahan sebuah tim dibentuk untuk membangkitkan sesuatu yang sangat keren. Apa alternatif lain yang ada? Jika saya benar-benar ingin berinvestasi dalam apa yang saya lakukan, dan tidak hanya membusuk untuk headstock, menyalin bentuk CRUD atau antarmuka lainnya.
Manfaat
Topik sakit. Saya merasa bahwa tidak semua orang akan menyukai apa yang saya tulis di sini, tetapi saya harus mengatakan bahwa saya tidak suka dan saya tidak setuju untuk mengevaluasi semuanya dengan uang. Uang itu baik, tetapi tidak semula. Saat ini, penekanan pada uang, prestise, dll. Hal-hal eksternal terlalu bias. Tampaknya tidak ada perbedaan cara mendapatkannya, jika mereka membayar, itu bagus. Ini hanya mengarah pada fakta bahwa kualitasnya hilang, bungkus permen yang indah tetap ada, tetapi artinya hilang.
Pada awalnya, saya juga berpikir bahwa mereka akan berkorban dan hidup untuk saya sekarang, tetapi kemudian prioritas berubah. Ngomong-ngomong, selama 3 tahun pengembangan, mereka memberi saya 3.500 rubel (rubel Rusia, KARL!), 3.000 di antaranya diberikan oleh satu orang baik kepada siapa saya sangat berterima kasih. Tidak banyak. Tetapi di atas saya menulis banyak nilai yang saya peroleh selama pengembangan proyek. Hal lain yang saya lupa katakan adalah banyak tawaran pekerjaan dari berbagai perusahaan, kecil dan besar, jatuh ke tangan saya. Jika Anda ingin mencari atau mengganti pekerjaan, maka opensource adalah cara yang bagus untuk berbicara tentang diri Anda. Jadi secara keseluruhan, saya merasa menguntungkan. Putuskan sendiri apa yang penting bagi Anda dan tetapkan prioritas. Saya tidak ingin ini berubah menjadi pekerjaan lain, jadi saya tidak fokus pada hal ini. Saya suka open source yang lain - keterbukaan, kebebasan, ideologis, antusiasme, dan motivasi. Saya mungkin akan mengocoknya dan tidak akan mencairkannya dengan uang. Meskipun mungkin saya tidak tahu cara memasak. Mungkin Sitnik akan mengajar.