أهلاً! نتحدث هنا كثيرًا عن كيفية الحصول على وظيفتك الأولى، وما تحتاج إلى دراسته، وكيف يجب أن تتصرف. كل هذا جيد وجيد، ولكن ماذا تفعل بعد حصولك على وظيفتك الأولى؟ هل يمكنك الاسترخاء والذهاب ببساطة مع التدفق؟ لا. كونك مبرمجًا محترفًا يعني أنك ستستمر في التعلم. كثيراً. الكثير الكثير. لذلك أود اليوم أن أتكهن قليلاً بشأن مجالات التطوير الشخصي الإضافية بعد حصولك على العرض الأول المرغوب فيه. دعنا نذهب.
1. تعميق معرفتك بالموضوعات الأساسية
للحصول على وظيفتك الأولى، ربما تكون قد تعلمت بالفعل أساسيات تطوير Java. هل تعتقد أن هذا سيكون كافيا؟ لا، لا، ومرة أخرى، لا. الفرق بين المطورين ذوي الخبرة والمبتدئين الأخضر هو عمق معرفتهم. يبدو أن مجالات المعرفة هي نفسها، لكن يمكن للمطور الكبير أن يشرح الفروق الدقيقة التي لا تعلم بوجودها. من ناحية، يمكنك القول أن كل شيء يتعلق بالخبرة. ويقال إن المطور ذو الخبرة هو على وجه التحديد لأنه قد اصطدم بكل شيء عدة مرات. ولهذا السبب فهو يعرف كل شيء بمثل هذه التفاصيل. هذا صحيح. ولكن جزئيا فقط. بالإضافة إلى اكتساب خبرة مستمرة من خلال البرمجة، يدرس المطورون أيضًا النظرية من خلال قراءة المقالات والكتب ومشاهدة مقاطع الفيديو. أود أن أشير إلى أن النظرية التي تختار دراستها يجب أن تكون أشياء من شأنها أن توسع آفاقك حول هذا الموضوع. إذا بدأت على الفور في التعمق بشكل غير عادي في موضوع لا تعرفه إلا بشكل سطحي، فما الذي سينتهي بك الأمر؟ لا شئ. لن يكون ذلك سوى مضيعة للوقت، لذا اختر نظريتك بحكمة.2. الحصول على الشهادات (Java، AWS)
تُصدر العديد من الدورات التدريبية الآن شهادات عند إكمالها بنجاح. ولكن دعونا نكون صادقين. ليست كل شركة تهتم بهم وتنظر إليهم. ومع ذلك، هناك بعض الشهادات المهمة والتي يمكن أن تميزك عن الآخرين. أنا أتحدث عن شهادة Java من Oracle وAWS (الخدمات السحابية). على سبيل المثال، يتم توفير شهادة Java من قبل الشركات المعتمدة من Oracle. تقوم هذه الشركات بإنشاء شروط معتمدة من Oracle لاختبار المهارات. في الواقع، هذا هو السبب في أن هذه الشهادات معترف بها دوليًا. تتبع شهادة AWS نفس المبدأ، ولكنها تركز على تعلم تقنيات AWS. بالطبع، ليس فقط "قطعة الورق" هي التي تهم هنا، ولكن أيضًا مستوى المعرفة الذي تكتسبه أثناء الاستعداد للاختبار. إذا كان لديك شهادة، فمن غير المرجح أن تتعثر عليك الأسئلة حول هذه التكنولوجيا.3. دراسة التقنيات الشعبية
تكنولوجيا المعلومات تتقدم باستمرار. إذا كنت تعمل بالفعل في مجال تكنولوجيا المعلومات، فستحتاج إلى التكيف. ما تعلمته قبل عام قد يصبح غير ذي صلة غدًا. وهذا أمر طبيعي تماما. القوة العظمى الرئيسية للمطور هي القدرة على استيعاب واستيعاب المواد الجديدة بسرعة ونسيان المواد غير الضرورية. هذا يعني أنه إذا كنت تريد أن تظل على صلة بالموضوع، فيجب عليك مراقبة الوضع الميداني باستمرار. على سبيل المثال، هناك طلب حاليًا على تقنيات مثل Kubernetes وDocker. أصبحت تقنيات AWS أيضًا شائعة جدًا الآن، وينمو استخدام لغة Kotlin بسرعة (بدأت تدريجيًا في الحصول على حصة سوقية من Java).4. التعمق في تكنولوجيا معينة
يصبح بعض المبرمجين ذوي الخبرة محترفين في تقنية واحدة. هناك الكثير من المعلومات، حتى في مجال تطوير Java فقط، لذلك من المستحيل أن تكون خبيرًا في كل شيء. لماذا لا تختار أيضًا موضوعًا واحدًا مطلوبًا (تقنية أو إطار عمل)، والذي ستصبح فيه سيدًا مطلقًا يعرف كل الزوايا والزوايا المظلمة؟ إذا قمت بذلك، فقد تصبح متخصصًا ذا قيمة كبيرة لشركتك. خلال المقابلة، سيتم إحضار مرشحين جدد إليك للتحقق من كفاءتهم في مجال خبرتك. سيُطلب منك أيضًا مراجعة المشاريع التي تستخدم التكنولوجيا "الخاصة بك" وتقديم النصائح (تقديم التعليقات) حول كيفية استخدام التكنولوجيا بشكل أكثر كفاءة وبشكل صحيح. كقاعدة عامة، ترغب الشركات في الوصول إلى متخصصين مثل هؤلاء. إذا أخبرت الإدارة عن رغبتك في الانغماس في أي تقنية، فمن المؤكد أنها ستساعدك على اختيار التقنية المناسبة (عادةً ما تكون مطلوبة حاليًا في الشركة) والعثور على مرشد في الشركة. على سبيل المثال، عُرض عليّ إجراء دراسة عميقة حول Camel، نظرًا لأن العديد من العملاء كانوا من مطوري Java الذين يتمتعون بهذه المهارة المحددة. من المؤكد أن هذه التكنولوجيا ليست جديدة تمامًا، ولكن الطلب عليها كبير، وإذا كنت متخصصًا قويًا في الإبل، فلن تضيع وسط الزحام في سوق العمل: سوف يبذل أصحاب العمل قصارى جهدهم للحصول عليك . لسوء الحظ، في ذلك الوقت كنت مشغولاً بتعزيز لغتي الإنجليزية والتكيف مع مشروع جديد، لذلك رفضت. هناك العديد من التقنيات المناسبة للتعمق: من Spring ككل إلى أطر Spring المحددة (Spring Security، Spring Cloud، وما إلى ذلك)، أو AWS، وما إلى ذلك.5. تعلم لغة برمجة جديدة
هناك إمكانية أخرى لمزيد من التطوير المهني وهي دراسة لغة برمجة ثانية. وهنا أرى ثلاثة خيارات:- لغة مساعدة غالبًا ما يتم مواجهتها في مشاريع Java. على سبيل المثال، Groovy، الذي يستخدم لكتابة العديد من البرامج النصية الداعمة، أو Python، والذي غالبًا ما يقترن بـ Java (على الأقل، أواجهه كثيرًا).
- أو Javascript وبعض أطرها مثل Angular أو React. ستؤهّلك هذه المعرفة لتصبح مطورًا متكاملاً. الخبراء مثل هؤلاء نادرون جدًا ومطلوبون، وبالتالي، يمكنهم الحصول على رواتب كبيرة (أعلى بكثير من مطوري Java العاديين).
- تعلم لغة نشأت من جافا. على سبيل المثال، سكالا أو كوتلين. تكتسب لغات البرمجة هذه الآن شعبية هائلة وقد بدأت في إخراج Java نفسها من السوق قليلاً. ربما حان الوقت للانضمام إلى العربة؟ تنبع العديد من المبادئ الأساسية من Java المفضلة لدينا، ولكن هناك العديد من الابتكارات والإصلاحات لأوجه القصور في Java.
GO TO FULL VERSION