بلاگ

فقط 14 میلیون دلار؛ کمک مالی ناچیز پولدارترین مرد چین برای مبارزه با ویروس کرونا

جک ما (Jack Ma) رییس هیئت مدیره پیشین گروه علی بابا، 14.5 میلیون دلار برای ساخت واکسن ویروس کرونا اهدا کرد. وی پولدارترین فرد چین است و این مبلغ در ازای ثروت هنگفت وی (41.8 میلیارد دلار) بسیار ناچیز است. …

نوشته فقط 14 میلیون دلار؛ کمک مالی ناچیز پولدارترین مرد چین برای مبارزه با ویروس کرونا اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

سال گذشته فروش تلفن های هوشمند هواوی از اپل بیشتر بوده است

طبق گزارش هایی که موسسات Strategy Analytics، Countrtpoint Research و Canalys منتشر کرده هواوی توانسته با کنار زدن اپل جایگاه دوم پرفروش ترین تولیدکنندگان موبایل در دنیا را طی سال ۲۰۱۹ به خود اختصاص دهد. در طول این بازه زمانی …

نوشته سال گذشته فروش تلفن های هوشمند هواوی از اپل بیشتر بوده است اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

با سایبرفون آشنا شوید؛ ترکیبی از سایبرتراک تسلا و آیفون 11 پرو

اپل و تسلا دو شرکت مطرح آمریکایی هستند که محصولاتشان در سراسر دنیا هواداران زیادی دارد و شرکتی روسی به نام Caviar که در زمینه تولید لوازم جانبی لوکس فعالیت دارد در تازه ترین نسخه سفارشی سازی شده خود از آیفون …

نوشته با سایبرفون آشنا شوید؛ ترکیبی از سایبرتراک تسلا و آیفون 11 پرو اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

تعطیلی یکی از زیرمجموعه های آواست که اطلاعات کاربران را می فروخت

چند روز پس از آنکه مشخص شد شرکت نرم افزاری آواست دیتای مربوط به مرور وب کاربرانش را جمع آوری و آنها را به شرکت های تبلیغاتی می فروشد، این شرکت اعلام کرد، یکی از زیرشاخه های خود را که …

نوشته تعطیلی یکی از زیرمجموعه های آواست که اطلاعات کاربران را می فروخت اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

مسکو به سیستم تشخیص چهره لایو مجهز می شود

براساس گزارش نشریه روسی Vedomosti خیابان های مسکو به دوربین های تشخیص چهره لایو مجهز می شوند. طبق اعلام سرگی سوبیانین شهردار مسکو این تکنولوژی از اوایل همین ماه به صورت گسترده و انبوه در شهر نصب شده است. این خبر …

نوشته مسکو به سیستم تشخیص چهره لایو مجهز می شود اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

آدیداس با پارچه‌ صددرصد پلی استر بازیافتی با زباله‌های پلاستیکی مبارزه می‌کند

آدیداس در همکاری با سازمان پارلی (Parley) از دو پارچه جدید که به طور صد درصد از پلی استر بازیافتی تشکیل شده اند، رونمایی خواهد کرد. آدیداس وعده داده که تا سال 2024 فقط از پلی استر بازیافتی در کفش …

نوشته آدیداس با پارچه‌ صددرصد پلی استر بازیافتی با زباله‌های پلاستیکی مبارزه می‌کند اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی

۱۰ نشانه از خرابکاری در برنامه نویسی

نشانه هایی از خرابکاری در برنامه نویسی و راه های جلوگیری از آن

من اغلب سوالات مربوط به Reddit یا Quora را در زیر خط “چگونه می دانم که به عنوان برنامه نویس موفق شوم؟” می بینم (در حقیقت این پست به پاسخی که من در مورد Quora دادم افزوده می شود.) وقتی شخصی در نظر دارد تغییر شغلی ، یا به توسعه نرم افزار علاقه مند است و از آنچه در آن می خواهد کنجکاو باشد ، به ناچار سوال برنامه نویسی مطرح می شود.
در واقع ، من فکر می کنم این مانع اصلی برای ورود در ذهن افراد است که هیچ گونه آموزش رسمی در زمینه محاسبات نداشته باشند. طبیعی است که فکر کنید اگر شما در برنامه نویسی خوب نیستید ، پس میل شما یک مبتدی نیست. اگر می خواهید بازیگر باشید و تعجب کنید که آیا بازیگری خوبی دارید ، مانند این است که مانند آن است.
من به عنوان یک مدرس که تدریس وب کامل استک را آموزش می دهد ، بسیاری از برنامه نویسان “بار اول” را آموزش داده ام. و خبر خوب این است که من به ندرت دانشجویی پیدا کرده ام که نمی تواند یاد بگیرد برنامه نویسی کند. من آن را به عنوان یک مهارت اساسی انسانی ، درست مثل خواندن ، نوشتن و حساب حس می بینم. هر کسی می تواند این کار را انجام دهد ، بخشی از ظرفیت های انسانی ما است ، اما باید آموخته شود.
در طی دو سال گذشته تدریس ، شاهد مبارزات مختلف دانش آموزان در این فرایند و برخی مضامین مشترک در مبارزات آنها هستیم. اگر به این لیست نگاه کنید و آنها را در خود ببینید ، مطمئن باشید ، واقعاً در برنامه نویسی خواهید خورد و احتمالاً باید کاری دیگری برای ارتباط با وقت خود پیدا کنید. اما اگر هنوز به هدف خود برای تبدیل شدن به یک توسعه دهنده متعهد هستید ، می توانید به راحتی با این موضوعات روبرو شوید و تغییر دهید.
برنامه نویسی یک مهارت اساسی انسانی است ، درست مانند خواندن ، نوشتن و حساب. هر کس می تواند یاد بگیرد که با زمان و تلاش برنامه نویسی کند.
لیست زیر به شما کمک می کند بدانید که در برنامه نویسی مکیده اید – و اگر می خواهید تغییر دهید چه کاری می توانید انجام دهید.

۱ | کمبود کنجکاوی
اگر کنجکاوی در مورد رایانه ها و نحوه کار فناوری نداشته باشید ، هرگز به عنوان یک برنامه نویس موفق نخواهید شد.
یک نیاز اساسی برای یادگیری علاقه فعال به چیزی است که شما می آموزید. اگر فکری برای فن آوری کنجکاوی ندارید ، در یادگیری دانش گسترده و عمیق مورد نیاز برای داشتن یک برنامه نویس موفق ، انرژی لازم را برای ادامه آن ندارید.
در مقابل ، دنیای فناوری مانند اقیانوس عظیمی از حوزه های جالب ، ایده های به هم پیوسته و امکاناتی است که می تواند تخیل را برانگیزد. این انگیزه ذاتی داخلی را می طلبد که بخواهید در آن غواص شوید و هرچه را می توانید کشف کنید.
کنجکاوی خود را پیدا کنید: از خود بپرسید که آیا برنامه نویسی واقعاً به شما علاقه دارد؟ اگر پاسخ صادقانه شما این است که اینگونه نیست ، بروید چیزی را که به آن علاقه دارید پیدا کنید. در وقت و انرژی خودتان را ذخیره کنید. اما اگر پاسخ شما “بله” است ، به خود فشار دهید که چیز جدیدی را که قبلاً متوجه آن نشده اید ، اقیانوس پهناور را بشناسید و کمی عمیق تر فرو شوید.

۲ | عدم استقلال و توانمندی
اگر توانایی حل مشکلات برای خودتان را ندارید ، هرگز به عنوان یک برنامه نویس موفق نخواهید شد.
بدون شک ، برای اینکه یک برنامه نویس موفق باشید ، باید به توانایی OWN در یادگیری خود اطمینان داشته باشید. این در واقع یک مهارت اساسی در زندگی است – اگر شما بالای ۱۸ سال دارید ، هیچ کس موظف نیست چیزی را به شما یاد دهد. این واقعیت است این اطلاعات برای شما و کمک به شما لازم است تا بدانید که چه چیزی برای شما مهم است را پیدا کنید.
در دنیای توسعه ، تمام اطلاعات مورد نیاز شما در آن مکان جادویی که سابقاً به عنوان بزرگراه اطلاعات معروف شناخته می شود ، یافت می شود. این کتابخانه عظیم دارای یک درگاه بزرگ: Google. یادگیری این مسئله که می توانید به سادگی هر آنچه را که می خواهید در گوگل تایپ کنید و به اطلاعات مورد نیاز خود برسید ، اولین موانعی است که وقتی می خواهید مهارت های مورد نیاز برای فن آوری را یاد بگیرید ، عبور می کند.
علاوه بر این که یک گوگل خوب است ، تمام زبان های برنامه نویسی دارای اسناد و مشخصات هستند که در مورد نحوه کار این زبان کاملاً صریح است. این مانند استفاده از یک فرهنگ لغت است – وقتی کلمه ای را می شناسید که نمی شناسید ، آن را جستجو می کنید. سریعترین ، مطمئن ترین راه برای ایجاد مهارت خود به عنوان یک برنامه نویس ، خواندن اسناد به سادگی است. به معنای واقعی کلمه وجود دارد
از منابع استفاده کنید: تشخیص دهید که تمام پاسخ های مورد نیاز شما واقعاً در آنجا هستند. وقتی سؤالی دارید ، قبل از پاسخ دادن به شخص دیگری برای پاسخ دادن به آن ، مجبور شوید که آن را google کنید و مدارک را بررسی کنید. در وقت دیگری که سعی کرده اید و واقعاً نتوانسته اید جواب مورد نیاز خود را پیدا کنید ، وقت دیگران را صرفه جویی کنید.

۳ | عدم تداوم در مواجهه با مشکل
اگر در مواجهه با مشکلات به راحتی تسلیم شوید ، هرگز به عنوان یک برنامه نویس موفق نخواهید شد.
جوهر برنامه نویسی حل مشکلات است. این دلیل تمام اختراعات رایانه هاست! هر وقت شروع به کار بر روی یک برنامه کردید ، با “پشته” ای از مشکلات روبرو می شوید. و هنگامی که شما یک مشکل را حل کردید ، تقریبا همیشه همیشه مشکل دیگری وجود دارد. شما در حال پیشرفت هستید ، اما همیشه مشکلات جدیدی برای پیش روی دارید.
مواجهه با آن دسته از مشکلات می تواند دلهره آور و دلسرد کننده باشد. اگر احساس می کنید چیزهایی باید “فقط کار کنند” ، پس از ادامه مشکلات ، انرژی لازم را برای ادامه کار ندارید و کم کم عزم عاطفی خود را کم می کنید. این به معنای واقعی کلمه وظیفه شماست که بفهمید چرا کارها کار نمی کنند.
از تجربه درون کلاس من ، معمولاً در هر کلاس یک یا دو دانش آموز وجود دارند که به نظر می رسد برای مواجهه با مشکلات بیشتر نسبت به سایر دانش آموزان – که اغلب مشکلات کاملاً تصادفی و مبهم هستند ، به سختی برخورد می کنند. به دانش آموز یادآوری می کنم که هرچه بیشتر مشکلات پیش روی آنها باشد ، امکان یادگیری عمیق تر و کامل تر افزایش می یابد. اگر بتوانند از طریق این مشکلات درک کنند ، به سرعت متوجه خواهند شد که اعتماد به نفس بیشتری دارند زیرا با مشکلات بیشتری نسبت به دانش آموز متوسط ​​روبرو شده اند و حل کرده اند.
پذیرش بیمار: شما باید تشخیص دهید که مشکلات با قلمرو آمده و مشکلی نیست ، بلکه در واقع چالش هایی است. هر مشکلی که با آن روبرو هستید و بر آن غلبه کرده اید ، درک عمیق تر و توانایی بهتری برای مواجهه با چالش های جدید را به شما می دهد و سریع مشکلات قدیمی را حل می کند.

۴ | هیچ احساس موفقیت در غلبه بر یک مشکل نیست
اگر بعد از حل مسئله احساس هیجان و موفقیت نداشته باشید ، هرگز به عنوان یک برنامه نویس موفق نخواهید شد.
در رابطه با شماره قبلی تسلیم بیش از حد آسان ، فقدان “احساسات خوب” است پس از حل مشکل با موفقیت. وقتی رفع اشکالات و مشکلات به یک تردمیل تبدیل می شود که به نظر نمی رسد هرگز به پایان برسد ، با هیجان ناشی از غلبه بر یک مشکل ، تماس خود را از دست می دهید.
در واقع یک ضربه دوپامین است که هنگام غلبه بر یک مشکل به آن نیاز دارید. این شبیه به تجربه تکمیل سطح در یک بازی ویدیویی یا حل چالشی مانند جدول کلمات متقاطع یا سودوکو است. همه ما می دانیم که احساس خوبی وجود دارد که از ادامه آن در یک چالش ناشی می شود و در آخر برنده می شود. اما اگر توانایی احساس کردن آن احساسات را از دست داده اید یا در وهله اول هرگز به آن اهمیت نمی دهید ، نمی توانید شادی هایی که از برنامه نویسی حاصل می شود را تجربه کنید. اگر برنامه نویسی را به عنوان یک آسیاب در جایی می بینید که می خواهید نتیجه ای را به آسانی به دست بیاورید ، هرگز یک برنامه نویس موفق نخواهید بود.
جشن گرفتن برنده های خود را: هر زمان که مشکلی را که با آن دست و پنجه نرم کرده اید حل کنید ، هر چقدر هم که کوچک باشد ، همیشه به موفقیت خود افتخار کنید ، استراحت کنید و به خودتان بخاطر کاری که انجام داده اید تبریک می گویم. بگذارید احساس موفقیت غرق شود و شما را برای مشکل بعدی که با آن روبرو هستید ، انرژی بخشد.

۵ | نسبت به یادگیری و درک بی صبرانه
اگر نسبت به یادگیری بی تاب هستید و انتظار دارید سریع و بدون زحمت به همه چیز تسلط داشته باشید ، هرگز در برنامه نویسی واقعاً موفق نخواهید شد.
ما به عنوان انسان موجودات محدود هستیم. حتی اگر دنیای ما سریعتر و سریعتر حرکت کند ، و رایانه ها دلیل اصلی این امر هستند ، ما فقط می توانیم به همان سرعت ممکن حرکت کنیم. مغز ما با سرعتی مشخص کار می کند و بسته به گذشته ، اعتقادات ما ، حالات عاطفی ما ، سلامتی ما … همه ما با سرعت های مختلف یاد می گیریم و یکپارچه می شویم.
دنیای فناوری مانند اقیانوس وسیعی است. شما هرگز به انتهای آن نخواهید رسید ، هرگز به جایی نخواهید رسید که استاد هستید و هیچ چیز دیگری برای یادگیری ندارید. اگر به خود اجازه دهید بیش از حد غرق شوید ، همیشه فشاری خواهید داشت که “گرفتار شوید” و احساس می کنید که هرگز به اندازه کافی نمی دانید. اگر نتوانید آنچه را که می دانید بپذیرید و کمی بیشتر یاد بگیرید ، احساس خواهید کرد که به هیچ جا نمی رسید و تسلیم می شوید.
درعوض ، شما باید از سفر یادگیری برای خود لذت ببرید. هر دانش کمی که به دست می آورید یا مهارت جدیدی که به دست می آورید باید شما را هیجان زده کند. مانند حل مشکلات ، شما باید به خودتان احساس غرور بدانید که یک قدم به جلو برداشته اید ، حتی اگر کوچک باشد.
پیشرفت خود را تأیید کنید: برای یادگیری چیزهای زیادی وجود دارد و سفر برنامه نویسی هرگز به پایان نمی رسد. اما دانش تجمعی است ، پس به آنچه می دانید به آن افتخار کنید و اعتماد کنید که هر کوششی که در یادگیری خود انجام می دهید ، پایه و اساس محکمی از دانش را برای هر کجا که حرفه شما به شما می بخشد ، ایجاد می کند.

۶ | از فکر کردن خسته / خسته می شوید
اگر در تفکر تنبلی داشته باشید و تفکر متمرکز و متمرکز را به عنوان یک کار اجباری تلقی کنید ، هرگز در برنامه نویسی واقعاً موفق نخواهید شد.
برنامه نویسی یک فعالیت تفکر است. ما به عنوان انسان واقعاً در فکر کردن خوب هستیم ، اما واقعیت این است که حتی اگر ما به طور طبیعی تمام روز را صرف انجام آن می کنیم ، در فکر خود تنبل هستیم. اگر شما به آن عادت ندارید ، توانایی حفظ تلاش متمرکز و متمرکز بر روی یک مشکل واحد برای یک دوره زمانی دشوار است.
علائم این امر عبارتند از خیره شدن خالی روی صفحه ، احساس ابر در افکار خود ، احساس تعویق در یک مشکل ، تلنگر بین زبانه های مرورگر ، و اسکن ناخواسته StackOverflow برای “پاسخ”. این نشانه هایی است که شما به یک محدودیت ذهنی رسیده اید و باید راهی را پیدا کنید.
در حین برنامه نویسی ، شما خسته می شوید و فکر می کنید به معنای واقعی کلمه انرژی بدن را مثل ورزش بدن ما می سوزاند. وقتی عادت ندارید انرژی ذهنی مورد نیاز خود را بکار بگیرید ، می توانید تمرکز خود را احساس کنید. اما این دقیقاً مثل رفتن به سالن بدنسازی است ، هرچه این کار را انجام دهید ، قوی تر خواهید شد.
ذهن شما یک ماهیچه است: اطمینان داشته باشید که مغز شما مانند عضله است – هرچه از آن استفاده می کنید ، در تفکر بهتر و کارآمد تر می شود. هرچه قطعات را کنار هم قرار می دهید و مفاهیم ذهنی را توسعه می دهید ، کشف راه حل ها بسیار ساده تر می شود.

۷ | ناتوانی در فکر کردن برای خودتان
اگر انتظار دارید دیگران برای شما فکر کنند و مایل نیستید که جزئیات وضعیت خودتان را بررسی کنید ، هرگز یک برنامه نویس واقعاً موفق نخواهید بود.
هنگامی که شما در حال یادگیری چیزهای جدید هستید ، به راحتی احساس می کنید که فاقد دانش و تجربه برای داشتن نظرات خود باشید. ابتکار عمل یا انجام دادن / گفتن کار اشتباه ، خطرناک به نظر می رسد.
ترس ذاتی همه ما از اشتباه بودن وجود دارد. هنگامی که این ترس از اشتباه ، اکتشاف و کنجکاوی شما را مهار می کند ، شما توانایی رشد دانش واقعی ، دانش را که از تجربه و “شکست” حاصل می شود ، خنثی می کنید. هنگامی که شما نیاز به تکیه بر نظر “گورو” ، یک وبلاگ نویس محبوب ، بهترین تمرین یا پاسخ “کتاب درسی” دارید ، در واقع دانش کار برنامه نویسی را یکپارچه نکرده اید.
شما باید نظرات خودتان را در مورد کارهایی که انجام می دهید و چه چیزی انجام نمی دهید ، پرورش دهید. شما باید درک کنید که چرا فکر می کنید راه حل شما مؤثر است و فواید آن چیست. شما باید یک چشم انداز ظریف را توسعه دهید که فراتر از آنچه آشکار است ، باشد. باید بتوانید طرف خود را “استدلال کنید” ، و پس از آن اگر تغییر کنید ، می توانید دیدگاه جدیدی را که به دست آورده اید ، صاحب خود کنید.
برای خود فکر کنید: از طریق تجربه و مهارت های تفکر انتقادی ، دیدگاه های خود را توسعه دهید. حدس های معقول را ایجاد کنید ، موضع گیری کنید و با افشای اطلاعات جدید حاضر به تغییر می شوید.

۸ | تفکر سفت و تنگ ، باریک و یا بی نظم
اگر در فکر خود سفت و سخت هستید ، و در ساماندهی کد خود مشکل دارید – و با تمرکز افکار خود را سازمان یافته و متمرکز کنید ، هرگز در برنامه نویسی موفق نخواهید شد.
دو افراط وجود دارد که گاهی اوقات در دانشجویان می بینم. اولین رویکرد سفت و باریک به تفکر است. این نگرش از امتناع امتناع می ورزد ، و با وجود بازخورد ، تغییر نمی کند. چیزها فقط از یک منظر دیده می شوند ، و پیشنهادات نادیده گرفته می شوند.
دومین افراطی که من می بینم تفکر نامشخص است. به نظر می رسد دانش آموزان مسائل را پیچیده تر از حد ضروری می کنند ، کد آنها کثیف و سخت است که از آنها پیروی کنید. آنها مشکلات را برانداز می کنند و ۱۰۰ خط کد را می نویسند ، هنگامی که ۱۰ کافی باشد.
وقتی این دو ذهن با هم ترکیب شوند ، نتیجه یک رویکرد صعودی برای برنامه نویسی است ، مانند یک رویکرد نیروی بیرحمانه که منجر به لایه ها و لایه های رفع و “هک” می شود. آنچه مورد نیاز است توانایی برگشت به محلول ، ارزیابی مجدد از آن ، کنار گذاشتن رویکرد اولیه و سازماندهی مجدد است.
عدم مشاهده سایر امکانات یا دریافت بازخورد مانع از رشد و پیشرفت می شود. بی نظمی بودن شما را کند می کند و مانع از دیدن الگوی هایی می شود که در غیر این صورت آشکار خواهد بود. و از کیفیت کلی کار شما کاسته می شود.
بازتاب خود: باید قدمی به عقب بردارید و به تصویر بزرگتر نحوه نزدیک شدن به امور نگاه کنید. چگونه می توانید این کار را بهتر انجام دهید؟ آیا کاری برای انجام زندگی تان آسانتر است؟ چه چیزی گمشده اید که می تواند به شما کمک کند؟

۹ | به جای تشخیص طیف پاسخ های “خوب” و “بد” نیاز به پاسخ “درست” دارید
اگر هدف نهایی برنامه نویسی را پیدا کردن راه حل مناسب و نه طیفی از راه حل ها می دانید ، هرگز به عنوان یک برنامه نویس موفق نخواهید شد.
دانش آموزان هنگام شروع یادگیری مهارت ها یا برنامه نویسی ، می خواهند بدانند که کاری که انجام داده اند “درست” است. جواب همیشه “این بستگی دارد”
علوم رایانه علمی برای ارزیابی معاملات است. با توجه به شرایط مختلف ، کدام یک مسیر بهتری خواهد بود؟ همه اینها به شرایط و اهداف بستگی دارد. هنگامی که برنامه نویسی را به عنوان یک آزمون با جواب درست یا با جواب اشتباه می بینید ، از تصویر بزرگتر کم می کنید و خلاقیت خود را رها می کنید. اگر بتوانید با توجه به شرایط موجود ، آن را توجیه کنید ، می تواند هرگونه پاسخ صحیح باشد.
واقعیت این است که برنامه نویسی بیشتر شبیه نوشتن شعر یا داستان کوتاه است (یا اگر رمان ها به صورت بالقوه رمان باشند). زیبایی و زیبایی وجود دارد که در کد شما دیده می شود و گاهی اوقات فقط توسط شما و دیگر برنامه نویسان قابل تشخیص است. دلایلی که در مورد راه حل خود تصمیم گرفتید ، و نحوه درک پاسخ خود را از “راه درست” یا “روش اشتباه” مهمتر می کنید. داشتن ذهن یک هنرمند به شما امکان می دهد با گزینه ها و امکانات بازی کنید ، نه اینکه فکر کنید تنها یک راه وجود دارد. این زیبایی برنامه نویسی است ، روش های زیادی برای حل یک مشکل وجود دارد و در نظر گرفتن امکانات مختلف باعث می شود این احساس به وجود بیاید که کدام راه برای وضعیت بهتر است.
دریافت خلاقیت: تصدیق کنید که روش های بیشماری برای حل یک مشکل وجود دارد ، و از طریق تجربه و قرار گرفتن در معرض ، شما می توانید اضافه کاری از مدت زمان طولانی درک درستی ایجاد کنید که در مورد کدام یک از راه حل ها بهتر از دیگران باشند. با نگاه به تصویر بزرگ ، تصور کردن امکانات مختلف و اعتماد به روده شما منجر به راه حل های بهتری خواهد شد که رضایت بخش تر باشد.

۱۰ | عدم توجه دقیق به جزئیات
اگر به جزئیات بپردازید و از چیزهای کوچک غافل شوید ، هرگز یک برنامه نویس واقعاً موفق نخواهید بود.
رایانه ها دستگاه های دقیقی هستند. وقتی نوبت به برنامه نویسی رایانه می رسد ، باید دستورات لازم را دقیقاً به روشی که یک کامپیوتر انتظار دارد ارائه دهید. اگر این کار را نکنید ، هیچ کاری مؤثر نخواهد بود. وجود وسط جایی نیست که بیشتر کارها باشد – یا این کار را می کند یا نمی کند.
این بدان معناست که هنگام برنامه نویسی باید به جزئیات توجه کنید. هر فضا ، براکت یا نیم کلنی به حساب می آید. وقتی از جای خود خارج شوید ، هیچ چیز کار نخواهد کرد. هنگامی که کامپیوتر پیام خطایی را برگرداند ، باید بتوانید به آن پیام نگاه کنید و دقیقاً آنچه را که به شما می گوید را بفهمید. و واقعیت این است که اگر جزئیاتی از این دست را از دست می دهید ، می توانستید ساعت ها برای ردیابی مشکلی صرف کنید که به معنای واقعی کلمه نتیجه تایپی بود.
همانطور که می گویند شیطان در جزئیات است. و این قطعاً برای برنامه نویسی صادق است.
به جزئیات توجه کنید: جزئیات مهم است و باید آن را بپذیرید. پس از انجام این کار ، می توانید همیشه کد خود را برای هر چیزی که غیر از مکان باشد اسکن کنید. می توانید کد خود را سازماندهی کرده و از ابزارهایی استفاده کنید که به شما در شناسایی سریع مسائل کمک می کند.
جایزه: با فکر و شغل
این یک مشاهده جانبی است که من متوجه شده ام – دانش آموزانی که بخصوص اهل تجارت هستند ، غالباً بر روی نتیجه متمرکز می شوند تا فرایند. آنها می خواهند یک “برنامه کار” ایجاد کنند که آنها را به سمت ایده های تجاری خود سوق دهد ، آنها می خواهند “ابتدا وارد بازار شوند” ، و منحنی یادگیری را به عنوان مانعی برای رسیدن به هدف خود برای شروع فعالیتشان می بینند.
با تأمل در مورد دانش آموزانی که کمک به آنها به عنوان برنامه نویسان برای رشد دشوار بود ، من بی تاب و بی حوصله ای با روند جلوگیری از یادگیری مورد نیاز برای درک واقعی فناوری را پیدا کردم. آنها تمایل دارند فناوری را به عنوان ابزاری برای رسیدن به هدف ، و نه از یک حوزه مشروعیت دانش که باید از آن کاوش و بهره مند شوند ، ببینند.
بعنوان یک برنامه طبیعی برای این ، من دانش آموزان خاصی را پیدا کرده ام که مشاغل بیشتری دارند و با یادگیری آنها تلاش می کنند ، اغلب به سرعت موکلان مستقل کار را برای کار ثبت نام کردند که آنها واقعاً مهارت های خود را ندارند! آنها برای یافتن منابع / قالب ها تلاش می کنند تا پروژه ای را برای مشتری کار کنند ، یا کار را به شخص دیگری تحویل دهند. آنها واقعاً در برنامه نویسی می خوردند ، اما در اینکه مردم بتوانند آنها را برای برنامه پرداخت کنند شگفت آور بودند!
بنابراین آنچه من اضافه خواهم کرد این است که دانشجویانی که مایل به راه اندازی مشاغل هستند ، در فروش ، شبکه سازی و توسعه کسب و کار بسیار عالی هستند و ممکن است بیشتر از دیگران برای یادگیری مهارت مهارت برنامه نویسی تلاش کنند. تمایل طبیعی آنها برای ایجاد فرصت های مالی و پیوند مردم با راه حل ها ، باعث می شود آنها با جزئیات خسته کننده ای که در برنامه نویسی درگیر هستند بی تاب باشند.
نتیجه
در حالی که برنامه نویسی می تواند یک مهارت دشوار برای یادگیری باشد ، مطمئناً یکی از مواردی است که بیشتر افراد می توانند یاد بگیرند. لیست فوق شامل نگرش ها و ذهنیت هایی است که در این راه قرار دارند ، اما بیشتر افراد می توانند بر آنها غلبه کرده و در حوزه برنامه نویسی – در صورت تسلط نبودن – پیشرفت کنند.
اگر به یادگیری برنامه ریزی علاقه دارید ، من شما را تشویق می کنم تا سفر را شروع کنید. لیست بالا را در خاطر داشته باشید و بسیاری از منابع موجود را بصورت آنلاین بررسی کنید که می تواند شما را به سرعت در جلو حرکت دهد. پشیمان نخواهید شد.

نوشته ۱۰ نشانه از خرابکاری در برنامه نویسی اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

شروع چالش 100 روز کد زدن

از وقتی تو ویرگول اومدم خواستم در مورد برنامه نویسی (کار مورد علاقم) چیزی بنویسم که با توصیه یکی از دوستان تو این چالش شرکت کردم.

در مورد کار مورد علاقم باید بگم که برای اولین بار با دیدن یک سری نوشته های رنگی ، فکرم این بود که این ها در مورد چیه ؟؟ چیکار میکنه ؟ ما باهاش میتونیم چه کارهایی انجام بدیم ؟ چه تغیراتی تو زندگیمون میشه به وجود آورد؟

اما همش ترس این بود که نفهممش یا درکش نکنم اما همیشه باید با ترس ها مقابله کرد برای همین بعد گذروندن تو رشته ای که هیچ ربطی به کامپیوتر نداشت به سمت کار مورد علاقم اومدم و حالام اینجام که این

چالش باحال رو انجام بدم که مسیرم تا اینجا و اتفاقات آتی رو با شما به اشتراک بذارم. اگه نظری یا پیشنهادی دارید میتونید برام کامنت کنید✌🏻😊

پ.ن :

خب مجبور شدم دوباره برای پاک شدن پست توسط ویرگول این پستمو بذارم… 🙁

نوشته شروع چالش 100 روز کد زدن اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

چطوری از ایران، شغل دولوپری در بیرون ایران پیدا کنیم

سلام

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

کارها رو از کجا پیدا می‌کنم؟

مهم‌ترین مسئله پیدا کردن شرکت‌هاست. مسئله اینه که امازون و گوگل و اسپاتیفای و فیس‌بوک رو همه می‌شناسیم، ولی مارکت بیرون ایران مشخصا توی اروپا کلی شرکت‌های ریز و درشت ۴۰-۵۰ نفره مثل داخل ایران داره که میشه روشون حساب باز کرد. قضیه برای اون شرکت های معروف کاملا متفاوته، پس من ۲ تا تیکه می‌کنم قضیه رو…

شرکت‌های کاملا شناخته شده

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

یا اینکه شما رو وارد پروسه مصاحبه‌اشون می‌کنن. در مورد پروسه در ادامه می‌گم.

شرکت‌های کوچیک‌تر

اولین منبع من، استک اورفلو هستش. بخش مشاغل این ساعت فوق‌العاده عالی هست. شما میتونید بر اساس استکتون، کشور مقصد، سطح تخصصی که میخواد و همچنین اپشن‌هاش(ویزا ساپورت – ریلوکیشن ساپورت) سرچ کنین.

اگهی‌ها شما رو یا به سایت دیگه می‌برن یا در محل ایزی اپلای می‌کنین و همونجا رزومتون فرستاده میشه.

دومین منبع من، لینکد‌این هستش. بخش مشاغل این سایت رسما بازار شام هستش. کشور و استک مد نظر رو میزنین، اگهی‌های یک هفته اخیر رو سورت می‌کنین و بعد شروع می‌کنین به نگاه کردن.
اگهی‌هایی که به یه زبون دیگه غیر از انگلیسی هستن کلا دراپ می‌شن!( من کمی المانی بلدم و می‌تونم تک‌تاک رو توی متن تشخیص بدم، ولی این تیپ آگهی‌ها بازارشون مشخصا گاهی حتی فقط شهر هدف هستش و شما از مثلا مونیخ به برلینشون اگهی بزنی باز رد میشی :)) پس خودتون رو اذیت نکنین و سریع رد بشین.

گروه بعدی اگهی‌ها، اگهی‌های easy apply هستن. این اگهی‌ها گول‌زننده ترین هستن. شما با کلیک سوم برای این شغل “فکر می‌کنین” که اپلای کردین. در صورتی که اگر متن رو به دقت خونده باشید، می‌بینید که اون نوشته به johndoe@gmail.com رزومتون رو بفرستید :))

استراتژی من برای اگهی‌های انگلیسی زبان به این صورت هستش که ریکوایرمنت‌هاشون رو نگاه می‌کنم، اگر استکشون چیزی بود که من داشتمش، سریعا ایمیل رو پیدا می‌کنم و براشون یه متن (این متن خیلی خیلی مهمه و میگم‌ در موردش) می‌نویسم و رزومه رو ایمیل می‌کنم.

دسته بعدی اگهی‌ها، اگهی‌هایی هستن که کلیک کردن روش شما رو به یه سایت دیگه می‌بره، مثل استک بعدا براتون توضیح می‌دم این‌ها رو که چطوری هستن. فعلا داریم شرکت‌ها رو پیدا می‌کنیم…

بازم به لینکداین بر می‌گردم و یه سری کاربرد دیگه‌اش رو می‌گم.

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

توی گلس‌دور هم مثل لینکداین سرچ می‌زنین، اگهی‌های به زبون غیر از انگلیسی رو دراپ می‌کنین، و ایمیلی‌ها رو با یه متنی ایمیل می‌زنین و بقیه رو می‌رین به یه سایت دیگه…


سایت‌های اپلای

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

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

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


داستان این متنه چیه؟

خوب!! مهم‌ترین چیز. ببینید رزومه رو بر اساس هر شغل میشه نوشت، میشه مثل من یه رزومه داشت که ۲ ساله بهش دست نزدید و کل رفقاتون فحشون می‌دن که این چیه نوشتی درستش کن! رزومه چند ثانیه به شما فرصت می‌ده برای نگاه کردن، ولی اون متنی که همراهش می‌فرستید برای شرکت مربوطه اصطلاحا cover letter اسمش هست و من تجربتا فهمیدم که این از خود رزومه هم مهم‌تره!

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

گاها رزومه شما رو یه نرم‌افزار بررسی می‌کنه و دنبال یه سری کلید واژه توش می‌گرده ببینه دارید یا نه و اگر پیداشون نکنه، رزومه شما به دست یه ادم نمی‌رسه. خودتون می‌دونید ولی من جلوی اسم پایتون ۵ تا ستاره نمی‌ذارم که دوتاش رنگیه و سه تاش خاموش! یا بدتر از اون یه پراگرس بار.

کاور لتر

خیلی خلاصه و کوتاه و دقیق توضیح بدین توی چند خط که چرا باید شما رو استخدام کنه شرکت؟ مثلا من یه همچین متنی رو به عنوان کاور لتر فرستادم برای اخرین شرکتی که الان سومین مصاحبه رو هم باهاش داشتم! طبق معمول کاملا غیر استاندارده متن من و تمام چک‌باکس‌های چطوری کاورلتر ننویسیم رو مارک می‌کنه. ولی من اینجوری می‌زنم شما کاور لتر خودتون رو بنویسید(سرچ کنین ببینید چی مرسومه برای کاور لتر و یه دونه درستش رو بنویسید)

Hi there, I’ve been working with your stack of technologies for about 3 years. I have used flask, mariadb, rabbitmq, celery and redis on a centos machine all day everyday for the past 2-3 years. I have experience with frontend technologies such as reactjs and vuejs though Im not a very sophisticated frontend developer. we use pytest, docker and docker-compose on a drone-ci machine and gogs/git-server for testing and version control. I have experience configuring nginx and application deployemnet.

این متن البته به شیوه استاندارد نوشته شدن حتما باید نوشته بشه چرا؟ چون کسی که داره رزومه شما رو بررسی می‌کنه برای پیدا کردن دکمه اینتر که اپلیکیشن شما رو رد بکنه سرش رو میگیره پایین چند ثانیه دنبالش می‌گرده و بعد می‌زنتش! یعنی اساسا نمی‌دونه برنامه نویسی و اینا چیه! خفن‌ترین کاری که با کامپیوترش کرده هم ریستارت کردن کامپیوترش وقتی هنگ کرده بوده. یا ممکنه یه بابایی باشه که ۱۵ سال پیش با سی داشته دیتابیس می‌نوشته و اصلا دید نداره به تکنولوژی روز. پس لازمه که خیلی خلاصه و سریع براش بگید که شما دقیقا با استک و روال کاری اونها اشنایی دارید و شانس بیشتری برای خودتون و رزومتون بخرید.
من هر کاری که وقت گذاشتم و تخصصا برای اونها کاور لتر نوشتم رو به مصاحبه رسیدم بنابراین اهمیت خیلی خوبی داره.


اوکی، حالا چی؟

خوب، حالا که روزمه ها رو فرستادین، فرداش بیاید و ایمیلتون رو چک کنین. بعضی از این شرکتا ممکنه بهتون ایمیل زده باشن و خواسته باشن که یه تایم بذارید برای مصاحبه تلفنی. بهشون بگید که به “وقت اونها” چه روزهایی و چه ساعت‌هایی وقت دارید و راه‌های تماس باهاتون رو هم بهشون بدید. مثلا ۳ شنبه به وقت سوئد ساعت ۲ تا ۵ اوکی هستم. بعد که قرار مصاحبه اولیه ست شد، سریعا برید به لینکداین و گلس‌دور رو توی دوتا تب باز کنین. اسم شرکت مربوطه رو توشون بزنین، اگهی شغلی رو پیدا کنین که چی خواستن و دقیقا کارشون چیه و چیکار می‌کنن. چند نفر کارمند دارن، کجان و چه مدل ادمایی باهاشون کار میکنن. مصاحبه‌کننده رو(معمولا اچ‌ار) پیدا کنین و ببینید کیه و چیه و بک‌گراندش چیه. ادمایی که توی شرکت کار میکنن و بک‌گراندشون رو ببینید(دولوپر‌های تیمی که براش زدین) مثلا اگر بکند دولوپر رو اپلای کردین، ببنیید بقیه انجینیر‌ها و یا بکند دولوپر‌هاشون کین، کجایین، چقدر قبل از شرکت فعلی کار کردن و چه سمتی داشتن و کلا چیکاره بودن. اینجوری دستتون میاد که شرکت مربوطه چه مدل ادمایی می‌گیره.

مثلا اگر ۵ تا دولوپر داره که ۳ تاشون قبلا امازون بودن و ۱یشون فیس‌بوک، احتمالا همچین شرکتی شرکت مقصد بسیار کله گنده هستش و سطح بالا باید بگیرید برای مصاحبه‌هاش و حرفه‌ای تر باشید…

توی گلسدور میتونید یه شرکت رو سرچ کنین و یه سری رویو عمومی که کارمنداش نوشتن رو ببینید و یا میانگین حقوق و این صحبتا رو ببینید. گاهی ممکنه کسی روند مصاحبه رو هم نوشته باشه.

برای مصاحبه‌ها یه جایی از خونه رو انتخاب کنین که اینترنت داشته باشید، لپ‌تاپ و گوشی رو شارژ کنید و از قبل هماهنگ باشدی با خونواده یه دفعه مامانتون به سبک SWAT با لگد نزنه به در و بیاد تو داد و بیداد کنه 🙂

مصاحبه اچ‌ار

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

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

سوالات بعدی سوالات عمومی هستن مثل تجارب کاری دیگه، علاقمندی‌ها بیرون از کار. من مشخصا می‌گردم توی لینکداین و گلسدور و با فرهنگشون اشنا می‌شم و اگر باهام برابر بود سیستمشون، میگم که علاقمند به کوه‌نوردی و پیاده روی و دوچرخه سواری هستم. اگر دیدید که این مدل شرکتی نیستن، یه چیزی ببافید خلاصه. ولی فرهنگ کشور مقصد رو در نظر بگیرید. مثلا برای کشوری که ۴طرفش خشکیه اقیانوس گردی و اینا یا کشوری که کلا مرتفع‌ترین جاش برج مخابراتی سر میدون امامشون هست، عاشق کوه‌نوردی رو نگید بهتره! به نظرم 🙂

مصاحبه تکنیکال اولیه

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

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

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

ولی مثلا امازون ازتون می‌خواد که یه راه‌حل لینیر (O(n)) بهش بدید برای مسئله و کارتون کمی سخت تره.

در هر دو مورد، مهم‌تر از خود جواب، فک کردنتون هست. خیلی مهمه که بلند بلند فک کنین. مثلا دارید فکر میکنین هم، این سوال رو دوتا لوپ می‌زنم یه پوینتر از اول لیست شروع کنه یکی از اخر شروع کنه و مقایسه می‌کنم بعد میگید فاک‌ایت! اینکه O(n^2) هستش به درد نمی‌خوره. اینو تو ذهنتون نگید. اینو بلند بلند بگید که طرف بشنوه. بلند بلند فک کردن بازم می‌گم از خود نوشتن جواب مهم‌تره و به طرف نشون بدید چطوری به یه مسئله حمله می‌کنین. هم شما می‌دونید هم اونا می‌دونن شما تو ۱۰ ثانیه تو استک‌اورفلو می‌تونید جوابش رو پیدا کنین و بزنین. ولی سیستم فکر کردن ادما و اینکه چی سرچ کنن چیزیه که اونا میخوان. پس بلند بلند فک کنین، بلند اشتباه کنین و اشتباهتون رو کشف کنین و بگید و حلش کنین. دیزاینتون رو بگید بلند بلند…

کدینگ اینترویو

این مصاحبه، من خودم باهاش خیلی درگیر بودم. ۳ تا از این مصاحبه‌ها داشتم. چیزی که من نتیجه گرفتم و با بقیه صحبت کردم اینه که استانداردی نداره. تجربه شخصیم این بوده که یه پروژه میدن، خیلی ریز و میگن خوب حلش کن. اونا شما رو در حال کد زدن نگاه می‌کنن(کلی پلتفرم برای این‌کار هست سعی کنین باهاشون اشنا باشید، مثلا repl.it یا codeshare.io که در اولی، اونا کد شما رو می‌بینن، در دومی در لحظه و زنده می‌بینن دارید چیکار می‌کنید. دومی به قولی لایو‌تره 🙂

مسئله بسته به جایی که توش کار می‌کنین متفاوته. یه جا ممکنه بهتون بگن یه لیست درست کن که اگر مثلا خواستم یه مقداری رو از لیست برگردونیم و نداشتش، به جای ارور keyErro یا چیزی مثل اون، None برگردونه. لازمه که شما کد زدن بلد باشید و اشنا باشید که بتونید حل کنین.

وات د فاز؟

دقیقا! اولین باری که یکی ازم پرسید اوکی این لیست رو سورت کن، بهش گفتم ایزی پیزی t.sorted() و یارو چند لحظه برگاش رو جمع کرد و گفت نه حاجی بنویس کدی که sorted داره اجرا می‌کنه!!

بریید به سایتهای hackerrank و leetcode لاگین کنین و شروع کنین مسئله‌هاشون رو حل کنین. سعی کنین تابع پایتونی فراخونی نکنین و همش رو خودتون بنویسید.
من توی یه مصاحبه(ایران) ازم خواسته شد که یه ارایه دو بعدی رو بچرخم و عددی رو پیدا کنم که تو سطر‌ها کمترین و توی ستون‌ها بیشترین باشه. با خودم گفتم ایول شغل رو گرفتم(فقط دو سوال می‌پرسیدن!) سریع نوشتم که خوب min=min(given_array) و طرف گفت min دیگه کیه؟ برام بنویس که minچطوری کار میکنه. یه خورده نیگا کردم و فرمت شدم. هر کاری کردم نتونستم ذهنم رو برگردونم. می‌ترسیدم به عنوان یه دولوپر با ۲ سال سابقه، بیام لوپ بزنم و min رو به روش دانشگاهی بنویسمش!! هرچی مصاحبه گر تلاش کرد حاضر نشدم خفت اینکه احمق‌تر به نظر برسم رو قبول کنم و بنویسمش… بعد از چند روز دیدم کلا همون راه بوده و باید همونجوری می‌رفتم. حتی به خود مصاحبه گر پیام دادم که داداش این راه‌حلش همین بود؟ اونم گفت اره… هنوز وقتی چهره اون رو یادم میاد که داشت تلاش می‌کرد که منو بگردونه یادمه. فقط میخواستم بیام بیرون از مصاحبه… دلیلش؟ این مدل سوال رو ندیده بودم و امادگی این رو نداشتم که ۵۰ خط کد بنویسم که در حالت عادی ۵ خط کده. فکر می‌کردم باید همچنان ۵ خط کد بنویسم براش ولی بلدش نیستم…

سوالات هکررنک و لیت‌کد رو رنده کنین. وقتی فکر می‌کنین منظورش همون باینری سورت احمقانه دانشگاهه واقعا؟ یعنی بیام بنویسم if min < num؟ اره دقیقا فاکینگ همین رو میخوان. امازون و گوگلش دقیقا همین رو میخوان... چشمتون باید بهش عادت کنه، دستتون باید بهش عادت کنه که بنویسیدش...
توی کداینترویو گاهی اوقات مسئله یا اینترویویر بهتون اجازه میده از توابع اماده استفاده کنین و ازتون میخوان کد نرمال و روزمره براشون بنویسید. تر و تمیز بنویسید، همهٔ جوانب رو در نظر بگیرید و خلاصه سعی کنین یه دفعه کدتون ۱۵ تا x,y, a,b,c,i,j نیوفته توش که هیچکس نفهمه چی به چیه.
اسم تابع برعکس کننده متنتون باید reverse باشه یا این کلمه توش باشه! لیستی که اعداد اول رو توش می‌ریزید اسمش a نباشه مثلا odd_nums یا even_nums باشه(این دوتایی که نوشتم زوج و فرد بودن البته!)

مسئله اینه که حتما سوال کنین و حتما حرف بزنین. عشقی در نظر نگیرید که اوکی لیستی که بهم میدن سورت شدست فلان کارو می‌کنم. بپرسید! برندارید بدون چک عدد رو تقسیم کنین.:) یه صفر بندازن وسط یا جای عدد متن بندازن وسط به فنا میره کد!این چیزا رو چک کنین یا بپرسید ازشون یا بگید که فعلا نگران اونا نیستید.

راستی، ۹۸.۹ درصد اوقات، توی یه تکست‌ادیتور می‌نویسید. خیلی بهتون لطف کنین سینتکس‌هایلایت دارید! اگر مثل من هستید که یادتون نیست چطوری به کیو توی پایتون عدد اضافه میشه، بگید که اهم یادم نیست فک کنم فلانه و حالا تست می‌کنم ببینم چی میشه:) یا از قبل یه یاداوری بکنین این چیزا رو. من سر هش‌ست(set) پیاتون گیر کردم که چطوری میشه چک کرد عددی داخلشه یا نه! 🙂

خلاصه یا ازتون میخوان تمیز کد بزنین و کد معمولی بزنین که به این نکات توش توجه کنین و اگر ازتون سوالات الگوریتمیک پرسیدن، you already know what to do

سیستم دیزاین؟

این مصاحبه رو من توی شرکت‌های بزرگ دیدم. شرکتی مثل گوگل یا توییتر یه تیم ۲۰ نفره مهندسین رو داره که ۶ ماه وقت می‌ذارن تا سرویس نایت‌هاوک رو دیپلوی کنن که وظیفه کنترل کشینگ پروفایل‌ها توی توییتر باشه، ولی مصاحبه گر از شما می‌خواد که تو ۱۵ دقیقه همین سیستم رو براش دیزاین و اسکیل کنین:) بنابراین باید از قبل اماده باشید که بتونید در موردش حرف بزنید و یا یه سیستم کوچیک رو خیلی سریع دیزاین کنین. کجا کش میذارید، کجا لود بالانسر می‌ذارید، کجا دیتابیس میذارید و این صحبتا.

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

مصاحبه دیگه؟

بعضی شرکتا قبل از تکنیکال اینترویو و بعد از مصاحبه اچ‌ار، یا حین همون مصاحبه اولیه اچ‌ار، یه سری سوالات ممکنه بپرسن که خیلی کلیه. مثلا فرق مولتی‌پراسس با مولتی‌ترد چیه؟ کِی از کدوم باید استفاده کنیم؟ یا دیکشنری/هش‌مپ(تقریبا!) با لیست فرقش چیه و چیزایی مثل اینها. خوبه که یه سری جواب از قبل واسه اینها اماده داشته باشید. یا مثلا ممکنه بهتون یه دفعه برگرده بگه میشه یه توپل رو به عنوان کلید یه دیکشنری استفاده کرد؟ بهتره که از قبل با این چیزا اشنایی کوچولویی داشته باشید.

همچنین توی کدینگ اینترویو یا اچ‌ار ازتون بخوان که مثلا روش کار کردنتون توی شرکت رو بگید.

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

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

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

هوم اساینمنت

به صورت معمول، من بین مصاحبه تکنیکال و کدینگم یه پروژه هم گرفتم که روش کار کنم. این پروژه ها سبک، سریع و تخصصی هستن. معمولا شما رو حسابی درگیر میکنن توی یه قضیه‌ای.

بر اساس تجربه، تمیز نوشتنش، تست نوشتن، داکیومنت کردنش و نهایتا فاکنیگ توضیح دادن استفاده از کد مورد توجه قرار می‌گیره. اسم‌هایی که برای کامیت‌هایتون میذارید و چیزایی که با هر کامیت میره بالا هم حواستون باشه به قولی تست‌های فایل a و کدهای فایل b با کامیت مسیج “working code” نفرستید بالا سر جدتون 🙂

خوب، شرکت‌های بزرگ تازه ممکنه بهتون اوکی بدن که برید محل شرکت و همین مصاحبه‌ها رو خیلی جدی‌تر و ۱-۲ ساعتی دوباره ازتون بگیرن با سوالات دیگه. توی اینترنت نحوه اماده شدن برای مصاحبه امازون و گوگل و بوکینگ و امثالهم ریخته.

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

دو سالی هست که وبلاگ ننوشتم و ببخشید بابت مدل نوشتنم!

نوشته چطوری از ایران، شغل دولوپری در بیرون ایران پیدا کنیم اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

معرفی اپلیکیشن Color by Number Oil Painting؛ لذت رنگ آمیزی در گوشی

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

نوشته معرفی اپلیکیشن Color by Number Oil Painting؛ لذت رنگ آمیزی در گوشی اولین بار در دیجیاتو پدیدار شد.

گردآوری توسط ایده طلایی