As a software architect, you will lead a small team of developers that is working with other departments to engineer the next generation of Afiniti's products.
You will be responsible for gaining a thorough understanding of the Afiniti business domain and software systems, and will lead a team of engineers in designing and implementing high-performance and scalable data analysis, ETL, monitoring, visualization and computation systems targetting both CPE and cloud installations. You will own the products' architecture and mentor your team but will have no qualms about getting your hands dirty by delving into code when necessary.
The ideal candidate will have:
More than eight years of professional software development and team management experience, with at least three years of experience in creating large-scale complex web applications and at least two years in a leadership role.
Above-average software development skills in at least three programming languages.
Proficiency in using Linux as the primary operating system, and familiarity with the Linux toolset.
An in-depth understanding of the most common data structures, algorithms and design patterns.
Exposure to cloud-centric software and microservice architecture.
A solid understanding of how to engineer performance, large-scale web applications.
Experience with at least one RDBMS in database design and programming roles and an intermediate level understanding of SQL and database systems.
The ability to quickly comprehend complex business processes and existing systems' architecture, and propose efficient solutions to tough problems.
Eagerness to learn new languages and technologies to stay current with the technology stack in use at Afiniti.
An aptitude for debugging, mathematics, problem solving and mastering new languages and APIs in a short time span.
An interest in data science, machine learning and artificial intelligence.
Outstanding written and oral English communication skills.
High quality organizational and leadership skills.
The ability to differentiate between barely working and highly optimized code, and the talent to produce the latter.
Comfort in both old-school and Agile development methodologies, CI/CD enabled projects and git or similar source code control.
Bonus points for experience with one ore more of the following techniques and technologies: TDD, Reactjs, D3, MongoDB or similar NoSQL databases, MySQL, PostGreSQL, Kafka, Redis, Neo4J, Big Data analytics, Spark, Python and R.
Candidate who follow the instructions below will be prioritized:
Assign a self-assessment score to each of the idea candidate expectations, followed by the technologies mentioned in the bonus points, using the categorical scale: 0 = Unfamiliar, 1 = Beginner, 3 = Intermediate, 7 = Advanced, 15 = Expert
Convert the scores to hexadecimal, create a hexadecimal string, and mention it in your cover letter or resume using the example format