أنا أحمق عديمة الفائدة ، لذلك أريد إنهاء وظيفتي: 10 أسئلة لمطور البرامج ، حلقة تجريبية



مرحبًا يا هبر!

هل تتذكر قصة ستيف جوبز ودينيس ريتشي ؟ دون أي نية لإحياء المناقشات أو إضفاء الطابع الأخلاقي على الموضوع ، دعونا نواجه الحقيقة: الآلاف من التقنيين النجميين يعيشون في الظل ، بينما يتم إخفاء قصصهم في خزانة متربة.

نحن ، فريق تحرير هبر ، حريصون على معالجة هذا الظلم. من الآن فصاعدًا ، سنقوم بإجراء مقابلات منتظمة مع الأشخاص الذين يحتفظون بمكانة منخفضة في وسائل الإعلام والشبكات الاجتماعية. لذلك إذا كان لديك أي شيء تخبره عن نفسك ، فاستعد.

لإعطائك فكرة عن كيف سيبدو هذا ، سنقود الطريق. انقر أدناه لرؤية 10 أسئلة عامة سنطرحها على كل ضيف. في الحلقة التجريبية ، كان أول ضيف يجيب على الأسئلة هو fillpackart. (في هذا الشهر ، عقدت عدة جلسات مقابلة جيدة معه ، راجع المقالات الأولى والثانية والثالثة). يرجى قراءتها ، وإذا قررت أن تروي قصتك الخاصة بطريقة مماثلة ، فما عليك سوى إرسال رسالة إليّ أو إرسال رسالة باراغول.



فيليب رانجين ، ابن مهندس من مدينة إيفانوفو الروسية الصغيرة. بدأ الترميز بلغة C ++ في الجامعة عندما كان عمره 16 عامًا ، ثم تعلم .NET لاحقًا. يعمل حاليًا في منصب كبير مهندسي تطوير البرمجيات في شركة أجنبية محترمة. بصرف النظر عن لغات البرمجة المستخدمة بشكل شائع ، فهو أيضًا بارع في F # و OCaml.

1. أخبرني عن ميزة نشرتها تجعلك فخورة حقًا.


- لم أقدم أي شيء يمكن أن يجعلني فخوراً. طوال حياتي ، كنت أتعامل مع مشاكل تافهة للغاية. لذلك أنا فخور بما أكون قادرًا عليه ، وليس بما أنجزته.

أعتقد أنني كنت سأفتخر لو قمت بتصميم نظام ذكي لمنظمة العفو الدولية.

2. قل لي الآن عن أسوأ fuckup الخاص بك.


- بمجرد أن قضيت يومًا كاملاً في محاولة جعل OCaml يعمل على Windows (لا تحاول تكرار هذا ، يا شباب). لم يكن هذا نشاطًا متعلقًا بالعمل ، لذلك في صباح اليوم التالي اضطررت إلى الخروج ببعض العذر في اجتماع. عندها فقط رأيت مهمة حشرة لم أكن حتى يستغرقها وقتًا للنظر فيها. وأنا مثل ، "أعطني أي خلل ، وسوف إصلاحه في غضون يومين!" لقد كذبت في الاجتماع أنني كنت أعمل على هذا الخطأ وإنني أتوقع أن أفرج عن العلاقات العامة خلال يومين.

اتضح ، مع ذلك ، أنه كان يجب علي قضاء ثلاثة أشهر على إصلاحه.

كان الخطأ متعلقًا بقابلية التشغيل البيني بين نظامين كبيرين. يمكن استنساخه باستمرار. طوال تلك الأشهر الثلاثة ، ظللت أتقدم بمقترحات متنوعة وأتفحصها ، مرارًا وتكرارًا ، لدرجة أنني تخلت عن بناء منزلي في Skyrim. كانت تلك أسوأ ثلاثة أشهر في حياتي.

أخيرًا ، أغلقتها كـ "لا يوجد نسخة". جئت إلى مديري وقلت: "أنا أحمق عديم الجدوى ، لذلك أريد أن أترك عملي لتخفيف هذا العبء". لكنها بدلاً من ذلك أعطتني زيادة كبيرة في الرواتب.

3. صف مكان عملك: من كرسي المكتب والشاشة إلى بيئات التطوير المفضلة والمرافق المفضلة.


- أنا أعمل مع عائلة أنظمة تشغيل Windows ، لأنني أستخدم مكدس .NET ولأن Windows لديه واجهة مستخدم أفضل. أجلس على طاولة صنعتها لنفسي. إنه هائل لدرجة أنه قادر على استيعاب نصف دزينة من أجهزة الترميز.

جهاز DevBox ليس سيئًا على الإطلاق ، إلا أنه يحتوي على عيب كبير - حاولت خفض التكاليف واشتريت وحدة المعالجة المركزية AMD. كان هذا فشل ملحمة. على الرغم من الأداء العالي المطالب به ، فإن هذه القطعة من الخراء تدير اختباراتي خمسة أضعاف بطء معالج مماثل من Intel.

لدي حاليا شاشة واحدة فقط. أخطط لشراء اثنين آخرين لتبدو وكأنها مؤيدة. IDE المفضل لدي هو Visual Studio 2017 مع Resharper. محرر النصوص المفضل لدي هو Visual Studio Code معزز بمكونات zillion الإضافية. يعد تنزيلها ومشاهدة تطور VSCode أحد هواياتي.

بقدر ما يعجبني git ، أقول أنني أفضل Visual Studio Team Services على GitHub.

4. استنادا إلى ما المعايير التي تختار العمل؟ هل هو المكدس ، المنتج ، بيئة العمل ، المال؟


- في الوقت الحالي ، العوامل الرئيسية بالنسبة لي هي الرواتب والقدرة على الالتزام فقط بثلث إمكاناتي. أعتقد أنني مررت بحرق وأنا لم أعد مستعدًا لإعطاء قلبي وروحي أعمال شخص ما. حتى في ظل التهديد بإطلاق النار وفقدان نمط الحياة الذي اعتدت عليه ، ما زلت لن أتعمق في المشروع. وأنا أقول هذا كأب لأطفال "واحد ونصف" ، وهذا هو بعض التهديد الخطير. لكن التكرار وعدم الشعور في كل ما قمت به من قبل يضر الآن جسديًا تقريبًا.

أعتقد في بعض الأحيان ، مع هذا النهج ليس لدي أي حق معنوي في البحث عن وظيفة. مبرري هو أنه لا يمكن لأحد أن يكون أخلاقيا أو غير أخلاقي فيما يتعلق بنظام ما. تساعدني الطبيعة المجردة للشركات على إبعاد نفسي عن فكرة أنني قد أضر بأشخاص حقيقيين ، لذلك أقبل وظائف من شركات كبيرة فقط.

في الوقت نفسه ، أشعر بالحرج من المبلغ الذي أكسبه (وفقًا لمعايير مدينتي) لطلب سحب واحد. كما لو أن وضع مطور يتمتع بمهارات عالية يمنحني حياة أفضل بعشرة أضعاف من مجموعة كاملة من الأشخاص الآخرين الذين يعملون بجد لمدة ثماني ساعات يوميًا للقيام بشيء مفيد حقًا.

أعتقد في بعض الأحيان ، إذا تمكنت من خداع ممثل أعمال في مقابلة عمل ، فأنا أستحق كل شيء لدي ، إلى درجة معينة. هذا يجعلني أفقد اتصالي بالواقع ، وبدأت أعتقد أن هذا هو ما ينبغي أن يكون عليه الأمر.

لا أعلم كيف يمكن أن يحدث هذا معًا ، لكني أحب الترميز ، وفي الوقت نفسه أكره العمل كمطور. قد أشجع نفسي بالقول إنني فقط لم يحدث للعمل في مشروع مثير للاهتمام حتى الآن ، لكنني لا أؤمن به حقًا. هذا صعب التعايش معه.

5. ما الذي ترغب في تحسينه في التقنية واللغات التي تستخدمها؟


- هذا ما أود تغييره:

  • اكتب الاستنتاج وقابلية التحويل البرمجي للوقت للطباعة على الآلة الكاتبة و C #. هذا من شأنه أن يعطيني فرصة لإنشاء طريقة تستقبل شيئًا غير قابل للتغيير بشكل موثوق ، على عكس ReadonlyDictionary المستخدم حاليًا ، والذي في الواقع ليس للقراءة فقط (يمكنك تمرير قاموس منتظم إلى مُنشئه ، والاحتفاظ بمرجع إليه ، ثم تغييره بسهولة ذلك).
  • أريد أن يتوقف مطورو C # عن العبث بالتوافق مع الإصدارات السابقة والعبارات الغبية التي تستخدم فقط في ملف واحد على أي حال ، وتحديث لغة البرمجة. على محمل الجد ، في لغة يكون من المعتاد فيها كتابة شيء مثل IDictionnary <IMyStupidType ، IMyStupidType2> Foo (Func <IMySupidType ، int ، bool ، string> reallyStrangeCallback ، لعدم تطبيق أنواع الأسماء المستعارة ، يعد قرارًا غريبًا للغاية.
  • حقول دعم تلقائية في C # ، نوع من السكر النحوي على Func <T1 ، T2>.
  • عقود الكود خارج الصندوق لـ C # (على سبيل المثال في Roslyn) بدلاً من الحلول الخارجية التي تحول IDE الخاص بي إلى فوضى بطيئة.
  • بديل jsx للغة F #. إذا لم يقم أي واحد منكم بإطلاقه في الأسبوع القادم ، فسوف يتعين علي الحضور إليه.
  • أود أن يدرك المجتمع أن اختبارات الوحدة غير مهمة ، وأن اللغات ذات الكتابة الديناميكية (يجب عدم الخلط بينها وبين الكتابة الضعيفة) هي أكبر فشل في تاريخ الصناعة.
  • لجعل بنيات المعالج مناسبة بشكل أفضل للنهج الوظيفي.
  • لتحسين عمليات تكرار الذيل في JS / TS ، حتى أتمكن من تشويش مرات الذيل في كل مكان دون الرجوع إلى حجم المكدس. إنه موجود في المواصفات ، لكن يبدو أن الرجال الذين يعملون على الإصدار 8 يتجاهلون مواصفات اللغة كشيء غير مهم عندما يتعلق الأمر بتطوير رمز وقت التشغيل.
  • خيار للكتابة الثابتة خارج الصندوق في JS ، دون المساس بالطباعة. على عكس المبدعين من typescript ، فأنا أعتبرها لغة برمجة مستقلة ذات تصميم متعدد النماذج قوي ومتطور.
  • لأشياء مثل WebAssembly أن تكون راسخة الجذور في أفضل الممارسات ومعايير تطوير الواجهة الأمامية.
  • لرؤية عملاء الويب المحسنين بشكل ملحوظ لـ GitHub وما شابه. من الناحية المثالية ، أود أن أكون قادرًا على تعديل شفرة مشروع خطير في متصفحي.
  • مزيد من اتفاقيات التوافق. ستكون الحياة أسهل بكثير إذا تمكنت jvm من تفسير جزء من التعليمات البرمجية في .NET CIL وتثبيته.

6. أين هو أفضل مكان لتبادل الخبرة في العمل - هل هي الكلية ، والمؤتمرات ، هبر؟ في أي مكان آخر غير ذلك؟


- كنت أدرس في جامعة ، لكن تم طردي مرارًا وتكرارًا. حضرت المؤتمرات ، وأنا منتظم في هبر. لا أعتقد أنني اكتسبت أي شيء من الحكمة الحقيقية من أي من هذه المصادر. ربما أجد متعة في التفكير بذلك.

خدعتي هي قراءة الكتب والتعارف مع المطورين الآخرين. أعتقد أن التحدث إلى شباب أذكياء في تطوير البرمجيات كان له تأثير إيجابي على مهاراتي.

7. إذا كان لديك موارد غير محدودة (الوقت ، المال ، التسهيلات ، الموارد البشرية) ، فما المشروع الذي ستعمل عليه؟


- سيكون من الرائع إنشاء المحاكاة الأكثر دقة (إلى الحد الممكن) للبشرية ، من أجل اختبار طرق المجتمع للوصول إلى أسعد حالته. سيكون من المثير للاهتمام عمومًا محاكاة سلوك الأشخاص في ظل ظروف مختلفة.

8. كيف تقضي ساعات فراغك؟ ماذا تفعل بصرف النظر عن عملك؟


- أسير في الغابة وأتأمل ، وأحيانًا أرتشف البيرة ؛ ألعب جيتاري من حين لآخر وألعب ألعاب الفيديو من وقت لآخر. أود أن أقول أن هوايتي هي التفكير والحلم.

لدي العديد من المشاريع الشخصية التي أعمل عليها مع أصدقائي. أستمتع بمنحهم مراجعات الكود السلبي العدواني عن قصد (على سبيل المثال "هل تهتم باقتراح سبب لاستخدام مثل هذا الحل غير المدروس جيدًا؟") ومشاهدة كيف يغير هذا علاقتنا.

أحيانًا أقوم بالعديد من فنون الفنون الحرة مثل إجراء المقابلات. غالبًا ما أحصل على كتابة كتاب ، لكنني لم أنتهي من أي كتاب.

9. أخبرنا عن كتبك الثلاثة المفضلة - تعلم واحد ، واحد غير خيالي وواحد خيالي.


التعلم - CLR عبر C # بواسطة جيفري ريختر. هي معبأة مع الكثير من المعرفة حول خصوصيات وعموميات وقت التشغيل .NET ، مما يجعله كنزا حقيقيا. كل من يتعلم هذا الكتاب عن ظهر قلب ، سوف يجتاز أي مقابلة لوظيفة مطور .NET. أود أن أبرز أيضًا هياكل البيانات الوظيفية البحتة لكريس أوكاساكي. على الرغم من أن هذا الكتاب ليس عمليًا للغاية ، فقد أعاد إيماني بالبرمجة في البرمجة ، حيث أن تنفيذ المؤلف لهياكل البيانات أرسل الرعشات الميتافيزيقية إلى أسفل العمود الفقري.

غير خيالي - لا أعرف ما إذا كانت Code Complete تتوافق مع هذه الفئة ، لكني أستمتع بإعادة قراءتها. يرتبط المؤلف بأشياء واضحة بشكل لا يصدق ، ولكن في كل مشروع كنت أعمل فيه ، بدا أن لا أحد قادر على اتباع هذه المبادئ بدرجة كافية.

خيال - مأساة أمريكية بقلم ثيودور دريزر. لا أعتقد أبدًا أن وحشًا رقميًا عمليًا ، مثل أنا ، سيكون قادرًا على التعاطف مع فتاة تم إلقاؤها أولاً من قبل صديقها ثم قتلها. لكنني تعاطفت ، وهذا يعني الكثير بالنسبة لي.

10. إذا أصبح نظام الذكاء الاصطناعي فجأة واعيًا أمامك ، فماذا ستقول له؟


- سأعرضه لتصميم مشروع ذكاء اصطناعي وبعد ذلك أقارن الاثنين ببعضهما البعض. إذا كان المشروع الجديد متفوقًا ، فسأطلب منه تصميم مشروع ذكاء اصطناعي ، وهكذا ...

إذا صادف أن يكون روبوت الذكاء الاصطناعى مبرمجًا ماهرًا ، فسأستخدمه لإنشاء دليل موثوق على أن Golang هو طريق مسدود لتطور البرمجة. لأنني أرى الكثير من الحروب المقدسة حول هذا الموضوع ، ومع ذلك ليس لدي ميزانية لتعلم Golang بتعمق لبناء مجموعة قوية من الحجج.

المكافأة: اسأل مطور آخر عن أي شيء تريده.


- ما هي التكنولوجيا التي كانت أكثر متعة لتتعلمها؟

Source: https://habr.com/ru/post/ar436012/


All Articles