این ویرگول، ترجمه‌ای خوب و روان (😁) از پستی است که در سایت dev.to دیده شده است. اگر در ادامه با نویسنده مخالف باشم، نظر خودم را هم می‌کنم و اگر این پست را می‌بینید، یعنی مخالفتمان خیلی جدی نبوده است!


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

بله، درست خواندید! این کار را نکنید! هر زبانی، چیزی دارد که برخی با آن مشکل داشته باشند و شما -به عنوان تازه‌کار- جزو آن «برخی» نیستید! یکی را انتخاب کنید و با آن‌ها پیش بروید، تصمیم‌گیری‌های بعدی را انتخاب کنید و در آینده در موکول کنید که بکار می‌روند!

می‌دانم که ناخودآگاه به دنبال پاسخ‌های تیک‌خورده می‌گردید، اما همیشه درست و مناسب شما در آن نیست. دیگر جواب‌ها و حتی کامنت‌ها را بخوانید؛ زیرا در کامنت‌ها هم چیزهای خوبی را متوجه شد.

در هر چالش غیر قابل حل، فرصتی برای چیزهای جدید وجود دارد، پس با چسباندن راه حل، این فرصت را از دست می دهد! سعی کنید شیوۀ کار کد را بفهمید و خوب درک کنید!

مطمئنم که دربارۀ دوزخ آموزش (tutorial hell) شنیده‌اید و هیچ بعید نیست که این اتفاق برای شما بیفتد! اگر یک برنامه‌نویس باتجربه نیست که هدفش از دیدن آموزش، افزایش دانش است، پیش از شروع‌کردن هر دور آموزشی، بررسی کنید که آیا تمرینات عملی در آن وجود دارد یا نه؛ زیرا در تمرین انجام می شود. اگر تمرین هم کافی نیست، باید ذهنتان را فعال کنید و به این پرسش بپردازید که آنچه آموخته است در کجا می‌تواند قابل اجرا باشد.

شاید دردناک به نظر برسد، ولی تحصیلات دانشگاهی در بازار کار یک مزیت به شماره می‌رود و حتی اگر خیلی‌ها مهم نیستند، در عمل چنین برخوردی نمی‌کنند و ممکن است به خاطر «نداشتن بک‌گراند کافی برای نیازمندان‌ها» یک فرصت شغلی را از دست بدهید! همیشه در حال مطالعه و بهبود دانش خود باشید.

مترجم: کتابخواندن سرمایه‌گذاری خوبی است و باعث می‌شود که به جای آزمایش و خطا، از تجارب بزرگان حوزۀ مهندسی نرم‌افزار استفاده کنید. فهرستی از کتاب های خوب را جمع آوری کنید، اولویت بندی کنید و بعد بخوانید. اگر مهارت قابل قبولی در زبان انگلیسی، حتما برای آن وقت بگذارید.

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

مترجم: خواندن کتاب‌هایی مثل Clean Code اثر Robert Martin و Refactoring اثر Martin Fowler می‌تواند بسیار مفید باشد. در هر زبانی، استانداردهایی مربوط به سبک کدها وجود دارد که می‌توانید خود را با آنها وفق دهید.

جاده بسیار باریک است، پس خود را برای رد شدن آماده کنید! ممکن است سه مرحله مصاحبه را بگذرانید، و در آخر بیان کنند که تا نگویید فلان سیستم را چه کسی ابداع کرده است، به مرحلۀ بعد از آن رفت! گاهی مصاحبه و شغل با هم مطابقت ندارد؛ مثلاً در نهایت با ORM کار می کند سؤالات عجیب SQL مطرح می شود، یا اینکه قرار است REST API ساده‌ای بنویسید، اما از شما دربارۀ آن Node.js چگونه ساخته شده است!

قوی و آماده باشید!

هرچه با یک زبان یا کتابخانه، اپلیکیشن‌های CRUDMحور بسازید، کافی نیست! سعی کنید بهتر از سیستم به دست بیاورید، زیرا اگر به جاهای بهتری برسید، احتمالاً ابزارهایی می توانند بسازند که دیگران از آنها استفاده می کنند و دانشی که از این راه به دست می آورند، فوق العاده خواهد بود!

مترجم: خواندن مستندات بسیار بیشتر از آنچه فکر می کنید مفید است. همچنین مضراتی ندارد که گاهی کد فریمورک یا لایبرری‌هایی که از آنها استفاده کنید را بخوانید و از طرز کار آنها در بیاورید بخوانید.

به طور ساده، تفاوت میان Junior و Senior در تجربه است! چیزهای خیلی زیاد برای آموختن هست. گاهی از خود می‌پرسید: چه چیزی بسازم؟ و وقتی با رو به رو شوید، چیزهای باید آموخته شود.

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

مترجم: نوشتن کامنت برای کدهایتان را هم تمرین کنید. پروژه هایتان را مستندسازی کنید، Readme بنویسید و نحوه کار آنها را توضیح دهید.

با توسعه‌دهندگان ملاقات کنید، در رویدادها شرکت کنید، به انجمن ها بپیوندید و با دیگران داشته باشید. در آینده به مشکلاتی می‌رسند و اینها هستند که در را به رویتان باز می‌کنند! شبکۀ اجتماعی Linkedin ابزار مناسبی برای برندسازی و وصل‌شدن به دیگران است.


شما توصیۀ دیگری دارید؟ کامنت بگذار!

اگر دوست داشتی امتیاز دادن یادت نره!