Qualifications The Software Architect would demonstrate an excellent knowledge of technology across several domains and share our excitement about business applications such as ERP, CRM, Utility Management in the LAMP environment.
The applicant will have experience in Agile development as well as engineering practices such as, continuous integration, test driven development, RESTful design and incremental design should be second nature to the Software Architect. At the same time, a successful candidate will not only be a good learner, but a good teacher. They should inspire their peers and more junior team members to learn and expand their skill set, guiding them in the right direction.
- Bachelor's degree in Computer Science or equivalent area
- Minimum of 7-10 years’ experience in software development
- Minimum 5 years’ experience as team leader senior software developer
- Excellent command of English (both verbal and written)
- Experience with building consumer quality products, enabling business capability and objectives through technology
- Strong application development knowledge of any of the following technologies: PHP, CakePHP, Ajax, HTML, CSS, JSON/XML, MySQL, Apache2, bash, python, perl, Angular JS, Angular Material
- Infrastructure and Services knowledge including networking, routing, Bind9, Linux (Ubuntu Server), Apache2 Web Server, MariaDB Galera, SSL, NFS, SSH, Git
- Experience in engineering practices such as code refactoring, design patterns, design driven development, continuous integration, building highly scalable applications, application security, functional programming
- Knowledge of Agile software development process
- Familiarity with performance metric tools
- Strong analytical and problem-solving skills paired with the ability to develop creative and efficient solutions
- Enjoys and gets energized by complex problem solving and ability to push the innovation on solutions
- Excellent communication skills with the ability to influence senior client business and IT executives on technology decisions
- Deliverable focused at with excellent skills of prioritization of their own work as well as team work
- Excellent leadership skills and enjoys teaching/mentoring others
- Ability to work under pressure, manage client expectations effectively and not get overwhelmed by client pressures on team – the name of the game is: “keep clam and keep developing!”
- Distinct customer focus and quality mindset
- Ability to manage own learning and contribute to functional knowledge building
- Ability to work both independently and in various team settings
- Ability to motivate and cooperate with external contractor programmers and programmers located in various geographical locations
Our office culture is casual, fun and social, with an emphasis on education and innovation. We have the freedom to try new ideas, experiment and are expected to be constantly learning and growing. There is also a strong emphasis on mentoring others in the group, enabling them to grow and learn.
You will have exciting career prospects within the utility and vending prepayment industry with international expansion that maintains a start-up development environment. You will work on challenging tasks in an innovative technological environment in relatively small team with varied cultural backgrounds.
The Software Architect has a real passion for software engineering. Well qualified candidates will have contributed to open source projects, have participated in some technical community or interest group or have had their own technical ideas and projects. Despite having over 7 to 10 years of experience, a Software Architect must still be an active learner: tinkering with new open source libraries, using unfamiliar technologies without a lot of supervision and learning new programming languages in their spare time, etc. Lastly, the individual would also have a strong understanding of key Agile engineering practices.
(They have team leader coaches but…. they have to be coachable. Believe it or not, some people are not.)
- Lenient on the team leader aspect of the role. The compromise would be a person that has some people's skills.
- We would even compromise for a Senior Developer, that has architected but has not been given the chance to become the software architect and that would be his or her next stage of growth. Such a person would have extensive DB knowledge to architect a system from the database up; but was not give the opportunity to take such a position.