من زاوية إدارية أكثر هدوءاً، أنظر إلى الأدوات بوصفها طرقاً لخفض المخاطر وتسريع التسليم. أبدأ دائماً بتحديد نطاق الاعتماد: هل يحتاج المشروع CI/CD كامل، أم مجرد عمليات بناء ونشر بسيطة؟
لو المشروع كبير فأنا أضع معياراً لا بد منه: Git كمصدر للحقيقة، Jenkins أو GitHub Actions لأنابيب النشر، وTerraform للبنية التحتية ككود. أؤكد على وجود مراقبة متكاملة (Prometheus/Grafana) وآليات للتتبع (OpenTelemetry)، بالإضافة إلى إدارة التذاكر عبر Jira وربطها بالـ commits والـ pipelines لتتبع التقدم.
أهتم أيضاً بأدوات إدارة الاعتمادات والأسرار (Artifactory، Vault)، وبأدوات الجودة الآلية مثل SonarQube وSnyk. في النهاية، أؤمن أن مجموعة الأدوات يجب أن تظل بسيطة بما يكفي ليستخدمها الفريق بكفاءة، ومع ذلك قوية بما يكفي لتحمل تعقيدات المشروع دون إحداث فوضى تشغيلية.
Ella
2026-02-04 14:19:33
أحياناً أجد نفسي أستعرض مجموعة أدوات كما لو أنني أصف حقيبة أدوات لرحلة طويلة: لا يمكن أن أخوض مشروعاً ضخماً بدون خطة واضحة للأدوات.
أعتمد على Git مع سياسات مثل Pull Requests وCode Reviews عبر GitHub أو GitLab، لأنها تقلل المفاجآت. لبناء خطوط النشر أستخدم GitHub Actions أو GitLab CI لأنها تندمج مباشرة مع المستودع وتسمح بتشغيل خطوات بناء، اختبار، ونشر متسلسلة. لإدارة الحزم والاعتمادات npm وyarn لواجهات الويب، وpipenv أو poetry للبايثون تجعل تكرار بيئات التطوير أمراً بسيطاً.
على جانب البنية التحتية، Terraform يجعلني أتعامل مع السحابة ككود، بينما Kubernetes وDocker هي أدواتي لنشر الخدمات بشكل مرن وقابل للتوسع. للمراقبة أفضّل Prometheus مع Grafana، ومع ELK أو Datadog أراقب اللوجات والأداء. أدوات الأمان مثل Snyk أو Dependabot تفيد في تحديث الحزم المكتشفة بها ثغرات، وVault مفيدة لإدارة الأسرار بشكل آمن.
باختصار، اختيار الأدوات يعتمد على تكلفة الدمج مع الفريق، قابلية الصيانة، ومدى اتساع النظام. كل أداة تخدم غرضاً؛ المهم أن تندمج كلها في خط عمل واضح حتى لا يصبح الفريق محاصرًا بمزيج من الأنظمة غير المتوافقة.
Hannah
2026-02-05 07:59:56
كل مشروع برمجي كبير بالنسبة لي أشبه ببناء مدينة: تحتاج شوارع (البنية التحتية)، قوانين مرورية (عمليات)، ومراكز مراقبة (مراقبة وأخطاء). خلال سنوات عملي، تعلمت أن الأدوات ليست رفاهية بل ضرورة لتنظيم العمل وجعله قابلاً للتكرار.
أبدأ دائماً بأدوات التحكم في الشيفرة—'git' مع منصات مثل GitHub، GitLab أو Bitbucket لتخزين التاريخ وإدارة فروع العمل. على مستوى التكامل المستمر والنشر المستمر (CI/CD) نعتمد على Jenkins أو GitLab CI أو GitHub Actions وربما CircleCI لبناء الحزم وتشغيل الاختبارات ونشر النسخ تلقائياً. أدوات البناء وإدارة الحزم مثل Maven، Gradle، npm، yarn، وpnpm مهمة لبيئات لغات متعددة، بينما Bazel مفيد للمشاريع الضخمة متعددة المكاتب.
أما جودة الشيفرة والاختبارات فهناك SonarQube وESLint وpylint لاكتشاف المشكلات المبكرة، وإطارات اختبار مثل JUnit، pytest، Jest. لا أنسى إدارة الحاويات ونسق البيئة: Docker وDocker Compose لتوحيد بيئة التطوير، وKubernetes لإدارة الحاويات على نطاق الإنتاج. للبنية التحتية ككود نستخدم Terraform، Ansible، أو CloudFormation لتجسيد الموارد بشكل قابل للإصدار.
لمراقبة الأنظمة واكتشاف المشكلات نعتمد على Prometheus وGrafana للقياسات، وELK Stack أو Loki/Fluentd للوجات، وJaeger أو OpenTelemetry للتتبع الموزع. وأخيراً أدوات إدارة المشاريع والتذاكر مثل Jira، Confluence، وTrello تحافظ على تنظيم المتطلبات والمهام. عندما تُدمج كل هذه الأدوات مع سياسات مراجعة الشيفرة واختبارات آلية وSLOs واضحة يصبح المشروع كبيراً لكنه قابل للإدارة، وهذا ما يجعلني أشعر بالأمان عند إطلاق تحديثات جديدة.
بعد إعادة تجسيدي، تجنبتُ عمدًا أي تواصل مع منير السعدي.
هو التحق بجامعة العاصمة، وأنا اخترت الذهاب إلى هولندا للدراسة.
جاء هو إلى هولندا للبحث عني، لكني سافرت بين عدة أماكن مختلفة لأعمل كمراسلة حربية.
بعد سنوات، عدت إلى بلدي مع حبيبي لإقامة حفل زفافنا.
تم منعه من دخول حفل الزفاف، وكانت عيناه محمرتان.
"لماذا لم تعودي تحبينني…"
"بززز~"
"آه، برفق، لا أستطيع التحمل."
كانت اللعبة تهتز بسرعة بداخلي، فجلست في زاوية السينما أضم ساقي بقوة ووجهي محمر تمامًا.
بجانبي، وضع المرشّح للزواج جهاز التحكم عن بعد، ودفع رأسي للأسفل، وفتح سحاب بنطاله أمامي......
قبل موعد خطبتنا بثلاثة أيام، فاجئني شادي باتصاله ليخبرني بقراره: "لنؤجل حفل خطبتنا شهرًا واحدًا فقط، إن سها تعزف أولى حفلاتها بعد عودتها للوطن في ذلك اليوم، ولا أريدها أن تبقى وحدها فلا يمكنني أن أتركها". وأضاف محاولًا تمرير الأمر: "لا داعي للقلق، إننا نؤجله بعض الوقت فقط".
إنها المرة الثالثة التي يؤجل بها خطبتنا خلال عام واحد فقط.
كانت المرة الأولى لأن سها ذهبت إلى المشفى آثر التهاب الزائدة الدودية، فهرع عليها على الفور وتركني ليبقى بجانبها وقال إنه لا يستطيع تركها وحدها.
والمرة الثانية كانت حين أخبرته أن حالتها النفسية سيئة ومتدهورة، فخشي أن تغرق باكتئاب، فحجز تذكرة السفر في اللحظة ذاتها.
وها هي الثالثة...
قلت له بهدوء: "حسنًا"،
وأغلقت الهاتف.
ثم التفتُّ إلى الرجل الواقف إلى جواري، إنه وسيمًا وقورًا وتظهر عليه علامات الثراء، كما يبدو عاقلاً، وقلت له: "هل تريد الزواج؟"
لاحقًا...
اندفع شادي إلى مكان خطبتي وترك سها المنيري خلال حفلها الموسيقي، كانت عينيه محمرتيّن وصوته يرتجف بينما يسألني: "جنى، هل حقًا ستعقدين خطبتكِ مع هذا الرجل؟!"
رفضتُ أن أتبرعَ بكليتي لأختي، فكان جزائي أن دفعني والداي إلى فراش سيد مدينة الفيروز.
كانوا يرددون أن سيد المدينة لا يجرؤ أحدٌ على الاقتراب منه، وأن في قلبه حبًا قديمًا لا يموت.
كان الجميع يتربصون بي، ينتظرون سقوطي، لكنه، على غير ما ظنوا، رفعني إلى عنان السماء وأغدق عليّ من حنانه.
خلال ثلاث سنوات من الزواج، كان يعشق التقرب إليّ في كل ركن، حتى وإن كنت في الحمام، كان يدخل، ويضمني إليه عند حافة المغسلة.
لم نستخدم أي واقٍ، ولم نتخذ أي احتياطات. ومع ذلك، لم يحدث حمل.
ظننتُ أنني قد حملتُ أخيرًا، فذهبتُ إلى المستشفى لأتأكد. وهناك، سمعت دون قصد حديثه مع الطبيب: "غسان، قبل ثلاث سنوات طلبتَ مني أن أنتزع سرًا كلية شمس وأزرعها لأختها والآن تطلب مني أن أكذب وأخبرها أنها عاقر... كيف تقسو على امرأة وهبتك حبها؟"
"ليس بيدي. كلية شهد عليلة، إن لم تنجب، فسيذلها أهل زوجها، ولا يصلح لجسد شهد إلا كلية شمس."
كان الصوتُ مألوفًا، لكنَّ برودته جعلتني أشعرُ وكأنني أسمعه للمرة الأولى. وحينها أدركت: كل ما حسبته حبًا ونجاة... ما كان إلا خديعة أخرى.
وما دام الأمر كذلك... فلأرحل.
لطالما كانت إيريس تحلم بحياة هادئة؛ رجلٌ يحبها بصدق، يمدّ لها يد الخلاص من هذا المصير الخانق، وتشيخ إلى جانبه في سلامٍ ..
لكن الحياة… كان لها رأي آخر
...
"أرجوك… سيدي غابرييل… كفى… دعني أرحل…"
ارتجف صوتها داخل الغرفة المغلقة، تتخللها شهقاتها الباكية.
لا باب يُفتح، ولا نافذة تمنحها حتى وهما بالهروب.
محاصرة داخل مساحة فاخرة… لكنها أشبه بقفصٍ ذهبي.
وحيدة، في رفاهية لم تكن ضمن أحلامها قط .
لم يتبقَّ لها سوى الانتظار… انتظار عودته.
وعندما دخل، تبدّل الصمت في الغرفة إلى ثِقلٍ خانق..
عيناه كانت تبتسمان لها .. لكن بمجرد أن رأى الدموع تلطخ مظهرها الملائكي عبس بشدة .
اقترب منها، ورفع وجهها برفق رغم مقاومتها .
مسح دموعها بإبهامه و همس بحنان
"إيريس… أخبريني فقط ماذا تريدين… وسأمنحك إياه."
صمتت .
كيف تخبره أن رغبتها الوحيدة الآن هي أن تختفي من هذا العالم كله؟
ثم تغيّر شيء في عينيها.
لمع فيهما شيء حاد، غضبًا متأخرًا، متراكمًا .
وفي لحظة اندفاع، عضّت يده بعنف وهي تحاول دفعه بعيدًا.
"ابتعد عني…!"
لكن ردّ فعلها لم يزده سوى بهجة .
تراجعت سريعًا، ودموعها تنهمر رغمًا عنها
ابتسم ابتسامة خفيفة… بدى و كأنه سيجن في أي لحظة.
"طفل… أليس هذا ما كنتِ تتحدثين عنه من قبل؟"
اقترب أكثر، صوته منخفض، هادئ .
ارتجفت إيريس و أشاحت بوجهها الباكي.
"قوليها مجددًا… وسأحقق لك رغبتك… فقط ابقي معي."
أغلق شفتيها بشفتيه مانعا إياها من قول كلام جارح.
تجمدت الكلمات في حلقها.
اقترب منها، وحملها كما يفعل دائمًا، يخلع ملابسها لبدأ نشاط مرهق آخر .
لم تعد تقاوم كما في البداية.
لأنه ببساطة .... لا فائدة منه.
كانت خائفة ، ....أن تخطئ في الكلام ...
خطأ ستندم عليه حتما ..
وهي بين ذراعيه، لم تجد في ملامحه ذلك الرجل الذي تخيلته يومًا.
بل وجدت شيئًا آخر… لم يكن حبًا عاديًا كما ظنت .
أدركت الحقيقة كاملة و لو كانت متأخرة.
لم يكن هذا حبًا.
ولا تعلقًا بسيطًا.
كان شيئًا أعمق… أكثر التواءً من كل ما عرفته.
هوس!!
بعد طلاقي من زوجي، ولكي أتخلص من الكآبة التي في قلبي، جرّبت تدليكًا مع شخص من الجنس الآخر، لكنني لم أكن أتوقع أن يكون ذلك المدلّك رجلاً بارعًا في التلاعب بالنساء، فقد لعب بي حتى صرت من الداخل والخارج شفافة تمامًا.
أعتقد أن أفضل مدخل للبرمجة يجمع بين الشرح النظري والكثير من التطبيق العملي. شخصياً بدأت مع كورسات طويلة ومنظمة ثم تحولت إلى فيديوهات قصيرة ومشاريع صغيرة، وما لاحظته أن بعض السلاسل فعلاً تضعك على طريق واضح من المفاهيم إلى التطبيق. من السلاسل التي أنصح بها بقوة هي 'CS50' لأنها تغطي أساسيات علوم الحاسوب بطريقة عميقة وشاملة — ليست مجرد لغة بل فهم للمنطق، الخوارزميات، وهياكل البيانات. المادة قد تكون كثيفة للمبتدئ المطلق، لكن إذا أردت أساساً متيناً فهي ممتازة.
لمن يبحث عن مسار أبسط وأكثر تركيزاً على كتابة الكود بسرعة أو كنت مهتماً بتعلم بايثون، أنصح بـ 'Python for Everybody' على كورسيرا: شرح واضح، تمارين عملية، ومشاريع بسيطة تساعدك على الفهم. بالمقابل، لو تميل للتعلّم العملي المباشر وبناء مشاريع واجهات ومواقع، قناة 'freeCodeCamp' تقدم دورات طويلة مجانية مثل 'Python for Beginners' و'JavaScript for Beginners' مع الكثير من أمثلة المشروع.
نصيحتي العملية: ابدأ بدورة واحدة وثبتها بمشروع صغير — قائمة مهام أو حاسبة بسيطة — ثم انتقل للسلسلة التالية لتوسيع المفاهيم. التنقل بين فيديو تعليمي وممارسة فعلية هو ما يجعل التعلم يثبت بالنسبة لي، وأتذكر أن أول مشروع حقيقي أنجزته منحني ثقة كبيرة للاستمرار.
ما يلفت انتباهي في مضيفي 'على كيفك' هو قدرتهم على تحويل فكرة تبدو جامدة إلى شيء تستطيع لمسه بعينك وشرحها ببساطة.
أبدأ عادة بشرح نظرة عامة بسيطة: ما المشكلة التي تحلها الفكرة الهندسية ولماذا نهتم بها. بعدها أقسم الفكرة إلى قطع صغيرة—قوانين أساسية، مخططات بسيطة، ومثال يومي—ثم أركّب هذه القطع مرة أخرى أمام المشاهد كما لو كنتُ أحل لغزًا ملموسًا. أستخدم تشبيهات قريبة من الحياة اليومية (أنابيب الماء لشرح تدفق السوائل، أو قطع اللغز لشرح أنظمة مترابطة) لأن الدماغ يتذكر القصة أفضل من القاعدة المجردة.
أكثر ما أضيفه هو تفاعل مرئي: رسومات متحركة قصيرة، تجارب بسيطة يمكن للمشاهد تنفيذها في المنزل، وأسئلة صغيرة تجعل المشاهد يطبق الفكرة. في النهاية أردف دوماً لمحة عن التطبيق العملي أو الخطأ الشائع لتجنب الفهم الخاطئ، وبذلك يتخرج المبتدئ بفكرة واضحة وقابلة للتطبيق، لا مجرد تعريف جاف.
أميل دائمًا إلى اعتبار 'بايثون' الخيار الأوضح لدورات تحليل البيانات، ولست أبالغ عندما أقول ذلك؛ فهو يجمع بين سهولة التعلم وقوة الأداء بطريقة تريح المبتدئ والمتقدّم على حد سواء. بدأت رحلتي مع تحليل البيانات من خلال مشاريع صغيرة على الحاسوب المنزلي، ووجدت أن القفزة من فهم الأساسيات إلى إنتاج تحليل مفيد تصبح قصيرة عندما تستخدم بايثون. المكتبات مثل pandas وnumpy تجعل تنظيف البيانات وترتيبها عملية مباشرة، بينما matplotlib وseaborn تمنحانك أدوات عرض مرئية سريعة ومقبولة. أما scikit-learn فتوفر مجموعة متكاملة من خوارزميات التعلم الآلي التي يمكنك تجربتها دون الدخول في تفاصيل معقدة جداً في البداية.
الشيء الذي أحبّه أيضًا هو بيئة العمل: دفتر الملاحظات التفاعلي (مثل Jupyter) يسمح لي بتجربة فكرة ثم رؤيتها فورًا، وهذا أسلوب تعليمي عملي أكثر من مجرد قراءة نظريات. عند الانتقال لمشاريع أكبر، ستجد بايثون يمتد بسهولة نحو التعامل مع قواعد البيانات، أو التكامل مع خدمات الويب، أو حتى العمل على البيانات الكبيرة عبر مكتبات مثل PySpark. عمليًا، تعلم واحدات أساسية — قواعد البيانات البسيطة وpandas والرسوم البيانية وبعض الإحصاء — يعطيك قدرة فعّالة على إنجاز تقارير وتحليلات مفيدة بسرعة.
إذا وضعت مسارًا للتعلّم فسأنصح بهذه الخطوات: ابدأ بأساسيات اللغة (التحكم في المتغيرات، الحلقات، الدوال)، ثم انتقل إلى التعامل مع البيانات في 'pandas'، بعدها ركّز على الاستكشاف البصري والاختبارات الإحصائية البسيطة، وأخيرًا جرّب خوارزميات بسيطة من scikit-learn. أنشئ مشاريع صغيرة ونشرها في GitHub أو المشاركة في مسابقات على منصات مثل Kaggle لبناء محفظة عملية. خلاصة القول: بايثون يمنحك أقصر طريق بين الفكرة والنتيجة الواقعية، ومع مجتمع ضخم ووفرة موارد ستجد دائمًا حلًا أو درسًا يجاوب على سؤالك قبل أن تشعر بالإحباط.
قبل أيام دخلت في مغامرة تجميع مصادر شرعية ومجانية لكتب هندسة تقنيات الحاسبات، وطلعت بعدد لا بأس به من الأماكن اللي أعتمد عليها الآن. أول شيء أنصح به دايمًا هو مستودعات الكتب المفتوحة والمنصات التعليمية: مواقع زي 'OpenStax' و'Open Textbook Library' و'BCcampus OpenEd' توفر كتب مناهج جامعية بصيغة PDF بشكل قانوني، ويمكن تلاقي فيها مواد متعلقة بالهندسة أو الأساسيات اللي تحتاجها.
ثانياً، عندي قائمة مفضلة على GitHub اسمها free-programming-books اللي تجمع روابط لمصادر قانونية ومجانية من مواقع الناشرين أو مؤلفين؛ هذا المستودع يجدد باستمرار ويصنف حسب اللغة والموضوع، فستجد كتباً ومحاضرات ودورات. موقع 'FreeTechBooks' مشابه ويجمع مراجع علوم الحاسوب والهندسة التي تُنشر مجانًا من المؤلفين أو الجامعات. لا تنسَ أيضاً MIT OpenCourseWare وOCW من جامعات أخرى: محاضرات كاملة، ملاحظات، وبعض الكتب أو أجزاء منها متاحة مباشرة للتحميل.
للكتب التي تُعتبر محدثة ومهمة، أنصح بالاطلاع على نسخ مفتوحة مشهورة مثل 'Operating Systems: Three Easy Pieces' و'Structure and Interpretation of Computer Programs' و'Computer Networking: Principles, Protocols and Practice' — كلها متاحة بشكل قانوني. بالإضافة، أرشيفات مثل arXiv وDOAB وSpringerOpen توفر أبحاث وكتب مفتوحة الوصول، خصوصًا للمواد الحديثة. أما إن أردت استعارة نسخ محمية، فمكتبات الإنترنت مثل Internet Archive تسمح بالاستعارة الرقمية لفترات محددة.
أخيرًا، طريقة عملي: أتحقق من تاريخ النشر والنسخة عبر صفحة الناشر أو ISBN، وأفضّل الحصول من مصادر رسمية أو من مواقع المؤلفين على GitHub أو صفحاتهم الأكاديمية. هذا يقلل فرص حصولك على نسخة قديمة أو غير كاملة، ويضمن أنك تدعم الحقوق. تجربة البحث هذه ممتعة وتوفر مواد قيمة للتعلم المستمر.
لا يمكن أن أنسى المشهد الأول الذي ربط بين شاشة الكود ونبض القصة؛ هذا المسلسل بذل جهدًا لرفع مهندس البرمجيات إلى مرتبة البطل، لكن بطريقة مختلطة بين الواقعية والدراما.
ألاحظ أنه في الكثير من الحلقات يقدمون البطل كمحرك أساسي للأحداث: الأفكار التقنية تتحول إلى حلول تنقذ الموقف، والكود يُقدَّم كأداة سحرية تغير مصير الشخصيات. هذا يعطي شعوراً بالأهمية والبطولة، خصوصاً عندما تُستخدم لحظات الكود لإظهار ذكاءه وإبداعه وحسمه في لحظات التوتر.
لكن، وبقدر ما أحب هذه الصورة، هناك مبالغة واضحة—مشاهد الهاكنج السريعة والاختراقات التي تُنجز في دقيقتين ليست واقعية. المسلسل يوازن بين جعل المهندس بطلاً نابعاً من عمله ومنح الأحداث لمسة سينمائية تجذب المشاهد العادي. بالنسبة لي، النتيجة مرضية كدراما لكنها ليست دفتر تعليمات حقيقي للحياة المهنية؛ إنها بطولات مشاعَرية ومهنية مختلطة، وليست شهادة واقعية على عمل المهندس في كل التفاصيل.
حيلة بسيطة غيرت كل شيء عندي: بدأت أبحث عن منصات تعليمية مجانية تخلّيني أتعلم وأبني مشاريع في نفس الوقت.
أول منصة جربتها وكانت نقطة الانطلاق الحقيقية هي freeCodeCamp — من السهل أخوض التمارين والصراعات اليومية، ومع كل مشروع أنجزه أضيفه إلى معرضي على GitHub. بعدين التقيت بـ 'The Odin Project' اللي حبّبني بالتوجيه العملي لمسار تطوير الويب الكامل، هو مجاني بالكامل ويركّز على بناء مشاريع حقيقية، وهذا ما كنت أحتاجه لأشعر أني أتقدم.
ما تجاهلته أبداً هو موارد التوثيق: MDN للويب وGitHub Learning Lab لتعلم التحكم بالإصدارات، وكمان مواقع مثل HackerRank وCodewars للتدريب على الخوارزميات. أنصح تخلط بين دورة منظمة (مثلاً CS50 على edX لو أردت أساس قوي) وممارسات يومية صغيرة، وتركز على بناء مشروع واحد تكمله بدلاً من التنقل بين عشر دورات بلا خريطة. الخبرة العملية تفتح أبواب أكثر من الشهادات المجانية، والنهاية دائماً مشروع واضح يشرح مهاراتك أفضل من أي ملف PDF.
في ذهني كان القرار أشبه بلعبة ألغاز تحتاج تجميع قطعها: الميول، والمهارات، وفرص العمل، وطبيعة الدراسة. أبدأ دائمًا بسؤال بسيط وواضح: ماذا أستمتع بصنعه بأيديّ؟ إذا وجدت نفسي أشعر بالحماس عند تفكيك محرك لعبة أو تركيب حساس إلكتروني أو رسم مخطط لآلة بسيطة، فذلك مؤشر قوي على أن التخصصات العملية مثل الميكانيكا، والكهرباء والالكترونيات، والميكاترونكس، أو الهندسة الصناعية قد تتناسب معي. أما لو كان شغفي أكثر نحو التصميم الإنشائي أو إدارة مشاريع البناء فالمدنية قد تكون الأنسب.
أنصح بتجربة صغيرة قبل الالتزام: شارك في ورشة عمل، جرب مجموعة راسبيري باي أو أردوينو، انضم إلى نادي روبوتات بالمدرسة أو الجامعة، واعمل على مشروع مادي حتى لو كان بسيطًا. التجربة العملية تكشف الكثير عن مدى صبرك مع التفاصيل اليدوية وروحك في حل المشكلات الملموسة. بالموازاة، اطلع على مناهج التخصصات: لاحظ عدد الساعات المعملية، ومشروعات التخرج، وفرص التدريب الصيفي. التخصص العملي الجيد يعطيك فرصًا كثيرة للعمل أثناء الدراسة وبناء محفظة مشاريع تُعرض على أصحاب العمل.
أخيرًا، تكلّم إلى طلاب أقدم وخرّيجين: اسألهم عن يومهم الدراسي، عن كيفية التوازن بين المحاضرات والورش، وعن فرص التوظيف بعد التخرج. قراري كان مبنيًا على تجارب صغيرة وتجارب أخرى واقعية سمحت لي أن أختبر مدى تحمسي للعمل الميداني، وهذا ما أنصحك به أيضًا؛ القرار يصبح أقل رهبة حين تجربه بيدك وتراه واقعيًا.
تخيل معي جدولًا مليئًا بمحاضرات وورش عمل وكلها تدور حول صنع البرمجيات—هذا بالضبط ما عشته في تخصص هندسة البرمجيات.
أول شيء يواجهك هو الأساس: مفاهيم البرمجة الأساسية، هياكل البيانات، والخوارزميات. درست لغات برمجة متعددة مثل C وJava وPython، وتعلّمت كيف أحوّل فكرة إلى كود منظم. ثم جاء الرياضيات المنطقية: الرياضيات المتقطعة، والتفاضل والتكامل والجبري الخطي بشكلٍ عملي يربط بين التحليل والنمذجة.
بعدها تدخل مواد البنية التحتية للنظام: هندسة الحاسوب، نظم التشغيل، وقواعد البيانات حيث تتعلم SQL وتصميم المخططات وتكامل البيانات. وفي الموازاة توجد مواد مرتبطة بالبرمجيات نفسها: إدارة متطلبات البرمجيات، تصميم البرمجيات، هندسة البرمجيات، أنماط التصميم، واختبار وضمان الجودة. الكثير من المشاريع الجماعية كانت تتطلب استخدام أدوات التحكم بالإصدارات والتكامل المستمر.
المقررات المتقدمة شملت هندسة البرمجيات المعمارية، شبكات الحاسوب والأمن، الحوسبة الموزعة، تطوير الويب وتطبيقات الهواتف، وحتى بعض مبادئ تعلم الآلة والسحابة. ولا أنسى مشروع التخرج والـInternship الذي جمع كل المهارات العملية. تعلمت أيضًا مهارات غير تقنية مهمة: العمل ضمن فريق، إدارة المشاريع، وكتابة مستندات متطلبات واضحة. التجربة كانت شاملة وتجهزك للعمل مباشرةً أو للاستزادة بتخصصات أعمق.