كتب بواسطة: جويل سبولسكي.
ترجمة: زاهر النوتكي
على الرغم من حقيقة أنه لم يمض سنة أو سنتين من تصريحاتي بأن نظام ويندوز وبواجهاته الرسومية سيكون سمة المستقبل بلا منازع، ومع ذلك فإن العديد من طلبة الجامعات لا يألوا بمراسلتي في كثير من الأحيان بحثا عن المشورة المهنية ومجالات التخصص المرغوبة. وبما أن مسألة التوظيف لا ترتبط بوقت معين ارتأيت أنه من المفضل أن أسطّر بعض النصائح النموذجية والتي لا تنطبق في كل الأزمان أو المواقف ، ولكن من خلالها يستطيع الطلبة اعتبارها مرجعا لهم وقرائتها للاستفادة منها، أو الاستهزاء بها أو حتى تجاهلها برمتها وكل ذلك راجع إليك في المقام الأول والأخير..
ولحسن الحظ فإن معظم طلبة الجامعات (تخصص الحاسب الآلي بالخصوص) لا يألون أي اهتمام في قضاء بعض الوقت لطلب النصيحة والمشورة من كبار السن وهذا أمر جيد بالنسبة لطلبة تخصص الحاسب الألي لأن كبار السن عادة ما يتفوهون بالكثير من الأمور التافهة والعتيقة مثلا بأن طلب السوق على "الخرامات" سيتجاوز ١٠٠.٠٠٠.٠٠٠ مرة بحلول عام ٢٠١٠ و بأن وظائف مبرمجي ليزب lisp ستكون من أكثر الوظائف طلبا في هذه الفترة والفترة المقبلة".
أنا أيضا ليست لدي أدنى فكرة عما سأقوله عندما يسألني بعض الطلبة الجامعيين عن بعض النصائح. فقد أصبحت متخلفا تقنيا ولا أستطيع استخدام برنامج المحادثة AIM ولا أزال أستخدم تلك التقنية العتيقة التي يطلق عليها بـ"البريد الألكتروني Email" والذي كانت شائعة في الأيام التي ظهرت فيها الموسيقى والألبومات على أقراص مسطحة تسمى بـ"الأقراض المدمجة CDs".
لذا ستكون بأحسن حال إذا تجاهلت كل ما أقوله هنا وبدلا من ذلك تقوم ببناء برمجية ما على الشكبة العنكبوتية والتي تتيح للطلبة الآخرين الحصول على رفيق للخروج معه في موعد ما.
ومع كل ذلك...
وإذا كنت تتمتع بحس برمجي ، فعليك شكر الله على هذه النعمة فأنت من الأقلية ـ المحظوظة جدا من الناس ـ الذين يستطيعون كسب لقمة عيشهم بالقيام بعمل يرغبون القيام به. فمعظم الناس ليسوا محظوظين بهذا القدر وفكرة أنه يمكنك من "عشق وظيفتك" من المفاهيم الحديثة المستحدثة مؤخرا. ومن المتعارف عليه أن "العمل" عبارة عن قيامك بأمور لا ترغب القيام بها من أجل الحصول على المال والذي تستطيع فيما بعد أن تنفقه على أمور تحب القيام بها بالفعل ولكن المسالة الحقيقية متى ستستطيع القيام بذلك؟ هل عندما تكون في عمر ٦٥ حيث تستطيع أخيرا استلام معاشك التقاعدي. وإن كنت تستطيع تحمل تكاليفها فعلا هل أنت بالعمر المناسب للقيام بها وإن كان لا هل تملك ركبتين سليمتين وعيون سليمة والقدرة على المشي ٢٠ قدم دون أن تلهث... ألخ.
ولكن ما الذي كنا نتحدث عنه في المقام الأول؟؟ أها نعم تذكرت.. تقديم المشورة للطلبة الجامعيين..
وبلا مزيدا من الكلام الفارغ ، هذه نصائح جويل السبع المجانية لطلبة كلية الحاسب الآلي:
اتقن فن الكتابة قبل التخرج.
تعلم البرمجة بلغة السي قبل التخرج
تعلم الاقتصاد الجزئي (microeconomics) قبل التخرج.
لا تتجاهل مواد غير التخصص لأنها مملة.
تأكد من التحاقك بدورات مكثفة في البرمجة.
توقف عن القلق بشأن انتقال أغلب وظائف التقنية إلى الهند.
بغض النظر عن ما تقوم به حاول الالتحاق ببرنامج صيفي جيد.
الآن وبالنسبة إلى ما سأسطره في الأسطر القادمة ـ إلا إذا كنت ساذجا بالقدر الكاف لتقوم بالكثير من النصائح فقط لأنني قلت لك ذلك ـ عليك في هذه الحالة أن تضيف إلى كل ما ذكرت سابقا النصيحة التالية:
حاول الحصول على مساعدة متخصصة لذلك الشي الذي يطلق عليه "بتقدير الذات".
اتقن فن الكتابة قبل التخرج
في البداية أسأل نفسك هل كان من الممكن أن يصل نظام لينكس إلى هذا المستوى من النجاح لو أن لينوس تورفالدس لم تكن لديه الموهبة والقدرة على التسويق له؟؟ طبعا لا. فبالإضافة إلى قدرته كمبرمج لامع ، كانت لدى لينوس موهبة فذة في التعبير وتوصيل أفكاره للآخرين بطريقة ابداعية وبلغة سهلة سواء أكان ذلك عبر البريد الإلكتروني أو من خلال العديد من القوائم البريدية والتي جعلت نظام لينكس فيما بعد محاطا بالعديد من المناصرين والمتطوعين من جميع أنحاء العالم..
ولكن هل سمعت مؤخرا عن آخر الصيحات في عالم البرمجة؟؟ إنها "البرمجة المتطرفة"؟؟ حسنا ، وبدون التطرق إلى رأيي في نظام أكس بي ، فلربما السبب الوحيد في سماعك لهذا المصطلح هي الموهبة الكتابية والإلقائية للمروجين لمثل هذه الأمور.
وحتى وان نظرنا على نطاق ضيق ، فعندما نمعن النظر في أي مؤسسة تعنى بالبرمجة ، فستلاحظ أن أغلب المبرمجين الذين يملكون السلطة والنفوذ داخل تلك المؤسسة هم الذين يملكون الموهبة سواء في الكتابة أوالتحدث بلباقة وبصورة مقنعة وبشكل مريح وسلس. بالإضافة إلى ذلك فأنه سيكون أمرا إيجابيا إن كنت من طوال القامة ولكن لا أظن أنك تستطيع القيام بشيئ حيال ذلك.
الفرق بين المبرمج المقبول والمبرمج المبدع لا يعتمد في أغلب الأحيان على عدد اللغات التي يتقنها أو إن كان يفضل استخدام لغة بايثون أو لغة جافا على سبيل المثال. ولكن يعتمد ذلك في المقام الأول والأخير على قدرتهم في توصيل أفكارهم للمستخدمين والمبرمجين الآخرين فهم سيحصلون على النفوذ المطلوب من خلال اقناع الآخرين لأفكارهم. فمن خلال كتابة التعليقات الواضحة والمواصفات التقنية الجيدة فأنهم سيسهلوا المهمة للمبرمجين الآخرين في استخدام الكود والعمل عليه بدل من إعادة كتابته من جديد. ومن دون ذلك ، فإن الأكواد البرمجية التي كتبوها ستكون بلا قيمة تذكر. لذا فمن خلال كتابة وثائق تقنية واضحة للمستخدمين النهائيين تسمح لهم من فهم ماهية عمل الكود الذي يستخدموه وهي الطريقة الوحيدة التي من خلالها يستطيع المستخدم النهائي أو المبرمج من استيعاب القيمة الحقيقية للكود البرمجي الذي بين يديه. كما أن هناك الكثير من الأكواد البرمجية المفيدة في مكان ما على موقع sourceforge وعلى الرغم من القيمة الفعلية للكثير منها إلا أنها لا تلاقي ذلك الرواج والانتشار لأنه وبكل بساطة تم كتابتها بواسطة مبرمجين لم يوفقوا في شرح أكوادهم بالطريقة الصحيحة أو لم يشرحوها على الإطلاق ، مما يعوق من توصيل فكرة عمل أكوادهم وأهميتها حتى تتضاءل القيمة الحقيقية لما قاموا به وينتهي بها المطاف إلى طي النسيان..
لذا فأنا على سبيل المثال لن أوظف أي مبرمج حتى يتبين لي قدرته على الكتابة والكتابة بشكل جيد وبلغة سليمة مفهومة. فإذا كنت من هؤلاء الذين يملكون ملكة الكتابة وشرح أكوادك البرمجية بلغة سليمة ، فستواجه قريبا طلبا لكتابة مواصفات تطبيق ما ـ بغض النظر عن المؤسسة التي ستعمل معهاـ وهذا يعني بأنك بالفعل قد استفدت من موهبتك وفي الوقت نفسه ملاحظة رئيس عملك لمواهبك الفذة في هذا المجال.
هناك العديد من الكليات التي تخصص مواد تعنى بتطوير ملكة الكتابة لدى الطلبة مثل مادة "الكتابة المكثفة" والتي تعني أنه عليك كتابة الكثير في العديد من المواضيع حتى تحصل على الدرجة المطلوبة للنجاح في المادة. يمكنك البحث عن مواد مماثلة والتسجيل بها أو يمكنك كذلك البحث عن بعض المواد التي تتطلب الكتابة بشكل يومي أو أسبوعي.
يمكنك كذلك البدء بكتابة يومياتك على دفتر أو على مدونة الكترونية. فكلما كتبت كلما سهلت المهمة وأصبحت الكتابة شيئا روتينا بالنسبة لك.
تعلم البرمجة بلغة السي قبل التخرج
الجزء الثاني: لغة سي. ولاحظ أنني لم أقل لك لغة سي++ وعلى الرغم من تضائل استخدام هذه اللغة بشكل ملاحظ في الآونة الأخيرة إلا أنها لا تزال اللغة المشتركة بين المبرمجين المبدعين حيث تعتبر اللغة التي يستخدمونها للتواصل فيما بينهم والأهم من ذلك كله فهي الأقرب بكثير إلى لغة الآلة منها من اللغات البرمجية الحديثة والتي تدرس اليوم على أروقة الجامعات مثل لغة جافا وبايثون وغيرها الكثير من اللغات الحديثة (التافهة). فأنت بحاجة لقضاء فصلا واحدا على الأقل قريبا من الآلة وإلا فلن تكون قادرا على كتابة كود برمجي باستخدام أي من اللغات البرمجية العالية المستوى بالشكل الجيد. وكذلك لن تكون قادرا من العمل على المصرفات وأنظمة التشغيل والتي تعتبر من أفضل الفرص الوظيفية الموجودة في هذا المجال. كذلك فلا يمكن الاعتماد عليك كليا لانشاء تصاميم هيكلية لمشاريع كبيرة. لا يهمني كثيرا في ما تعرفه عن طريقة التعامل مع كل من مسألة الاستمرار أو الاغلاق أو التعامل مع حالات الاستثنائات مثال أنك لا تستطيع تقديم تفسير لأمر مثل: أن (*س++ = *ص++) عبارة عن نسخ متغير أو أن هذه الطريقة ليست الطريقة المتعارف عليها في القيام بهذا الأمر. حسنا ، في الحقيقة أنت تترجم على أساس أمور خرافية. فعلى سبيل المثال يستطيع الطبيب أن ينجح في مهمته على الرغم من أنه لا يعرف شيئا عن أساسيات التشريح وانما قام بكتابة الوصفات الطبية بناء على توصيات الصيدلاني.
تعلم الاقتصاد الجزئي (microeconomics) قبل التخرج.
من الأمور المستحبة في دراستك الجامعية التسجيل بمادة مقدمة في الاقتصاد للحصول على نظرة ولو سريعة في حالة أنك لم تدرس أي من مواد الاقتصاد حيث تعد مثل هذه المواد (ECON) من المواد التي تبدأ الدراسة بها من إثارة ضجة مدوية عن العديد من النظريات والحقائق المفيدة والتي يمكن إثبات صدقها في الواقع الذي نعيشه وما إلى ذلك من الأمور. لذلك يمكنك البداية من هنا (التسجيل بمادة مقدمة في عالم الاقتصاد أو مادة ممشابهة) والتخصص في جزئية ما فيما بعد. ومن الأمور المحبذة أن تكون في بداية المسار هي مادة مايكروايكونوميكس والتي تمثل حرفيا كل ما يهم من النظريات في مجال الاقتصاد والأعمال التجارية. وبعد أن تبدأ الأمور في الاستياء تدريجيا ستواجه ما يطلق عليه بالاقتصاد الكلي (Macroeconomics) والعديد من النظريات المثيرة مثل العلاقة بين أسعار الفائدة والبطالة والتي أثبتت بطلانها أكثر من صدقها (ملاحظة: يمكنك تجاهل هذه الجزئية إن رغبت في ذلك). وبعد ذلك تبدأ الأمور في الاستياء أكثر وأكثر والعديد من الطلبة حينها ينتقلون لتخصصات أخرى كالفيزياء مثلا والتي يستطيعوا من خلاله الحصول على وظائف أفضل في وول ستريت على أية حال. ولكن ومع كل هذا تأكد من دراستك لتخصص الاقتصاد الجزئي (microeconomics) لحاجتك لمعرفة ما يمثله كل من مسألة العرض والطلب وميزة التنافس وفهم ماهية NPVs ومسالة الخصومات والتنزيلات والفائدة الهامشية قبل أن تبدأ في استيعاب سبب عمل الاقتصاد بالطريقة التي يعمل عليها حاليا..
ولكن لماذا على طلبة الحاسب الآلي دراسة مواد الاقتصاد؟ لأنه وبكل بساطة المبرمج الذي يفهم أساسيات العمل والاقتصاد سيكون مبرمجا ذو قيمة للاقتصاد والمؤسسة من غيره والذي لا يمتلك مثل هذه المقومات. هذا هو كل ما في الأمر. ولا أخفي عليكم عدد المرات التي أصيب فيها بالإحباط من المبرمجين الذي يروجون للعديد من الأفكار المجنونة رغم أنها معقولة من الناحية البرمجية إلا انها بلا معنى في واقعنا الرأسمالي. لذا فإذا فهمت هذه الأفكار وما يتعلق بالاقتصاد وطريقة عمله ستكون مبرمجا ذو قيمة أكبر من أقرانك بلا أدنى شك وستحصل على مكافآت مجزية لأسباب ستدرسها أيضا في مواد الاقتصاد.
لا تتجاهل مواد غير التخصص لأنها مملة
تجاهلك للمواد الغير المتعلقة بالتخصص طريقة سهلة للحصول على معدل GPA أقل ونصيحتي لك أن لا تقلل أبدا من أهمية معدلك التراكمي في الدراسة الجامعية حيث الكثير من مديري الموارد البشرية ـوأنا منهم ـ يلقون النظرة الأولى على المعدل التراكمي عندما يقرؤون السيرة الذاتية للمتقدمين ولن نعتذر لهذا التصرف لأن المعدل التراكمي يعكس مستواك ونظرة العديد من الدكاترة على أعمالك على مدة من الزمن ليست بالقصيرة وعلى العديد من الأعمال المختلفة أكثر من أي شيء آخر. ولكن ماذا عن مستوى أختبار SAT؟؟ حسنا هذا اختبار يقيس مستواك في بضع ساعات فقط بينما معدلك التراكمي يعكس مستواك في المئات من البحوث والاختبارات والمشاركات الصفية على مدى ٤ سنوات أو أكثر من ذلك. نعم هناك بعض الجوانب السلبية في هذا الأمر مثل: كان هناك تضخم في المعدل التراكمي في السنوات الأخيرة كما أنه لا يوجد أي مؤشر في معدلك التراكمي يشير إن كنت قد حصلت على معدل عالي لأنك درست مواد سهلة في الاقتصاد المنزلي في أحد الكليات المحلية بقرية معزولة أو أنك حصلت على ذلك المعدل بدراسة مواد ماجستير في الميكانيكا الكمية في معهد كاليفورنيا للتكنولوجيا على سبيل المثال. في نهاية المطاف عندما ألحظ أن معدلك التراكمي ٢.٥ مثلا ومن كلية محلية ، سأطلب منك نسخة من المواد التي قمت بدراستها ورسائل التزكية من الدكاترة الذين درسوك في تلك الفترة. عندها فقط سأنظر على المعدل العال في كل المواد وليس مواد التخصص فقط.
ولكن لماذا علي أنا كصاحب شركة عندما أبحث عن مبرمجين ومطوري برامج أهتم كثيرا عن الدرجة التي حصلت عليها في مادة "التاريخ الأوربي" مثلا؟؟ فالتاريخ ليست إلا مادة مللة في نهاية المطاف. حسنا. ولكن لاحظ أن كل ما تقول لي الآن هو أن علي أن أوظفك أنت لأنك لا تعمل بالقدر الكاف عندما يكون العمل مثيرا للسأم والملل. حسنا ولكن لا تنسى أن هناك بعض الأمور المملة في عالم البرمجة أيضا حيث لكل وظيفة لديها جوانب مملة وأنا لا أرغب في توظيف أشخاص يريدون أن يقوموا بما يحلوا لهم فقط.
فعلى سبيل المثال درست أيام دراستي الجامعية مادة تسمى "الأنثروبولوجيا الثقافية" لأنني كنت أحسب أنني بحاجة إلى أن أدرس شيئا عن علوم الإنسان وكانت حينها بدت لي مادة عامة ومثيرة للاهتمام.
مادة مثيرة للاهتمام؟؟ لا أظن ذلك البتة. لقد كان علي أن أقرأ تلك الكتب المملة وبشكل لا يمكن تخيله عن الهنود القاطنين في الغابات المطيرة البرازيلية وسكان جزر الغابات المطيرة الذين (مع كل احترامي وتقديري) لا يثيرون أي اهتمام بالنسبة لي. وفي مرحلة ما من دراستي لهذه المادة ، كنت مثقلا بدرجة لا توصف حتى وصلت إلى درجة أنني أشتقت إلى القيام بأمر أكثر إثارة مثل مشاهدة العشب وهو ينمو.. كنت حينها قد فقدت الرغبة في التركيز على المواضيع التي كنا نناقشها تماما وبصورة شاملة. تعبت عيناي من كثر ما أقرأ وأشارك في النقاشات الصفية التي لا نهاية لها عن النباتات المتسلقة. ولا أدري عن السبب الذي كان يدفع سكان جزر المحيط الهادي من قضاء كل هذا الوقت على زراعة مثل هذه الأشجار. لا أتذكر الكثير عن ذلك ، لقد كانت مملة بشكل لا يصدق لكنه كان سيدخل ضمن مقررات أختبار منتصف الفصل لذا قررت الاندماج في المادة ومحاولة فهمها. في نهاية المطاف وصلت إلى قرار أن مادة الأنثروبولوجيا الثقافية هي بمثابة التحدي بالنسبة لي والعقبة الشخصية من الملل في سبيل نجاحي. فإذا كانت لدي القدرة على الحصول على معدل "A" في المادة حيث تتطلب الاختبارات مني معرفة كل شيء عن البطانيات المستخدمة في حفل بوتلاش (حفل كبير عند الهنود الحمر) ، لذا فسأصل إلى يقين تام بأني أملك المقدرة على التعامل مع كل شيء مهما كان مملا. وفي المرة القادمة التي سأجد نفسي متعثرا بالخطأ في مركز لينكولن جالسا لمدة ١٨ ساعة وأنا أشاهد "حلقة الخواتم" لـواجنر سأكون شاكرا أن دراستي لهنود كواكيوتل جعلت من هذه المهمة سهلة للغاية مقارنة بتلك الدراسة.
لقد حصلت فعلا على تقدير "ممتاز" في المادة وإذا كان بإمكاني الحصول على هذه الدرجة فهذا يعني أنك أنت أيضا قادر على الحصول عليها.
تأكد من التحاقك بدورات مكثفة في البرمجة.
أتذكر الآن تلك اللحظة التي قسمت فيها بأنني لن أكمل دراستي العليا أبدا.
لقد كانت أثناء دراستي لمادة المنطق الحيوي مع الأستاذ لينور زك في جامعة يال والذي كان واحدا من ألمع أساتذة قسم الحاسب الآلي بالجامعة آنذاك.
ولكن لن تقدم ذكرياتي الغامضة في هذا الموضوع الكثير في هذا المجال ولكن أسمحوا لي بأن أطرحها بين أيديكم على أية حال. فكرة المنطق الرسمي أو الشكلي هو إثبات أن بعض المسلمات صحيحة لأن بعض الأمور الأخرى صحيحة أيضا (هل فهمت شيئا؟؟). على سبيل المثال (شكرا لهذا المنطق) "كل من يحصل على درجات جيدة سيحصل على وظيفة". لذا الحقيقة القائلة بأن "أحمد حصل على درجات جيدة" تتيح لك باستنتاج الحقيقة التالية: "سوف يحصل أحمد على وظيفة". الأمر برمته غريب الأطوار بعض الشيء ولا يستغرق أكثر من عشر ثوان لتكتشف مثل هذه الأمور بصورة ممتعة ومفيدة في الوقت نفسه.
أما المنطق الديناميكي أو الحيوي فهو الأمر نفسه بالاضافة إلى البعد الزمني. قس على ذلك هذا المثال: "بعد تشغيل المصباح يمكنك من رؤية حذائك" وبما أن "المصباح كان مضاء من قبل" يدل على "أنك تستطيع رؤية حذائك الآن".
تعتبر مادة المنطق الديناميكي أمرا مثيرا للدكاترة النظريين اللامعين مثل البروفسور "زاك" لما يحمله من بصيص الأمل في القدرة وبشكل رسمي على إثبات بعض الأمور المتعلقة ببرامج الكمبيوتر والتي من الممكن أن تكون مفيدة في حالة استطعت إثبات وبشكل رسمي أن عربة الروفر (المستخدمة في استكشاف كوكب المريخ) عندما ترتفع حرارتها سيؤدي إلى إعادة تشغيل نظامها مرارا وتكرارا طول اليوم بينما كان من المفترض أن تقوم بالتجوال في أنحاء الكوكب الأحمر.
لذا وفي اليوم الأول من الدراسة قام الدكتور بملئ صبورتين بالكامل والحائط الجانبي ليثبت لنا بأنه إذا كان لديك مفتاح تشغيل المصباح والغرفة مظلمة وقمت بتشغيل المفتاح سينير الضوء الغرفة.
كان البرهان معقدا بشكل مجنون وعرضة للخطأ بشكل كبير. وكان إثبات أن الدليل نفسه كان صحيحا أصعب مهمة من إثبات أن حقيقة أن إدارتك لمفتاح تشغيل المصباح سينير الغرفة. ومع ذلك هناك العديد من خطوات الدليل قد تم تجاهل كتابتها على السبورات لأنها كانت مملة جدا ﻹدراجها بشكل رسمي في الشرح. تم التوصل إلى العديد من خطوات الشرح باستخدام طريقة "الاستقراء" وخطوات أخرى عن طريق "الاستنباط" وغيرها من الطرق التي لا تزال تستخدم من قبل طلاب الدراسات العليا ..
أما بالنسبة للفرض المنزلي ذلك اليوم فكان علينا اثبات العكس: اذا كانت الغرفة مظلمة والآن الغرفة منارة ، أثبت أنك قمت بتشغيل المصباح.
حاولت القيام بذلك ، حاولت فعلا. صدقوني..
لقد قضيت الساعات تلو الساعات في المكتبة محاولا القيام بذلك..
وبعد عدة ساعات من المحاولة وجدت خطأ في إثبات الدكتور زاك الأصلي والذي كنت أسعى جاهدا لتقليده. وربما الخطأ لأنني نقلته من السبورة بشكل خاطئ ولكنه ساعدني في استيعاب أمرا ما: إذا كان علي أن أقضي ما يقارب الثلاث ساعات من ملء السبورات لإثبات شيء تافه وعرضة للخطأ في كثير من المواقف ، فإن هذه الآلية لن تكون قادرة على إثبات الأشياء المثيرة للاهتمام.
ولا يعني ذلك أن هذا الأمر يشغل بال المشتغلون بالمنطق الحيوي: فهم لا يقومون بذلك لأنه مفيد ولكنهم يقومون بذلك ليثبتوا بذلك مقدرتهم و أحقيتهم في العمل والبقاء على مناصبهم.
انسحبت من المادة أخيرا وأقسمت باليمين المغلظة بأنني لن أكمل دراستي العليا في علوم الحاسب الآلي.
الدروس المستفادة من القصة السابقة هي أن علوم الحاسب الآلي وتطوير البرمجيات أمرين مختلفين تماما. وإذا كنت محظوظا حقا فإنك ستجد منهجا جيدا لتدريس تطوير البرمجيات في كليتك. على الرغم من أن الكثير من مدارس النخبة تفتقر لبرامج مماثلة لاعتقادها أن مسألة تدريس المهارات العملية من الأفضل تركه للمعاهد التقنية والمهنية وبرامج إعادة التأهيل المنتشرة بالسجون. فالنظرة الاستعلائية لمثل هذه الجامعات هي ما تركتها ببرامج مهزوزة لتعليم البرمجة لأنك وبكل بساطة تستطيع تعلم البرمجة من أي مكان تقريبا. أما نحن في جامعة "يال" فإننا نخرج "قادة العالم" وهل تظن أن التكاليف الدراسية التي يدفعها الطلبة (١٦٠.٠٠٠$) يؤهلك لدراسة عبارات (while, if) الشرطية؟؟ ما الذي تراه في جامعتنا؟؟ هل هذي بالنسبة لك أحد ندوات لغة جافا الغير الموثوقة مقامة في أحد الفنادق الرخيصة ؟؟ ألخ...
المشكلة الحقيقية هي أننا لا نملك حقا المدارس المهنية المتخصصة في مجال تطوير البرمجيات ، لذا إذا أردت أن تكون مبرمجا فربما عليك الالتحاق بقسم علوم الحاسب الآلي ، وهو تخصص جيد للالتحاق به ولكنه موضوع آخر يختلف تماما عن تطوير البرمجيات.
وإذا كنت محظوظا كفاية فإنك ستجد الكثير من الدورات المكثفة في البرمجة في قسم الحاسب الآلي بالجامعة مثلما هو الحال من وجود العديد من المواد بقسم التاريخ التي تجبرك على الكتابة بما يكفي لتتعود على الكتابة. وهذه هي أفضل المواد التي أنصحك بالالتحاق بها. وإذا كنت من محبي البرمجة فلا تشعر بالسوء حيال دراستك بعض المواد التي لا تفهم مغزى دراستك لها مثل مادة "التفاضل والتكامل" ومادة "الجبر" والتي لن تلمس الكمبيوتر أثناء دراستك لها. حاول البحث عن مواد في مستوى الـ٤٠٠ والتي تحتوي على جزء عملي وتطبيقي.
توقف عن القلق بشأن انتقال أغلب وظائف التقنية إلى الهند
حسنا ، وقبل كل شيء إذا كنت فعلا في الهند فليس هناك داع لتقلق بهذا الشأن على الإطلاق ، لذا لا تفكر أطلاقا في مسالة انتقال أغلب الوظائف إلى الهند. إنها وظائف رائعة وتمتع بها ما دمت تملك صحة جيدة.
ولكن لا تزال الأخبار تأتيني مشيرة إلى إن الالتحاق بأقسام الحاسب الآلي في الجامعات ينخفض بشكل خطير وأحد الأسباب المتداولة بين الناس بأن "الطلبة متخوفون من الالتحاق بمجال أغلب وظائفه قد انتقلت إلى الهند..". ولكن هذا الافتراض خاطئا لأسباب عدة. أولا: محاولة اختيار وظيفة على حسب الوضع الاقتصادي الحالي حماقة بعينها. ثانيا: تعتبر البرمجة تدريبا جيدا وبشكل لا يصدق للعديد من الوظائف الممتعة مثل هندسة المشاريع العملية حتى وإن كانت كل وظيفة متعلقة بالبرمجة قد انتقلت بالفعل إلى دول مثل الصين والهند. ثالثا: وثق بي في هذه النقطة ، لا يزال هناك نقص حادا من المبرمجين الجيدين هنا وحتى في الهند نفسها. نعم هناك الكثيرين من خريجي الحاسب الآلي العاطلين عن العمل والذين لا يتوقفوا عن إظهار امتعاضهم في قضاء الكثير من الوقت بلا عمل بعد التخرج. ولكن هل تعلم لماذا؟؟ المبرمجين الحقيقين (ربما سيغيضهم هذا) يحصلون على وظائف بسهولة تامة. رابعا: هل لديك أفكارا أفضل؟؟ ما الذي ستفعله؟؟ ستتخصص في التاريخ مثلا؟؟ اذن لا يوجد لديك إلا خيار الالتحاق بكلية الحقوق. وهناك أمرا واحدا اعرفه ومتأكد منه بأن ما يقارب الـ٩٩٪ من المحامين العاملين حاليا يكرهون وظائفهم ، ويكرهون كل يوم ينهضون فيه ليجدوا أنفسهم في نفس الوظيفة ومع كل ذلك هم يعملون ٩٠ ساعة أسبوعيا أيضا. هل يمكنك تخيل ذلك؟؟ ومثل ما ذكرت سابقا إذا كنت تعشق البرمجة فعليك شكر الله على هذه النعمة فأنت من الأقلية المحظوظة من الناس الذين يستطيعون كسب لقمة عيش جيدة من خلال القيام بعمل يستمتعون القيام به.
على أية حال ، لا أظن الطلبة يفكرون في هذا الأمر بالفعل والانخفاض في مستوى الطلبة الملتحقين بأقسام الحاسب الآلي الفعلي هو مجرد رجوعه إلى مستوياته الطبيعية بعد الفقاعة الكبيرة في الالتحاق بمثل هذه التخصصات التي ظهرت قبل سنوات عدة بعد الهوس التي لحقت بهم بعد ظهور تقنية الانترنت. الكثير من التحق بتخصصات التقنية في تلك الفترة لا يحبون البرمجة فعلا ولكن كانوا يظنون أن أمانيهم ستتحقق من خلال الالتحاق بقسم الحاسب الآلي ليحصلوا فيما بعد على الوظائف المثيرة ذات الأجور العالية وفرصة الحصول على الوظيفة في شركات مرموقة قبل العمر ٢٤ ستتحقق ولكن هولاء الأشخاص قد اختفوا منذ فترة طويلة والحمد لله على ذلك.
بغض النظر عن ما تقوم به حاول الالتحاق ببرنامج صيفي جيد
أصحاب العمل الأذكياء يعلمون أن الطالب الذين يعشق البرمجة فعلا قد قام بكتابة قاعدة بيانات لزياراته لطبيب الأسنان وهو في الصف الثامن. كما أنه درس الكمبيوتر في أحد المخيمات الصيفية لمدة لا تقل عن ثلاث فصول قبل التحاقه بالدراسة الجامعية وقام ببناء نظام إدارة المحتوى لصحيفة الجامعة والتحق بتدريب صيفي في أحد شركات البرمجة. هذا هو ما يبحثون عنه بالفعل أثناء تصفح سيرتك الذاتية.
وإذا كنت فعلا من عشاق البرمجة ، فإن من أكبر الأخطاء الممكن أن تقوم بها هو التحاقك بأي نوع كان من الوظائف قبل التخرج سواء أكان تدريب صيفي أو وظيفة بدوام جزئي أو ما عدا ذلك ما دام أنه ليس له علاقة بالبرمجة لا من قريب ولا من بعيد. أعلم بأن كل طالب وهو في سن ١٩ يريد العمل في أحد المجمعات التجارية كمحاسب أو حتى في تغليف الهدايا ولكن لديك مهارة لا يمكن تخيل قيمتها حتى وإن كنت لا تزال في سن المراهقة ومن الحماقة أن تهدرها بالعمل في المجمعات التجارية أو غسل صحون بأحد المطاعم. وبحلول حفل تخرجك ما عليك فعلا هو أن تكون لديك سيرة ذاتية تسرد مجموعة مذهلة من وظائف البرمجة قد قمت والتحقت بها أثناء دراستك الجامعية. فخريجي A&F سيعملون في مكتب تأجير السيارات لمساعدة الناس في الأمور المتعلقة بالإيجارات في نهاية المطاف (باستثناء توم ويلينج فهو سيلعب دور سوبرمان في الأفلام السينمائية).
ولجعل حياتك سهلة وللتأكيد أن هذه المقالة مفيدة لي أيضا ، فإن شركتي "Fog Creek Software" تملك العديد من برامج التدريب الصيفية والتي ستبدو رائعة على سيرتكم الذاتية. "ستتعلم الكثير عن برمجة التطبيقات وتطويرها والأمور المتعلقة بالمشاريع التجارية مع شركة "Fog Creek Software" أكثر من أي برنامج تدريبي آخر." حسب ما يقول أحد طلاب الفصل الصيفي الماضي"بن" بنفسه وليس لأنني أرسلت له رسالة إلى غرفة نومه للحصول على هكذا تصريح. حسنا للتنبيه بأن التقديم لهذه البرامج ينتهي بتاريخ ١ فبراير.
إذا عملت بنصائحي السابقة فأنت أيضا يمكن أن ينتهي المطاف بك في بيع أسهم شركة مايكروسفت أو أن ترفض وظيفة بشركة جوجل لأنك ترغب في العمل في مكتب بباب وغيرها من القرارات الغبية المتعلقة بحياتك الشخصية ولكنها لن تكون غلطتي أنا. لقد قلت لك بأن لا تستمع لي من البداية.
نبذة عن الكاتب
أنا جويل سبولسكي ، أحد مؤسسي مؤسسة "Fog Creek Software" وهي عبارة عن أحد شركات التقنية بمدينة نيويورك أثبتت أنه من الممكن معاملة المبرمجين بصورة جيدة مع الاحتفاظ بمعدل جيد من الربحية. يحصل المبرمجين على مكاتبهم الخاصة بالإضافة إلى وجبة غداء مجانية مقابل العمل لمدة ٤٠ ساعة أسبوعيا فقط. أما العملاء فأنهم يدفعون للتطبيقات البرمجية إذا كانوا فقط سعيدين من اقتنائهم للمنتج. من التطبيقات التي نعمل عليها برنامج Trello وهو عبارة عن مدير إدارة مشاريع بسيط جدا وتطبيق FogBugs وهو عبارة عن برنامج محسن لتتبع العلل صمم لمساعدة فرق تطوير البرمجيات في تتبع العلل بطريقة سلسة وتطبيق Kiln والذي يسهل مسألة التحكم بالكود المصدري. بالإضافة إلى ذلك فأنا أحد مؤسسيStack Exchange ورئيسها التنفيذي. ولمعرفة المزيد عني يمكنك زيارة هذه الوصلة.
المقالة الأصلية: Advice for Computer Science College Students