Senior Software Engineer

Stl Hack — Bahrain · Posted ~1 hour ago

Senior Full-time

Skills

software architecture software development scalable applications API development system design testing deployment software lifecycle management

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary ✨ AI‑Generated

A technically challenging role for an experienced software engineer focused on building reliable and scalable applications. The position involves architecture design, full software development lifecycle ownership, collaboration with multiple teams, and improving performance, security, and maintainability.

Highlights

Opportunity to design scalable software solutions, contribute to architecture decisions, lead technical initiatives, and collaborate with cross-functional teams while improving software quality and reliability.

Description

Role DescriptionWe are seeking a highly skilled and technically driven Senior Software Engineer to design, develop, maintain, and improve reliable software solutions that support business objectives and evolving technology requirements. This role is responsible for contributing to software architecture, leading technical initiatives, developing scalable applications, and ensuring high standards of performance, security, maintainability, and code quality. The successful candidate will participate in the complete software development lifecycle, including requirements analysis, system design, development, testing, deployment, monitoring, and continuous improvement. You will collaborate with product managers, software engineers, designers, data specialists, quality assurance teams, and business stakeholders to translate functional requirements into efficient and scalable technical solutions. The role involves designing and implementing robust software applications, services, APIs, integrations, and backend or frontend components. You will review technical requirements, evaluate architectural approaches, identify potential challenges, and recommend solutions that balance performance, scalability, security, usability, and maintainability. You will contribute to technical architecture and engineering standards by establishing reusable components, development patterns, coding practices, testing strategies, and documentation. Responsibilities include conducting code reviews, identifying technical risks, improving application performance, resolving complex software issues, and supporting engineering teams in maintaining high-quality development practices. The position requires working with modern programming languages, frameworks, databases, cloud platforms, development tools, and deployment technologies. You will contribute to cloud-native applications, distributed systems, microservices, APIs, automation, and integration solutions while evaluating technologies that can improve engineering productivity and product capabilities. You will collaborate with DevOps and infrastructure teams to support continuous integration and continuous delivery (CI/CD), automated testing, deployment pipelines, monitoring, logging, and system reliability. Responsibilities also include identifying performance bottlenecks, troubleshooting production issues, implementing preventive measures, and improving application stability and operational efficiency. The role encourages the adoption of modern engineering practices, artificial intelligence tools, automation, cloud technologies, and emerging development frameworks to improve software delivery and innovation. You will participate in technical planning, architecture discussions, proof-of-concept initiatives, system modernization, and continuous improvement programs. You will maintain high standards for application security, data protection, software quality, and regulatory compliance. The role also involves documenting technical decisions, system architecture, development processes, and operational procedures to support knowledge sharing and long-term maintainability. As a senior technical contributor, you will support knowledge sharing, mentor other engineers, promote engineering best practices, and contribute to a collaborative technical culture. Strong problem-solving ability, technical leadership, communication skills, and a commitment to building reliable and scalable software are essential for delivering high-quality technology solutions. QualificationsStrong understanding of software engineering principles, system design, software architecture, and development methodologies.Proficiency in one or more programming languages such as Java, Python, JavaScript, TypeScript, C#, C++, Go, or similar technologies.Strong knowledge of software development lifecycle (SDLC), object-oriented programming, design patterns, and clean code principles.Familiarity with modern frameworks, RESTful APIs, microservices, distributed systems, and application integration.Strong understanding of relational and NoSQL databases, data modeling, database optimization, and query performance.Knowledge of cloud platforms such as AWS, Microsoft Azure, or Google Cloud.Familiarity with Docker, Kubernetes, CI/CD pipelines, Git, automated testing, and DevOps practices.Strong understanding of software testing methodologies, debugging, performance optimization, and quality assurance practices.Knowledge of application security, authentication, authorization, encryption, data protection, and secure coding principles.Strong analytical and problem-solving abilities with the capacity to resolve complex technical challenges.Ability to review code, evaluate technical designs, identify risks, and recommend scalable engineering solutions.Excellent communication and collaboration skills when working with technical and non-technical stakeholders.Ability to mentor engineers, share technical knowledge, and contribute to engineering standards and best practices.Familiarity with artificial intelligence, machine learning, automation, cloud-native technologies, or emerging software development tools is advantageous.Strong understanding of version control, software documentation, code quality standards, and technical governance.Ability to manage multiple technical priorities while maintaining high standards of reliability and delivery.Commitment to continuous learning, technological innovation, and engineering excellence.Professionalism, accountability, adaptability, and dedication to developing secure, scalable, maintainable, and high-performance software solutions.