Are you passionate about building applications that delight others and really make a difference? Would you enjoy the challenges of developing complex systems where innovation, elegance, and performance are always relevant? Do you live for discussions about how to improve software and the software development process, instead of always blindly reusing existing methods and frameworks? Do you have a knack for thinking strategically about business, product, and technical challenges?
Affinity Systems builds business and mobile applications for companies seeking innovative solutions to cool problems. Software is our product. We work in lots of different verticals and platforms, so the opportunities for variety and learning are always changing.
As a solution architect on our development team, you will participate in all aspects of system design and implementation, as well as interact with customers to learn requirements and show results first-hand. Creating reliable, scalable systems and engaging user interfaces requires exceptional technical expertise. You should be someone who relishes responsibility, always strives for the best, and gets satisfaction from solving hard problems really well. Dreaming about this at night is a plus.
We build solutions using a variety of technologies, usually influenced by preferences expressed by our customers. You must be expert in either Java or .NET platform development, and not afraid to dive into the other. You should have strong opinions on how software should be developed, but be flexible enough to realize that other opinions are valid as well. You must think of response time in terms of milliseconds or better.
Key Responsibilities
- Work closely with developers to produce the best technical design and approach for world-class software development
- Assess and identify appropriate technology platforms for the delivery of solutions
- Interact with project stakeholders and technical teams to define and deliver complex features
- Contribute to best and proven practice in areas such as methodology, frameworks, principles, and architectural standards
- Be a champion of engineering excellence by raising the bar on quality, consistency, maintainability, efficiency, security, and all the other things that make great software great
- Be able to drive architectural decisions and discuss technological trade-offs, including identifying and resolving key points of redundancy within systems
- Ensure the alignment of system architecture with product specifications
- Ensure architectural integrity, offer oversight, and play devil’s advocate
Required Skills
- Passion for software craftsmanship that yields clean, elegant, readable, and maintainable code
- Clear and analytical mind for solving hard problems
- Bachelors or Masters degree in Computer Science or Engineering (or 8+ years of relevant experience)
- At least 5 years of experience building complex software systems that have been successfully delivered to customers
- At least 5 years of contemporary solution architecture experience
- Firm grasp of fundamentals of algorithms, OO design, data structures, and relational data modeling
- Practical experience with UML and enterprise database architecture
- Innate comfort level with complexity and uncertainty, while always striving to minimize entropy
- Excellent teamwork skills, demonstrable personal flexibility, and ability to handle multiple tasks
- Ability to work well with people and be both highly self-motivated as well as motivating to others
- Passion for writing efficient and well-tested software, stepping through code, and benchmarking
- Strong and unambiguous verbal and written communication skills
- Strong executive presence
- Previous responsibility for ensuring that a solution implemented performs as expected
- Ability to coordinate technical teams that don’t report to you
- Passion for reading, researching, and experimenting with new algorithms and technology
Nice to Have
- Experience with distributed computing and mobile application architecture
- Experience with high volume, low latency transaction systems
- Experience with technical consulting and preparation of proposals
- Hands-on expertise in many disparate technologies, ranging from front-end user interfaces through to back-end systems and all points in between
- Lots of great ideas you can share with others
Email us at jobs@affsys.com
Location: Toronto