نسيتني البرمجة أو نسيتها !

في البداية مرحباً ...

قصتي ببساطة أني طالب في السنة الثالثة للهندسة المدنية في إحدى الجامعات المصرية , كنت قد تقدمت بشكل كبير - خلال سنوات متتابعة من التعلم والتلقي والممارسة - في تطوير الويب Web Development بإستخدام لغة ال PHP وبالإستعانة باللغات الأخرى مثل Javascript كما بعض التقنيات مثل MVC Framework .

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

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

لا أعلم ما الحل ءأرجع إلى تطوير الويب كدراسة إضافية أو أنطلق لدراسة برمجة التطبيقات على منصة Android ؟ أم أتخلى عن البرمجة نهائياً ؟ وإذا تخليت عنها , فأنا أبغي وظيفة أضافية بجانب الدراسة أحصّل بها قوت يومي مع العلم أني متقدم باللغة الإنجليزية فهل من إقتراح !

أبغي مشورتكم الطيبة فلا تبخلوا علي برأي !

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

أنصحك بأن تُكمل دراستك وتجعلها الهدف الرئيسي الأول، فأنتَ كما قلت في السنة الثالثة، أي أنّك قطعتَ شوطاً كبيراً فيها ولم يبقَ لك إلا القليل، فركّز في دراستك حتى تحصل على الشهادة وتنتهي من المشاريع والامتحانات الجامعية، وبعدها تستطيع التفرّغ التام لكل ما تريده.

طبعاً كلامي لا يعني أن تترك مجال البرمجة بشكلٍ نهائي، فتستطيع أن تخصص لنفسك ولو ساعتَين في الأسبوع للاطّلاع على أمور البرمجة وتجريب ما تتعلّمه كي تمارسه فلا تنساه.

بما أنّك تعلّمت PHP و JavaScript فأنصحك أن تختار framework لكلٍّ منهما (وابدأ بواحدةٍ أولاً، ثم انتقل إلى التي تليها عندما تشعر أنّك تعرّفتَ بشكلٍ معمّقٍ على الأولى وأنشأتَ فيها مشروعاً متوسط الصعوبة أو مشروعَين).

تخصيصك لساعتَين أسبوعياً لا أظنّه يكفيك، ولكن في حال اختيارك إتمامَ دراستك وحصولك على الشهادة أولاً فهاتان الساعتان تبقياكَ على اطّلاعٍ وممارسةٍ لا بأس بهما.

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

أرسل الـ CV الخاص بك عندما تجد نفسك قادراً -ولو جزئياً- على تولّي الشاغر المطلوب، ولا تشعر أنّك لستَ أهلاً لذلك، بل جرّب وادخل في مجال العمل حتى لو أجريتَ مقابلاتٍ عديدة دون أن تتوظف، فكلّ ذلك يجعل لديك خبرةً واطّلاعاً على سوق العمل الذي ربما ستكون عنصراً فعالاً فيه عندما تتخرج.

لا أدري إن كنتَ ستعمل في مجال الهندسة المدنية عند التخرج، ولا أنتَ تعلم أيضاً، لذلك عليكَ أن تغتنم فرصةً -بل فرصاً- أخرى بكلّ ما أوتيت من قوة، وطالما أنّك محبٌّ لمجال البرمجة وقد عملتَ به من قبل، فلا تضيّع هذه الفرصة قدر المستطاع.

لغتك الإنكليزية ستفيدك في متباعة كورسات أجنبية، وعوّد نفسك على التعلّم من خلال المقالات أكثر من الفيديوهات.

ربما تعلّمك وترجمتك للمقالات يجعلك تدخل مجال التدوين والكسب من خلاله، فتستطيع إنشاء موقعٍ أو مدونةٍ خاصّةٍ بك لتنشر فيها مقالاتٍ تعليمية، فتكسب من خلالها على المدى البعيد ربما.

وأيضاً ربما تستطيع إعطاء دروسٍ خاصّةٍ في مجال البرمجة أو الرياضيات، أو أن تتّفق مع معهدٍ لإعطاء كورس كامل لديهم.

أخيراً، فتجربتي -باختصار- أنّي في السنة الخامسة من الجامعة حاولت أن أعمل لدى شركة برمجية، ولكن بسبب ضغط المشاريع الجامعية والامتحانات اضطررت لترك العمل حتى أنتهي من الجامعة، وعندما تخرّجت عدتُ للعمل مرتاح البال ولا ضغوط نفسية عليّ.

ذكرتُ ذلك كي تكون في صورة الأمر، فالعمل لدى الشركات ليس بالأمر الهيّن، وخاصّةً أنّ ساعات العمل طويلة ومُتعبة.

بالتوفيق.

Moaaz_AbdAllah أضف ردا

بدايةً لا أجد الكلمات لشكرك أخي الطيب , حقاً أشكرك على مساهمتك المفيدة.

أنصحك بأن تُكمل دراستك وتجعلها الهدف الرئيسي الأول

بالفعل أنا كذلك أخي , ولكن نحن في وطن لا نضمن فيه العمل بمجرد التخرج من الجامعة كما أنني أريد أن يكون لي مذ الآن وظيفة ثانوية أجني بها بعض المال اللازم لسد قوت اليوم.

بما أنّك تعلّمت PHP و JavaScript فأنصحك أن تختار framework لكلٍّ منهما (وابدأ بواحدةٍ أولاً، ثم انتقل إلى التي تليها عندما تشعر أنّك تعرّفتَ بشكلٍ معمّقٍ على الأولى وأنشأتَ فيها مشروعاً متوسط الصعوبة أو مشروعَين).

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

ربما تعلّمك وترجمتك للمقالات يجعلك تدخل مجال التدوين والكسب من خلاله، فتستطيع إنشاء موقعٍ أو مدونةٍ خاصّةٍ بك لتنشر فيها مقالاتٍ تعليمية، فتكسب من خلالها على المدى البعيد ربما.

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

وأيضاً ربما تستطيع إعطاء دروسٍ خاصّةٍ في مجال البرمجة أو الرياضيات، أو أن تتّفق مع معهدٍ لإعطاء كورس كامل لديهم.

أخبرتك - أخي - أن التعليم في جامعتنا يكون بشكل مكثف ولا يترك لي الوقت بحيث أتخذ مهنة كبيرة كهذه بجواره.

أخيراً، فتجربتي -باختصار- أنّي في السنة الخامسة من الجامعة حاولت أن أعمل لدى شركة برمجية، ولكن بسبب ضغط المشاريع الجامعية والامتحانات اضطررت لترك العمل حتى أنتهي من الجامعة، وعندما تخرّجت عدتُ للعمل مرتاح البال ولا ضغوط نفسية عليّ.

هل تخصصك الأكاديمي هو البرمجة يا أخي أم تتخذها عمل إضافي؟

العفو .. هذا واجبي وأقل.

  • صحيحٌ ما قلتَه أنّ التوجّه الحالي لتطبيقات الجوال، ولكن كونك تعلّمتَ PHP و JavaScript، وكونك شارفتَ على نسيان البرمجة، فقبل أن تشرع في برمجة تطبيقات الجوال أنصحك بمراجعة مفاهيم البرمجة من خلال بعض المشاريع البسيطة في تطبيقات الويب، ربما لا تجدُ رابطاً يربط بين الأمرَين، ولكن إن أقدمتَ على مجالٍ لم يسبق لك أن خضتَه فربما تجد صعوبةً تجعلك تترك المجال برمّته، أما لو أقبلتَ عليه مستذكراً للمفاهيم البرمجية الأساسية فستجد الأمر أبسط وأسهل.

أضف إلى ذلك أنّك ستحتاج حتماً للتعامل مع تقنيات الويب (بالحدود الدنيا) عند التعامل مع "بعض" تطبيقات الجوال لجلب البيانات وفلترتها أو إعادة صياغتها وترتيبها حسب حاجتك.

  • إذا كنتَ مهتمّاً بتطبيقات الجوال فأنصحك بتعلّم Flutter، فهي ستغنيك عن تعلّم Java و Objective-C، فمن خلال Flutter تقوم بإنشاء تطبيق واحد يعمل على منصّتَي Android و IOS.

وهي framework سهلة وجميلة وممتعة جداً.

  • التدوين وترجمة المقالات لا يجدي كثيراً إلا إذا كان عندك الكثير من الزيارات والإعلانات (حسب ما أعرف)، ولذلك قلتُ لك أنّ التكسّب منها يكون على المدى البعيد، وربما البعيد جداً.

  • أشرتُ عليكَ بإعطاء الدروس في البرمجة والرياضيات لأنّك تعلم بالبرمجة وتدرس الهندسة المدنية، فلن يكون الأمر صعباً عليك، سيأخذ وقتاً بالطبع، ولكن لن تشعر بالملل منه.

بالنهاية فأنتَ بحاجةٍ لعملٍ لتكسب منه المال، حتى لو كانت دراستك تستهلك منك وقتاً كثيراً، فلا بدّ من أن تحاول تدبير درسٍ هنا ودرسٍ هناك، لو في الصباح الباكر أو في المساء المتأخر، وصدّقني طالما أنّك تُحسن النية في كسب الحلال فسيبارك الله لك بالوقت.

  • انا تخرّجت من كلية الهندسة المعلوماتية، وتحديداً اختصاص الذكاء الصنعي، ولكن في بلادنا العربية لا يوجد اهتمامٌ بهذا المجال إلا ما رحم ربي، فبشكلٍ تلقائي سيتحول عمل مهندس المعلوماتية إلى برمجة الويب وتطبيقات الجوال، فهذا هو عملي الحالي.

صحيحٌ ما قلتَه أنّ التوجّه الحالي لتطبيقات الجوال، ولكن كونك تعلّمتَ PHP و JavaScript، وكونك شارفتَ على نسيان البرمجة، فقبل أن تشرع في برمجة تطبيقات الجوال أنصحك بمراجعة مفاهيم البرمجة من خلال بعض المشاريع البسيطة في تطبيقات الويب، ربما لا تجدُ رابطاً يربط بين الأمرَين، ولكن إن أقدمتَ على مجالٍ لم يسبق لك أن خضتَه فربما تجد صعوبةً تجعلك تترك المجال برمّته، أما لو أقبلتَ عليه مستذكراً للمفاهيم البرمجية الأساسية فستجد الأمر أبسط وأسهل.

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

ذا كنتَ مهتمّاً بتطبيقات الجوال فأنصحك بتعلّم Flutter، فهي ستغنيك عن تعلّم Java و Objective-C، فمن خلال Flutter تقوم بإنشاء تطبيق واحد يعمل على منصّتَي Android و IOS. وهي framework سهلة وجميلة وممتعة جداً.

بالحقيقة لم أقرأ عنها , فقط سمعت بها من قبل ومن ثم تجاهلتها , لكني أود أنا أستعلم منك يا صديقي.

هل إطار العمل هذا ( Flutter ) قوية وجديرة بخوض التجربة ؟ وعلى أي لغة هو مبني - هذا الإطار - ؟

التدوين وترجمة المقالات لا يجدي كثيراً إلا إذا كان عندك الكثير من الزيارات والإعلانات (حسب ما أعرف)، ولذلك قلتُ لك أنّ التكسّب منها يكون على المدى البعيد، وربما البعيد جداً.

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

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

جميلة مشورتك أنت أخي وهذا ينُم على جمال روحك الطيبة.

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

انا تخرّجت من كلية الهندسة المعلوماتية، وتحديداً اختصاص الذكاء الصنعي، ولكن في بلادنا العربية لا يوجد اهتمامٌ بهذا المجال إلا ما رحم ربي، فبشكلٍ تلقائي سيتحول عمل مهندس المعلوماتية إلى برمجة الويب وتطبيقات الجوال، فهذا هو عملي الحالي.

ما شاء الله أخي. عسى الله أن يرزقك بالعمل الذي تحبه في المكان الذي تحبه.

عسى الله أن يرزقك بالعمل الذي تحبه في المكان الذي تحبه.

اللهمّ آمين ... جميعاً بإذن الله.

بخصوص Flutter: نعم، فهو إطار عمل قوي جداً، ويمكن اعتباره المسيطر حالياً على أطُر العمل الشبيهة به (مع أنّه جديد نوعاً ما)، ومبني على لغة Dart، وهي لغة بسيطة وسهلة ولستَ بحاجةٍ لتعلّمها بشكلٍ مستقل قبل أن تباشرَ بتعلّم Flutter، فمن خلال تعلّمك لـ Flutter تستطيع فهم وتعلّم Dart بشكلٍ سلس.

مبدأ Flutter ربما يكون مختلفاً بعض الشيء عن بقية أطُر العمل، فهي تعتمد على مفهوم الـ widgets بشكلٍ كامل، ولذلك ربما تجد صعوبة في بداية الأمر، لكن صدّقني -وعن تجربة- فبعد عدّة أيام من العمل عليها ستجدها أبسط ممّا كنتَ تتوقع.

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

إذا أردتَ الاطّلاع عليها قليلاً (بعد قراءة بعض المقالات التي تشرح مبدأ Flutter) فأنصحك بمشاهدة فيديوهات بعنوان Flutter: Widget of the day، وهي فيديوهات لا تتجاوز الدقيقتَين، ويتم من خلالها عرض widget من الـ widgets المتوفرة في Flutter بشرحٍ بسيط لفهم كيفية استخدامه ضمن التطبيق.

بعد التعرّف على الـ widgets وكيفية تنظيمها ضمن التطبيق سيسهُل عليك التفكير بكيفية إنشاء التطبيق الخاص بك من الصفر للوصول إلى ما تحتاجه.

وإن أردتَ أي مساعدة فأنا جاهز بإذن الله، وإذا أردتَ تعلّم إحدى أطُر العمل لتطوير الويب المبنية على PHP فسبق لي أن كتبتُ عدّة مقالات باللغة العربية لتعلّم إطار العمل Yii2، فيمكنك قراءتها (في الرابط أدناه)، وإن صعُب عليكِ شيءٌ فيها فأيضاً أنا بالخدمة إن شاء الله.

kikoknkn أضف ردا

توقف عن البرمجة فورا ...

مسارك المهني كمهندس مدني هو مسار صعب ولكنه ممتاز ...

استغل وقتك في التدرب بأي مكتب هندسي ... انزل الى ورشات البناء و المشاريع .

تعلم كيف يجني مهندسي المدني المال ( هذا امر لن تتعلمه في الجامعة ).

تعلم التعامل مع العمال و المتعهديين واصحاب المشارييع

أما هوسك البرمجي ... فوظفه مستقبلا في برمجت تطبيقات تنفعك في مهنتك الهندسية وتحسن انتاجيتك و اختر لغة مناسبة لذالك .

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

كما أنه أخي أنا أبحث عن عمل ثانوي أحصّل به قوت يومي وأشغل به وقت فراغي حتى يتسنى لي العمل في الهندسة المدنية وفي نفس الوقت لا يثنيني - هذا العمل - عن دراستي فهل من إقتراح أو نصيحة - أكرمك الله - !

نصيحتي السابقة مستنتجة من ثلاث نصائح سمعتها من اصحابها .

الاولى : من دكتور في هندسة المدني اللذي اكد انه على المهندس ان يحتك بالمشاريع ليكتسب الخبرات قبل ان يقرر الجلوس في المكاتب .

الثانية : مهندس ميكانيك ( الاول على دفعته ) اكد ان اكثر زملائه نجاحا بعد التخرج كانو من احتكو بقطاع الاعمال قبل التخرج ( ضمن تخصصاتهم طبعا )

الثالثة : تجربتي الشخصية . انا من محبي البرمجة ( كنت الاول بين زملائي في مادة البرمجة في الجامعة منذ ١٠ سنوات) . اليوم انا اعمل بشكل ممتاز كمهندس شبكات ... واستخدم البرمجة بشكل يومي في تطوير عملي ... ( ليس مهم اللغة البرمجية . تعلمت بالماضي ٣لغات ولكنني اليوم استخدم لغة جديدة تعلمت استخدامها منذ عام فقط ... )

اعلم ان الظروف مختلفة ... ولكن نصيحتي هي للهدف البعيد...

شكراً لك على نصائحك أخي. أحبك الله الذي أعانك على نصحي بهذه الخبرة الراقية.

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

أنا أرى أن تخصص مجهودك الذهني وطاقتك للهندسة المدنية و تخصص جزء من وقت فراغك للبرمجة.مع مراجعة ما تعلمته .

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

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

أعلم أنك تقدم لي مثالاً رأيته. وأشكرك على مشورتك الطيبة - أكرمك الله- .

عشرون عاماً!

التخصص يتطلب فقط من ثلاث إلى خمس أعوام كحد أقصى.

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

ممكن بعد إذنك تقولي ازاي الواحد يبدأ ويب .. او ايه هو تراك الويب ؟

يمكنكِ تعلم تطوير الويب من مسار الزيرو (اسامه محمد) :-

  • لن تعود من الصفر؛ فقط ستعود إلى قوقل لتراجع بعض الأمور الحفظية التي نسيتها وانتهى.

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