وقتی مادر یک نوزاد تازه متولد شده هستید، برنامه‌نویسی چگونه ممکن است!

شکل ۱: کدنویسی و بچه‌داری
شکل ۱: کدنویسی و بچه‌داری


منتشر‌شده در: freecodecamp به تاریخ ۱۹ فوریه ۲۰۲۱
لینک منبع: How I Find Time for Coding While Raising My Newborn Son

وقتی اولین بچه‌ام به دنیا آمد در کالج بودم. من مطالعات آسیای شرقی و علوم کامپیوتر را مطالعه می‌کردم. "ک" در تعطیلات کریسمس به دنیا آمد، و من به اندازه کافی خوش‌شانس بودم که مادرم او را نگه دارد تا به درسم برسم.

خیلی سخت بود، دروغ نمی‌گویم. حتی با داشتن کمک، کد نوشتن، تمرین ژاپنی، و مطالعه ساختارهای داده -با یک نوزاد (و یک نوزاد مبتلا به قولنج) سخت بود.

من تلاش کردم مفهوم نماد‌سازی Big O را درک کنم (حقیقت این است که پسرم، در حال حاضر ۱۸ سال دارد، از من در مورد آن سوال می‌کند). اما من از آن عبور کردم و با یک GPA تقریبا کامل فارغ‌التحصیل شدم.

پس از آن به علوم کامپیوتر (یا مطالعات آسیایی) نرفتم، اما به جای آن سال‌ها را صرف بزرگ کردن K و سپس دو خواهر کوچک‌ترش کردم، در حالی که پدرشان به عنوان یک مهندس نرم‌افزار شروع به کار کرد. آن سال‌ها سخت بودند، اما جادویی بودند، و من هیچ چیز را برای مدتی که باید با فرزندانم بگذرانم، مبادله نمی‌کردم.

حالا، سال‌ها بعد، من با شریک «جدیدم» شروع می‌کنم. (این در علامت نقل‌قول است زیرا ما بیش از ۱۰ سال است که در این نقطه با هم بوده‌ایم.) ما حالا یک پسر با هم داریم، و من خودم را وقف مطالعه علوم کامپیوتر کرده‌ام. من دوست دارم در حالت سخت بازی کنم! البته چالش بزرگ یافتن زمان برای مطالعه و پروژه‌های کدگذاری است. مادرم در دسترس نیست که از این بچه مراقبت کند، و در حالی که او دارای قولنج یا نفخ نیست، ولی عصبی است (مثل تازه متولد شده‌ها).

من یک برنامه فشرده مهندسی نرم‌افزار آنلاین از طریق Codesmith انجام دادم که درست زمانی که پسرم، R، متولد شده بود، به پایان رسید. (شوخی نمی‌کنم. وقتی که کار تمام شد من برای به دنیا آوردن فرزندم در بیمارستان بودم.) حالا وقت آن است که سعی کنم شغلی در SWE پیدا کنم، اما در عین حال، باید برای به روز نگه داشتن مهارت‌هایم کار کنم-اما چطور؟

شاید به مطالعه مقاله کندترین زبان‌های برنامه‌نویسی دنیا علاقمند باشید.

نصیحت من براساس آنچه که در طول سال‌ها یاد گرفته‌ام، اینجاست.

یک (یا ۲) منبع یادگیری انتخاب کنید و به آن پایبند باشید.

منابع عالی بسیاری برای یادگیری مهندسی نرم‌افزار و تقویت شیوه کدگذاری وجود دارد. بنابراین به راحتی ممکن است گیج شوید. آیا من مشکلاتی را در AlgoExpert تمرین می‌کنم؟ فیلم‌های مسترز فروند را تماشا می کنم؟ با چینگو چیزی درست می‌کنم؟

من تصمیم گرفتم که تا حدی بر روی اساتید بدون‌مرز تمرکز کنم تا درک عمیق‌تری از کارهای داخلی JS و ری‌اکت داشته باشم، تا حدی بر روی تکمیل مشکلات آلگو اکسپرتس و تا حدی بر روی کار بر روی پروژه‌های کدگذاری تمرکز کنم. همچنین یک موسسه غیرانتفاعی پیدا کردم که به داوطلبان مهندسی نرم‌افزار نیاز داشت و سایت‌های نمایشی زنده برای آن‌ها درست می‌کردم. اما من می‌توانم به همان سادگی روی پروژه‌های خودم کار کنم یا یک پروژه منبع باز (open source) برای کمک پیدا کنم.

قبل از شروع روز یک برنامه بریزید.

من ADHD دارم. هنگامی که من سر کار می‌نشینم، بسیار محتمل است که، بدون یک برنامه، شروع به تماشای یک ویدئو بر روی JavaScript کنم، و دو ساعت بعد، با توقف ویدئو، اطلاعاتی در مورد حیوانات کسب کنم. اگر مراقب نباشم پروژه‌ها می‌توانند سه برابر زمان من طول بکشند، فقط به این دلیل که مغزم مرتب در تنگناها پیش می‌رود.

زمانی که من وقت پیدا می‌کنم تا بر رویSWE کار کنم، می‌تواند بسیار محدود باشد، بنابراین باید از آن نهایت استفاده را بکنم. من تصمیم گرفته‌ام که بهترین راه برای انجام این کار، تعیین یک هدف قابل‌دستیابی و قابل‌اندازه‌گیری در ابتدای زمان کار است. برای مثال، ممکن است:

  • نیم ساعت ویدئو را تماشا کنم.
  • یک اشکال را اصلاح کنم.
  • بر روی یک چالش الگوریتم کار کنم.
  • در یک پروژه کمی سبک و سنگین کنیم.
  • در مورد کدم نظر بدهم.
  • مقاله‌های موجود در Medium را بخوانم.

زمانی که ذهنم شروع به پرسه زدن می‌کند، با تمرکز بر روی هدف نهایی خود برای آن دوره زمانی، بر آن غلبه می‌کنم.

با برنامه روزانه کودک کار کنید.

من به طور کلی در صبح بهتر کار می‌کنم، اما نوزاد معمولا کاملا بیدار است، که آن را برای هر چیزی که نیاز به تمرکز عمیق دارد، زمان بدی می‌کند. ممکن است اینجا یا آنجا صبح عجیبی داشته باشم جایی که او یک چرت طولانی غیرمعمول می‌زند و من می‌توانم کارهایی انجام دهم، اما نمی‌توانم روی آن حساب کنم. بنابراین، من برنامه دارم بعد از ظهر یا عصر کار کنم.

در زمانی که بر روی کدنویسی کار نمی‌کنم، سعی می‌کنم تا جای ممکن در کنار پسرم باشم. اگر افکاری در مورد یک مشکلSWE که سعی دارم حلش کنم پیش بیاید، سعی می‌کنم آن را کنار بگذارم تا زمانی که بتوانم توجه کامل خود را به این مشکل معطوف کنم. به این ترتیب، من می‌توانم به طور کامل در کنار پسرم حضور داشته باشم، در حالی که زمان کافی برای تمرکز عمیق بر روی وظایف (های) کدگذاری خود برای آن روز را نیز دارم.

تمرکز بر فن‌آوری‌های مرتبط

در Codesmith، ما در درجه اول از دسته PERN استفاده کردیم. اما همانطور که به الزامات شغلی که به آن علاقه دارم نگاه می‌کنم، در این فکر هستم که چه تکنولوژی‌های دیگری باید یاد بگیرم. آیا باید روبی / ریلز را یاد بگیرم؟ دات نت؟ C# ؟ Django?؟ COBOL?؟ (شوخی میکنم، تقریبا.) این یک موقعیت دیگر است که به راحتی ممکن است گیج شوید، و من برای فقدان تمرکز وقت ندارم!

صرف‌نظر از این که چه چیزهای دیگری در آنجا وجود دارد، من قطعا همه چیز را نمی‌دانم تا در مورد جاوا اسکریپت بدانم و واکنش نشان دهم، بنابراین من سعی می‌کنم، برای الان، تمرکز خود را بر روی چیزی که از قبل می‌دانم، حفظ کنم. اگر یک روند عمده در زبان یا چارچوب دیگری که در مشاغلی که به طور خاص به آن‌ها علاقه دارم استفاده می‌شود را ببینم، آن را به این ترکیب اضافه خواهم کرد.

نتیجه‌گیری

من فکر می‌کنم مهم است که در مورد این صحبت کنیم که وقتی خانواده‌ای داریم، به خصوص به عنوان مادر، و به خصوص به این دلیل که کووید۱۹ بسیاری از زنان را از کار دور می‌کند تا در خانه با فرزندان خود بمانند، چطور با کد نوشتن و زندگی‌مان هماهنگ شویم.

من معتقدم که این امکان وجود دارد که هم والدین فوق‌العاده‌ای باشیم و هم یک مهندس نرم‌افزار عالی با کمی تمرکز و مدیریت زمان.

این متن با استفاده از ربات مترجم مقالات نرم افزار ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.
مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.