Responsibilities
-
Execute full lifecycle software development
-
Write well designed, testable, efficient code
-
Produce specifications and determine operational feasibility
-
Integrate software components into a fully functional software system
-
Develop software verification plans and quality assurance procedures
-
Document and maintain software functionality
-
Tailor and deploy software tools, processes and metrics
-
Serve as a subject matter expert
-
Comply with project plans and industry standards
Requirements
-
Minimum of 3 years of experience in a software development or related field
-
Ability to develop software in.NET, C#, JAVA or other selected languages
-
Solid knowledge of Javascript OR Typescript, HTML, and CSS
-
Experience with ReactJS, AngularJS, or similar UI frameworks
-
Excellent knowledge of Relational Databases, SQL and ORM technologies
-
Hands on experience in designing interactive applications
-
Experience with test-driven development
-
Mastery in software engineering tools
-
Ability to document requirements and specifications
-
Familiarity with software development methodology and release processes
-
BS degree in Computer Science or Engineering
Qualifications
-
At least 2 years of experience hand-coding HTML5, JavaScript, and CSS3
-
Expert knowledge of HTML5, CSS3, and transitions
-
Solid knowledge of Javascript OR Typescript, HTML, and CSS
-
Experience with ReactJS, AngularJS, or similar UI frameworks
-
Strong software engineering fundamentals, including knowledge of algorithms and data structures
-
Readiness to tackle infrastructure challenges when needed
-
Infrastructure and operating environment: Windows, Linux, AWS
-
BS in Computer Science or related field
-
Command on Arabic is MUST
Preferred Qualifications
-
Experience with non-script languages (Java, C++, C#, etc.)
-
Experience with server-side programming (Node.js)
-
Experience with functional programming concepts/languages