We are looking for a Software Engineer for our company who can create dynamic software applications for our clients. The ideal candidate will be responsible for the writing and testing scalable codes, developing both front-end and back-end components, and integrating the elements of the user-facing elements.
Responsibilities:
• Communicate with different teams, stake holders and define the design of the application Understanding the business requirements, solve complex problems and translating them to solution.
• Good knowledge of design patterns.
• Design and build web applications using Laravel.
• Understand and implement coding best practices to deliver a high-quality code.
• Understand and implement secure coding practices related to internet facing applications.
• Ensure the best possible performance, quality, and responsiveness of the applications.
• Perform unit testing of the source code produced
• Troubleshoot and resolve software defects
• Troubleshoot issues in the implementation and debug builds.
• Strong product sense and design intuition, and experience working closely with Project Managers
Requirements:
• Hands-on 7+ years of professional software engineering experience, and 3+ years in developing consumer-facing single-page applications in Angular, React.js, and 4+ years of experience in Laravel PHP framework.
• Strong proficiency in JavaScript, including DOM manipulation and the JavaScript object model
• Thorough understanding of React.js and its core principles
• Hands on experience with popular React.js workflows (such as Flux or Redux)
• Familiarity with newer specifications of EcmaScript
• Experience with data structure libraries (e.g., Immutable.js)
• Knowledge of isomorphic React is a plus
• Familiarity with RESTful APIs
• Knowledge of modern authorization mechanisms, such as JSON Web Token
• Expert in Mysql and NPM.
• Bachelor's degree in Engineering, Software, or a related discipline or the equivalent.
• Solid experience in writing and using unit tests to build maintainable and flexible code, and in writing and maintaining unit, integration, and end-to-end tests.
• Strong experience with A/B testing.
• Ability to work in a continuous delivery ecosystem.
• Strong problem solving and analytical skills.
• Nice to have:
• Experience with microservices and/or micro-frontends, in addition to TypeScript.
• Familiarity with state management tools (like redux, mobx, etc) and have shipped products using them.
• Experience of VueJS and NodeJS
• Experience working with PHP, performing unit testing, and managing APIs such as REST.
• A solid understanding of application design using Laravel.
• Practical experience using the MVC architecture.
Skills Required:
• Excellent problem-solving and analytical skills
• Good communication, teamwork, and negotiation skills
• Familiarity with the main data manipulation languages and the principles of database design
• The ability to work to tight deadlines under pressure
• Good organizational skills
• Flexibility and adaptability
• The ability to create and maintain strong working relationships with colleagues and customers
• Business awareness and understanding of business requirements of IT