Job Description
We are seeking a highly skilled Software Engineer with expertise in Python and AWS Cloud to join our dynamic and innovative development team. As a Software Engineer, you will be responsible for designing, developing, and deploying scalable and reliable software solutions using Python and leveraging AWS cloud services. You will collaborate closely with cross-functional teams, including product managers, designers, and fellow engineers, to deliver high-quality software products that meet our customers' needs.
Responsibilities
Design and develop high-quality, efficient, and scalable software applications using Python, adhering to best practices and coding standards. Collaborate with the product management team to understand requirements, translate them into technical designs, and participate in the product development lifecycle. Write clean, maintainable, and well-documented code, while ensuring the overall quality of the code through code reviews and testing. Identify and address performance bottlenecks, debugging issues, and optimizing applications for maximum speed and scalability. Stay updated with the latest trends and advancements in Python, AWS and related technologies, and share knowledge and best practices with the team. Integrate and utilize AWS services such as Amazon S3, Amazon EC2, Amazon RDS, AWS Lambda, AWS Dynamo DB, and others, as required by the application architecture. Ensure high performance, availability, and fault tolerance of applications by implementing AWS auto-scaling, load balancing, and monitoring mechanisms. Work closely with cross-functional teams, including designers and frontend developers, to ensure seamless integration of backend and frontend components. Participate in agile development methodologies, including sprint planning, task estimation, and regular team meetings. Mentor and provide technical guidance to junior team members, fostering their professional growth and development. Ensure smooth deployment and operation of the software in a cloud-based environment. Contribute to the continuous improvement of software development processes, tools, and methodologies. Design, integrate, and manage cloud-native applications using a wide range of AWS services, including S3, EC2, RDS (Postgre SQL), Lambda, API Gateway, VPC, IAM, Cloud Watch, and Cloud Formation, ensuring scalability, security, and high availability.
Qualifications
Bachelor's degree in Computer Science, Software Engineering, or a related field.+2 years of experience in software engineering or a related role Solid understanding of Python programming language and its ecosystem, including frameworks like Scrapy, Django or Flask. Good experience with AWS cloud services, including but not limited to Compute: EC2, ECS, Lambda Storage: S3, EFSDatabases: RDS, postgresql Developer Tools: Code Pipeline, Code Build, Code Deploy Security and Identity: IAM, Secrets Manager Networking: VPC, Load Balancers, API Gateway Knowledge of containerization technologies like Docker and container orchestration platforms like Kubernetes is a plus. Extensive experience in designing and developing backend applications, APIs, and web services using Python frameworks Proficiency in database systems such as Postgre SQL, MySQL, or Mongo DB, and familiarity with ORM (Object-Relational Mapping) frameworks. Strong understanding of software development principles, design patterns, and best practices. Experience with version control systems, such as Git, and familiarity with collaborative coding workflows. Solid understanding of software testing methodologies, including unit testing and integration testing. Experience working in an agile development environment and familiarity with agile methodologies (e.g., Scrum, Kanban). Excellent problem-solving and analytical skills, with a strong attention to detail. Effective communication and collaboration skills, with the ability to work well within a team.
وصف الوظيفة
نحن نبحث عن مهندس برمجيات ذو مهارات عالية يتمتع بخبرة في لغة بايثون (Python) وخدمات أمازون السحابية (AWS) للانضمام إلى فريق التطوير الديناميكي والمبتكر لدينا. بصفتك مهندس برمجيات، ستكون مسؤولاً عن تصميم وتطوير ونشر حلول برمجية قابلة للتوسع وموثوقة باستخدام بايثون والاستفادة من خدمات أمازون السحابية. ستتعاون بشكل وثيق مع الفرق متعددة الوظائف، بما في ذلك مديري المنتجات والمصممين والمهندسين الزملاء، لتقديم منتجات برمجية عالية الجودة تلبي احتياجات عملائنا.
المسؤوليات
تصميم وتطوير تطبيقات برمجية عالية الجودة وفعالة وقابلة للتوسع باستخدام بايثون، مع الالتزام بأفضل الممارسات ومعايير البرمجة. التعاون مع فريق إدارة المنتج لفهم المتطلبات وتحويلها إلى تصاميم تقنية والمشاركة في دورة حياة تطوير المنتج. كتابة كود نظيف وقابل للصيانة وموثق جيداً، مع ضمان الجودة الشاملة للكود من خلال مراجعات الكود والاختبار. تحديد ومعالجة اختناقات الأداء ومشكلات تصحيح الأخطاء وتحسين التطبيقات لتحقيق أقصى قدر من السرعة وقابلية التوسع. البقاء على اطلاع بأحدث الاتجاهات والتطورات في بايثون وAWS والتقنيات ذات الصلة، ومشاركة المعرفة وأفضل الممارسات مع الفريق. دمج واستخدام خدمات AWS مثل Amazon S3 وAmazon EC2 وAmazon RDS وAWS Lambda وAWS Dynamo DB وغيرها، حسبما تقتضيه بنية التطبيق. ضمان الأداء العالي والتوافر والتسامح مع الأخطاء للتطبيقات من خلال تنفيذ آليات التوسع التلقائي وموازنة التحميل والمراقبة في AWS. العمل عن كثب مع الفرق متعددة الوظائف، بما في ذلك المصممين ومطوري الواجهات الأمامية، لضمان التكامل السلس للمكونات الخلفية والأمامية. المشاركة في منهجيات التطوير الرشيقة (Agile)، بما في ذلك تخطيط السباقات (Sprints) وتقدير المهام واجتماعات الفريق المنتظمة. توجيه وتقديم التوجيه التقني لأعضاء الفريق المبتدئين، وتعزيز نموهم المهني وتطورهم. ضمان النشر السلس وتشغيل البرامج في بيئة سحابية. المساهمة في التحسين المستمر لعمليات وأدوات ومنهجيات تطوير البرمجيات. تصميم ودمج وإدارة التطبيقات السحابية الأصلية باستخدام مجموعة واسعة من خدمات AWS، بما في ذلك S3 وEC2 وRDS (Postgre SQL) وLambda وAPI Gateway وVPC وIAM وCloud Watch وCloud Formation، مما يضمن قابلية التوسع والأمان والتوافر العالي.
المؤهلات
درجة البكالوريوس في علوم الحاسب، هندسة البرمجيات، أو مجال ذي صلة. خبرة لا تقل عن سنتين في هندسة البرمجيات أو دور ذي صلة. فهم قوي للغة البرمجة بايثون ونظامها البيئي، بما في ذلك أطر العمل مثل Scrapy أو Django أو Flask. خبرة جيدة في خدمات AWS السحابية، بما في ذلك على سبيل المثال لا الحصر: الحوسبة (EC2, ECS, Lambda)، التخزين (S3, EFS)، قواعد البيانات (RDS, postgresql)، أدوات المطور (Code Pipeline, Code Build, Code Deploy)، الأمن والهوية (IAM, Secrets Manager)، الشبكات (VPC, Load Balancers, API Gateway). تعتبر المعرفة بتقنيات الحاويات مثل Docker ومنصات تنسيق الحاويات مثل Kubernetes ميزة إضافية. خبرة واسعة في تصميم وتطوير التطبيقات الخلفية وواجهات برمجة التطبيقات (APIs) وخدمات الويب باستخدام أطر عمل بايثون. الكفاءة في أنظمة قواعد البيانات مثل Postgre SQL أو MySQL أو Mongo DB، والإلمام بأطر عمل ORM (Object-Relational Mapping). فهم قوي لمبادئ تطوير البرمجيات وأنماط التصميم وأفضل الممارسات. خبرة في أنظمة التحكم في الإصدار مثل Git، والإلمام بسير عمل البرمجة التعاونية. فهم قوي لمنهجيات اختبار البرمجيات، بما في ذلك اختبار الوحدات (Unit Testing) واختبار التكامل (Integration Testing). خبرة في العمل في بيئة تطوير رشيقة (Agile) والإلمام بمنهجيات الرشاقة (مثل Scrum وKanban). مهارات ممتازة في حل المشكلات والتحليل، مع اهتمام قوي بالتفاصيل. مهارات تواصل وتعاون فعالة، مع القدرة على العمل بشكل جيد ضمن فريق.