Senior Java Software Engineer
Job description
About us:
Founded in 2000, ASAL Technologies is the destination for high-quality, innovative, and cost-effective software development and hardware, professional services, and business process outsourcing services. Our highly trained engineers become an extension arm of clients, with high standards in mind that are guaranteed to satisfy even the biggest corporations. All of this is done while supporting our community and cooperating with local universities and startups.
What else?
With 300+ employees spread around 3 cities on the West Bank: Nablus, Rawabi & Hebron. And addition to that we’re also recruiting globally. We’re constantly growing, and we can assure you that you will find your passion at ASAL. It’s simple: be smart, fun, and get things done. That’s what we’re looking for!
About The Role:
We are looking for highly motivated senior software engineers to work on the development of a new product. The successful candidate should have a strong knowledge of developing high-quality, object-oriented C++ and Java-based applications. We’re looking for someone who can work well in a multi-national team and develop maintainable, high-quality products using a structured development methodology.
Responsibilities:
- Collaborate with cross-functional teams to design, develop, and enhance software solutions using Java and/or C++.
- Analyze complex technical requirements and provide innovative solutions, considering performance, scalability, and usability.
- Develop efficient and high-quality code that adheres to coding standards and best practices.
- Conduct thorough code reviews, offer constructive feedback, and mentor junior engineers to promote a culture of continuous improvement.
- Troubleshoot and resolve software defects and issues reported by customers or internal stakeholders, ensuring timely resolution.
- Participate in software architecture and design discussions, providing valuable insights and recommendations.
- Stay up-to-date with industry trends, emerging technologies, and advancements in AI to contribute to the company's technical expertise.
Job requirements
- Bachelor's or Master's degree in Computer Science, Engineering, or a related field.
- 5+ years of relevant experience.
- Strong proficiency in Java and/or C++ programming languages, with a proven track record of designing and developing large-scale software systems.
- Solid understanding of data structures, algorithms, and object-oriented design principles.
- Proficiency in applying design patterns to solve complex software engineering problems.
- Experience in designing efficient and scalable solutions for practical problems.
- Excellent problem-solving skills and ability to work independently or collaboratively in a team environment.
- Strong communication skills to effectively interact with stakeholders, present ideas, and provide technical guidance.
Advantage:
- Familiarity with AI concepts, frameworks, and libraries is a plus.
- Experience developing software on UNIX systems.
- Prior experience in the electronic systems design industry or related domains is advantageous.