من ۲۰ سال پیش اولین شغل خود را به عنوان فریلنسری در دنیای توسعه وب بدست آوردم و هنوز هم پس از گذشت دو دهه مشغول انجام آن کار هستم. وقتی به گذشته نگاه میکنم، متوجه ۴ عادت میشوم که آرزو میکنم ای کاش زودتر آنها را در مسیر برنامه نویس شدن انجام داده بودم.
۱.برنامه نویس شدن نیازمند این است که کارهایتان را بیشتر بصورت خودکار اداره کنید
شما به عنوان یک فریلنسر تنها، بسیار خوب عمل کردهاید و نشان دادید که میتوانید جزئیات و فرایندهای بسیاری را در ذهن خود حفظ کنید. مشتری وظایف تکراری را برای شما معین کرده و هر ماه آنها را انجام میدهید. شما تا حدی پیش رفتهاید که میتوانید تمام آن کارها را به خاطر سپرده و هر بار ۵ دقیقه زودتر آن وظایف را به تمام برسانید.
با وجود تمام ویژگیهای لازم برای ساخت و تمام باگهایی که نیاز به رفع شدن دارند، این سوال بارها و بارها مطرح میشود:
« آیا واقعاً ارزشش را دارد که زمان بگذارید و کارهایی را خودکار کنید که تنها چند دقیقه از وقت شما را میگیرند؟»
نباید به این موضوع با چنین دیدگاهی نگاه کرد، بلکه باید اینگونه به آن فکر کنید:
ممکن است انجام آن فرایند به صورت دستی هر ماه فقط ۵ دقیقه طول بکشد. ساخت اتوماسیون برای آن فرایند میتواند ۳ ساعت زمان ببرد. این کار میتواند زمان لازم برای اجرای فرایند را از ۵ دقیقه به ۳ دقیقه کاهش دهد.
نکته اصلی این است که با خودکار شدن یک فرایند، شما دیگر مجبور به انجام دادن آن نخواهید بود.
در اینجا شما فقط ۲ دقیقه در ماه سود نکردهاید. بلکه ۵ دقیقه شما میتواند به ۰ دقیقه تبدیل شود، زیرا با خودکار شدن آن فرایند، شخص دیگری میتواند با صرف ۳ دقیقه آن کار را انجام دهد. در واقع آن شخص میتواند هر کسی باشد. در چنین شرایطی، هر عضو از تیم میتواند با صرف ۳ دقیقه این فرایند خودکار را اجرا کند. لزومی ندارد که شما تمام کارها را انجام دهید. اگر بیشتر فرایند را خودکار کنید، همه میتوانند همه چیز را انجام دهند و با این کار شما میتوانید بهتر تمرکز کنید.
۲. بیشتر تست کنید
از آنجایی که شما در حفظ کردن همه چیز مهارت دارید، میدانید که با اضافه کردن کدهای جدید باید یک سوئیچ کوچک را تغییر دهید. با این کار مطمئن میشوید که آن کد جدید، چیز دیگری را خراب نمیکند. اما آیا همیشه مطمئن هستید که چیزی را فراموش نکردهاید؟ اگر همکارانتان کدهای خود را اضافه کنند چه؟ آیا آنها از سوئیچهایی که باید فعال شود باخبر هستند؟ مطمئناً آنها مواردی را فراموش خواهند کرد. بنابراین هر بار که کدهای جدید اضافه میشود، شما باید آنها را بررسی کنید.
آزمایش کردن همه چیز به معنای اعتماد به نفس دادن به خودتان است. اینکه مطمئن شوید کد جدیدی که اضافه کردهاید هیچکدام از کدهای قبلی را تحت تاثیر قرار نمیدهد. اطمینان از این خاطر که میتوانید کدهای خود را وارد کرده و با خیال راحت بخوابید؛ نه اینکه شب با ترس از خواب بیدار شوید و مشغول حل کردن مشکلاتی شوید که کدهای جدید ایجاد کردهاند.
نوشتن آزمایشات طول خواهد کشید. همچنین نوشتن تستها به اندازه نوشتن کدهای نهایی جذاب نیست، اما به شما کمک میکند تا ذهن خود را آرام نگه دارید. نوشتن آزمایش به شما کمک میکند تا ابتدا بفهمید که کد مورد نظر چه کارهایی را باید انجام دهد. سپس میتوانید به دنبال علت و راهحل بگردید.
آزمایش کردن همه چیز به معنای فضا دادن به خودتان است. به ذهن خود فضای کافی را بدهید تا بتواند بر روی ریکاوری و بهبود کد تمرکز کند. شما دیگر نیازی به چک کردن سوئیچها ندارید تا مطمئن شوید کدهای جدید درست عمل میکنند، زیرا آزمایشات شما این کار را انجام خواهند داد. حالا شما فضای کافی را برای ریکاوری کدهای خود دارید.
با آزمایشات خودکار، هر شخصی میتواند کدهای خود را به اشتراک بگذارد و هر کسی هم میتواند تستها را انجام دهد. شما با اعتماد به نفس بیشتری میسازید، بررسی میکنید و با اطمینان بیشتری نسخه نهایی را خلق خواهید کرد.
۳. به دیگران بیشتر اجازهی ورود دهید
وقتی در دانشگاه پروژههای گروهی را انجام میدادیم، همه میدانستیم که کدهایمان مشکل دارد. هیچکدام از ما نمیدانستیم که چه کار میکنیم. در آن زمان اشکالزدایی ما فقط کار کردن با خطوط کد به امید درست شدن یک چیز بود.
به عنوان یک فریلنسر تنها، چشمهای شما ۱۰۰٪ کد را میبیند. این احتمال وجود دارد که کدها تنها با چشمان شما دیده شدهاند و به خوبی در ذهن شما درک نشدهاند. همین میتواند سبب ترس و احساس ناامنی شود. همین ترس و ناامنی سبب خواهد شد تا شما از دیگران کمک بخواهید، یک تیم بسازید و دیگران را به میدان بیاورید. این بدان خاطر است که هرگز تصور نمیکنید کد شما کاملا آماده بوده و میتواند برنامه نویسان دیگر را تحت تاثیر قرار دهد. شما فکر میکنید که قرار است آنها از شما و کدی که نوشتهاید انتقاد کنند.
این ترس و ناامنی شما را به شدت محدود میکند. فرصتهای کاری، یادگیری از دیگران، توانایی رشد و شرکت در پروژههای گروهی محدود میشود. بنابراین این عادت را در خودتان به وجود آورید و دیگران را بیشتر در کارهای خود شریک کنید. از برنامه نویسان دیگر بخواهید تا نگاهی به کدهای شما بیاندازند. در مسیر برنامه نویس شدن غرور را کنار بگذارید و این واقعیت که کد شما بی نقص نیست را بپذیرید و انتظار اشکال گرفته شدن از کدهای خود را داشته باشید. مطمئناً کدهای همان برنامه نویسان نیز در برخی نقاط اشکال خواهد داشت. سپس از انتقادهای سازنده استفاده کرده و بوسیلهی آنها رشد کنید.
هنگامی که شروع به برنامه نویس شدن میکنید، متوجه یک موضوع خواهید شد. شما از دیگران میخواهید تا به شما چند روز بیشتر وقت دهند تا بتوانید کد خود را بهبود ببخشید. از نظر من شما هرگز نباید این کار را انجام دهید. کدهای شما همیشه جایی برای بهبود خواهند داشت و هرگز نمیتوان با یقین گفت که کاملا آماده هستند. شما همیشه زمانی بیشتری میخواهید تا آن را آماده کنید. این واقعیت را بپذیرید که کد شما هرگز عالی و بی نقص نخواهد بود. تنها کاری که باید انجام دهید این است که کد خود را با تمام خوبیها و بدیهایش قبول کنید. سپس از یک نفر بخواهید تا آن را بررسی کند.
هر چه این کار را زودتر و بیشتر انجام دهید، کدهای شما نیز بهبود پیدا خواهند کرد. این بدان دلیل است که شما عادات و کاستیهای خود را در کدنویسی پیشبینی خواهید کرد. شما متوجه میشوید که چه عاداتی در کدنویسی سبب میشود تا بازدیدکنندگان از کدهای شما اشکال بگیرند. آیا پاسخگویی و مسئولیتپذیری فوقالعاده نیست؟
۴. بیشتر آموزش دهید
شما با مشکلات خاصی در برنامه نویسی روبرو خواهید شد و برای یافتن راهحل آن در وب به جستجو میپردازید. همیشه با این روش نمیتوان به راهحل رسید. در عوض شما باید مدارک و اطلاعات افراد دیگر را مطالعه کرده، با کارکرد تنظیمات مختلف آشنا شده و در مورد مشکل مورد نظر خلاقانه فکر کنید. با این کار میتوانید مشکلات پیش روی خود را کنار بزنید.
سپس میتوانید به سراغ مشکل بعدی بروید. شما در دنیایی هستید که همه بر سر دانش با یکدیگر جنگ دارند. ممکن است بعدها یک برنامه نویس با همان مشکلی روبرو شود که شما آن را حل کردهاید. بنابراین پس از تلاش کردن و زمان گذاشتن برای کسب مهارت در حل این مشکل، اجازه ندهید که این دانش به راحتی هدر برود. آموختههای خود را به دیگران نیز بیاموزید.
حال ممکن است این دانش در مورد نوشتن یک مقاله آموزشی یا یک پست وبلاگ باشد. اما باید این کار را انجام دهید. آنها از آموختههای شما سود خواهند برد، بنابراین این فرصت را از آنها نگیرید. این موضوع به نفع شما هم خواهد بود. وقتی میخواهید چیزی را آموزش دهید، راهحل خود را حتی بهتر از زمانی که آن را طراحی کردهاید یاد خواهید گرفت. سپس نسبت به آن مشکل آگاهتر میشوید و آن را درک خواهید کرد. شما راهحل اولیه خود را بهینه میکنید. همچنین در مورد نحوهی برقراری مفاهیم عمیق و پرمعنا با افراد مبتدی اطلاعات بسیار خوبی را بدست خواهید آورد.
شما راهحلهای فوقالعادهای را برای حل مشکلات دشوار پیدا خواهید کرد. این همان کاری است که برای مشتریان خود انجام میدهید. همچنین میتوانید این موضوع را در بخشهای خاصی از کد نیز پیادهسازی کنید. وقت بگذارید و تاثیر ارزش خود را بالا ببرید. اکتشافات خود را با روشی آموزنده به اشتراک بگذارید تا همه بتوانند آن را به آسانی یاد بگیرند. شما میتوانید دیگران و حتی خودتان را به یک متخصص تبدیل کنید.
جمعبندی
شما باید در این سفر عاقلانه عمل کنید. رسیدن به موفقیت مسیری آسان نخواهد بود. برای رسیدن به جایگاه دلخواه خود باید از موانع بسیاری عبور کنید. اگر میخواهید برنامه نویس خوبی شوید، این ۴ مورد را حتماً یادداشت کنید:
بیشتر کارها را خودکار انجام دهید
بیشتر تست کنید
دیگران را بیشتر دخیل کنید
بیشتر آموزش دهید
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید