Job Description
- Designs develop and modify software modules based on functional and system requirements, according to code standards and user interface design guidelines
- Performs program maintenance, modifications, and enhancements to existing applications through programming, testing, documenting and training users
- Contribute clean code to ensure a consistently high-quality standard
- Propose and assess solutions to resolve problems, including identifying and evaluating new technologies and third-party components
- Understand and execute the technical concepts and the client requirements to ensure the high-quality technical solution
- Understand and be able to explain the roles and responsibilities within the Scrum Team and how to work in an Agile environment
- Provide more complicated automated test method and understand the test-driven development concept
- Be able to give accurate rough estimations and point out dependencies between issues
Job Requirement
- Have logical thinking and knowledge of basic mathematical logic
- Knowledge of basic computer science and basic software testing (Whitebox/Blackbox test)
- Can write codes for a few of algorithms
- Knowledge of basic OOP and its essential factors (Not only definition)
- Understand trendy design model patterns such at least MVC as an application of OOP
- Experience working with Ruby on Rails as well as libraries like Resque and RSpec.
- Experience of any programming languages such as node.js/PHP/Python/C#/JAVA
- Proficiency in HTML5/CSS3/JS- Experience of implementing Ajax interfaces on the backend
- Understand SQL commands and ORMs- High understanding of client's requirements for the business domain of the product
- Can properly design DB structures in accordance with client's requirements
- Can review codes for other developers and understand how to write codes readable
- Love to read books
- High level of English communication