
- بواسطة x32x01 ||
بص يا صاحبي، ممكن تكون مهندس اتصالات - شغال في RF، أو في الـ Core، أو بتحب البروتوكولات - وتتحجج وتقول: «البرمجة مش شغلي». بس الحقيقة إن عالم شبكات الموبايل دلوقتي ما بيقبلش الـ “مش تخصصي”.
الشبكات بتتجه بسرعة لـ Automation، Virtualization، وAI، وده معناه إن لو إنت مهندس شبكات مش بتعرف تبرمج، هتبقى متأخر عن السوق.
في البوست ده هاشرح ليه البرمجة بقت ضرورة للمهندس، أمثلة عملية، وأين تبدأ - وهنستخدم أمثلة كود بسيطة توضح الفكرة
.
فين بنحتاج البرمجة في شغل مهندس الموبايل؟
1) Automation & Scripting - وفر وقتك
بدل ما تعمل config يدوي على عشرات النودز (NodeB, gNodeB, AMF, SMF...)، تقدر تكتب سكربت بلغة Python أو Bash يعمل الشغل ده في وقت قليل. أوتوميشن يقلل الأخطاء البشرية ويخليك تقدر تنشر تغييرات بسرعة.
مثال بسيط بلغة Python يستخدم مكتبة requests عشان يعمل API call لعنصر شبكة (pseudo-example):
الكود ده بيوضح الفكرة: تتعامل مع REST API وتعمل عمليات تكوين عن بُعد.
2) Data Analysis & Log Parsing - حلل واطلع insights
لما يبقى عندك ملايين سطور لوج يوميًا (signaling logs, KPI dumps)، مش هتقدر تقراها بالـ notepad. بايثون مع pandas وregex بيسهّل التحليل، استخراج الأخطاء، وبناء تقارير.
مثال سريع لفلترة لوج باستخدام regex:
3) API Integration - الشبكات دلوقتي APIs
شبكات 5G Core بقت كلها microservices وREST APIs. لازم تعرف تبعت requests، تتعامل مع JSON، وتعمل automation للـ orchestration. الـ DevOps world متوقع منك automation scripts وCI/CD للـ network functions كمان.
4) Simulation & Modeling - جرب قبل ما تطبّق
لو عايز تحاكي حمل (traffic), أو تختبر mobility scenarios، الأدوات اللي بتحتاجها هتطلب منك كتابة سكربتات أو شغل على أدوات زي ns-3 أو محاكيات Python-based. البرمجة بتخليك تعمل سيناريوهات معقّدة بسهولة.
5) AI/ML في الشبكات - التنبؤ والصيانة التلقائية
لو عايز تتنبأ بحدوث congestion أو تعملك anomaly detection للـ network behavior - هتدخل في ML. مش لازم تبقى Data Scientist جامد، بس لازم تفهم أساسيات الكتابة بـ Python وتشغيل موديلات بسيطة وتجربة features.
إيه اللغات والأدوات اللي أبدأ بيها؟
أمثلة واقعية صغيرة (Use Cases)
إزاي تبدأ خطوة بخطوة؟
المهارات اللي هتطلع بيها (اللي الشركات بتدور عليها)
نصايح عملية للـ Learning Path
الخلاصة - ليه لازم تبدأ دلوقتي؟
البرمجة مش رفاهية لمهندس الشبكات، هي دلوقتي أداة بقاء وتفوق. مهندس الشبكات الشاطر مش بس بيعرف CLI وSignaling - ده يعرف يكتب سكربت يسرِّع شغله، يحلل بيانات، يبني أدوات، ويتعاون مع فرق DevOps وData. ابدأ بخطوات بسيطة: بايثون، سكربت شيل، وSQL - وبعدين فُت على Tooling وAPIs.
ابدأ بسطر كود صغير كل يوم، وبعد شهرين هتلاقي نفسك بتعمل automation كان زمانه بياخد منك ساعات
.
الشبكات بتتجه بسرعة لـ Automation، Virtualization، وAI، وده معناه إن لو إنت مهندس شبكات مش بتعرف تبرمج، هتبقى متأخر عن السوق.
في البوست ده هاشرح ليه البرمجة بقت ضرورة للمهندس، أمثلة عملية، وأين تبدأ - وهنستخدم أمثلة كود بسيطة توضح الفكرة

فين بنحتاج البرمجة في شغل مهندس الموبايل؟
1) Automation & Scripting - وفر وقتك
بدل ما تعمل config يدوي على عشرات النودز (NodeB, gNodeB, AMF, SMF...)، تقدر تكتب سكربت بلغة Python أو Bash يعمل الشغل ده في وقت قليل. أوتوميشن يقلل الأخطاء البشرية ويخليك تقدر تنشر تغييرات بسرعة.مثال بسيط بلغة Python يستخدم مكتبة requests عشان يعمل API call لعنصر شبكة (pseudo-example):
Python:
import requests
url = "https://api.core.example.com/v1/nodes/config"
token = "YOUR_API_TOKEN"
payload = {"node_id": "gNodeB-123", "config": {"param": "value"}}
headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
r = requests.post(url, json=payload, headers=headers, verify=False)
print(r.status_code, r.text)
2) Data Analysis & Log Parsing - حلل واطلع insights
لما يبقى عندك ملايين سطور لوج يوميًا (signaling logs, KPI dumps)، مش هتقدر تقراها بالـ notepad. بايثون مع pandas وregex بيسهّل التحليل، استخراج الأخطاء، وبناء تقارير.مثال سريع لفلترة لوج باستخدام regex:
Python:
import re
pattern = re.compile(r"ERROR.*IMSI=(\d+).*Cause=(\w+)")
with open("signaling.log") as f:
for line in f:
m = pattern.search(line)
if m:
print("IMSI:", m.group(1), "Cause:", m.group(2))
3) API Integration - الشبكات دلوقتي APIs
شبكات 5G Core بقت كلها microservices وREST APIs. لازم تعرف تبعت requests، تتعامل مع JSON، وتعمل automation للـ orchestration. الـ DevOps world متوقع منك automation scripts وCI/CD للـ network functions كمان.4) Simulation & Modeling - جرب قبل ما تطبّق
لو عايز تحاكي حمل (traffic), أو تختبر mobility scenarios، الأدوات اللي بتحتاجها هتطلب منك كتابة سكربتات أو شغل على أدوات زي ns-3 أو محاكيات Python-based. البرمجة بتخليك تعمل سيناريوهات معقّدة بسهولة.5) AI/ML في الشبكات - التنبؤ والصيانة التلقائية
لو عايز تتنبأ بحدوث congestion أو تعملك anomaly detection للـ network behavior - هتدخل في ML. مش لازم تبقى Data Scientist جامد، بس لازم تفهم أساسيات الكتابة بـ Python وتشغيل موديلات بسيطة وتجربة features.إيه اللغات والأدوات اللي أبدأ بيها؟
- Python: صديقك الأول. سهل، موجود في كل حاجة من Automation لـ Data Analysis.
- Shell Scripting (Bash): مهم جدًا على أي سيرفر لينكس.
- SQL: هتتعامل مع قواعد بيانات KPI وEvent Logs.
- Netmiko / Paramiko / Nornir: مكتبات مهمة للتعامل مع أجهزة الشبكات عبر SSH.
- Scapy: لتحليل وتوليد باكيتات، مفيد جدًا لو بتتعامل مع PCAPs.
- Wireshark + tshark: أدوات تحليل باكيتات؛ ممكن تدمجها مع سكربتات لتحليل أوتوماتيكي.
أمثلة واقعية صغيرة (Use Cases)
Use Case 1: تحديث configuration لمجموعة NodeBs
بدل ما تدخل CLI على كل جهاز، تعمل سكربت يستخدم netmiko يفتح SSH ويطبق التعديلات. Python:
from netmiko import ConnectHandler
device = {
"device_type": "cisco_ios",
"host": "10.0.0.5",
"username": "admin",
"password": "pass"
}
net_connect = ConnectHandler(**device)
commands = ["conf t", "interface GigabitEthernet0/1", "description updated-by-script", "end", "write"]
output = net_connect.send_config_set(commands)
print(output)
Use Case 2: تحليل PCAP لاستخراج Call Setup Failures
باستخدام scapy أو tshark تقدر تعمل فلترة تلقائية لاستخراج حالات فشل المكالمات أو مشاكل الـ SIP/RTP. Python:
# مثال بسيط باستخدام scapy (فكرة عامة)
from scapy.all import rdpcap
packets = rdpcap('capture.pcap')
for p in packets:
if p.haslayer('SIP') and "404" in str(p):
print("SIP 404 found:", p.summary())
Use Case 3: استخراج KPIs وتجهيز dashboard
تجيب CSV من الـ OAM، تحللها بـ pandas وتطلع رسومات أو تبعت النتائج لأداة مراقبة. Python:
import pandas as pd
df = pd.read_csv('kpis.csv')
daily = df.groupby('date')['throughput'].mean()
print(daily.tail())
إزاي تبدأ خطوة بخطوة؟
- تعلم بايثون أساسي - أهم حاجة: قراءة ملفات، التعامل مع JSON، requests، regex.
- تمرن على شوية سكربتات بسيطة - زي automation لعمل backup للـ config أو export لوجات.
- اشتغل على مشاريع صغيرة - حل مشكلة حقيقية عندك في الشغل أو حتى محاكاة بيئة على جهازك.
- ادخل عالم الـ APIs - افهم REST, JSON, authentication (Bearer tokens, OAuth).
- تعلم شوية Linux وBash - لأن كل أدوات الشبكات تقريبًا على لينكس.
- اشتغل على parsing للوج وPCAP - هتفهم الشبكة من جوه أكتر.
- لو مهتم بالـ ML ابدأ بموديلات بسيطة لتحليل الtraffic والتنبؤ.
المهارات اللي هتطلع بيها (اللي الشركات بتدور عليها)
- كتابة سكربتات أوتوميشن تقلل وقت الصيانة.
- تحليل لوجات وكشف anomalous behavior.
- التعامل مع REST APIs ودمج أنظمة مختلفة.
- فهم أفضل للبروتوكولات وبكده تحل مشاكل أعقد.
- القدرة على بناء أدوات داخلية تساعد الفريق - وده ليه قيمة تجارية كبيرة.
نصايح عملية للـ Learning Path
- كل يوم اكتب سطر كود بسيط - حتى لو script صغير يعالج لوج.
- شوف مشاريع مفتوحة المصدر في مجال الشبكات (Nornir, Napalm, NetBox) وشارك.
- اعمل مختبر منزلي: VirtualBox/VMs أو Cloud free-tier وحط Node simulation وجرب Automation.
- تابع دورات مصغرة عن Network Automation وPython.
الخلاصة - ليه لازم تبدأ دلوقتي؟
البرمجة مش رفاهية لمهندس الشبكات، هي دلوقتي أداة بقاء وتفوق. مهندس الشبكات الشاطر مش بس بيعرف CLI وSignaling - ده يعرف يكتب سكربت يسرِّع شغله، يحلل بيانات، يبني أدوات، ويتعاون مع فرق DevOps وData. ابدأ بخطوات بسيطة: بايثون، سكربت شيل، وSQL - وبعدين فُت على Tooling وAPIs.ابدأ بسطر كود صغير كل يوم، وبعد شهرين هتلاقي نفسك بتعمل automation كان زمانه بياخد منك ساعات

التعديل الأخير: