Are you our next Software Architect?
Accelerate innovation… and your career.
Who we are
Founded in 2017, Upchain (www.upchain.com) provides Product Lifecycle Management (PLM) solutions on the Cloud. We fuel innovation and simplify product development by connecting sales, engineering, manufacturing, supply chain, service, and others at all points in the product lifecycle. Empowering an impressive list of customers to make better products faster, our easy-to-use platform enables real-time collaborations, establishes the digital thread, manages changes, facilitates viewing of CAD files in 3D, and captures feedback and business processes from any stakeholder throughout the product value chain.
With headquarters in Toronto (Canada) and three offices in Croatia, our 85+ employee company was named one of Deloitte Technology’s Fast 50™ Companies-to-Watch last year for exhibiting strong growth as well as recognized by the Lazaridis ScaleUp Program as one of Canada’s Top 10 growth-stage start-ups.
We are growing!
With new projects and lots of exciting technologies, Upchain is looking for a passionate and talented Software Architect to help us build next generation of Upchain’s PLM SaaS platform.
Are you curious about what’s latest and greatest in Cloud technologies? Are you always looking for an excuse to try out a new piece of tech? Are you someone who is always excited about solving complex problems?
If yes, then please join Upchain as we take on the complex world of PLM system.
This is a Software Architect position based in one of our three offices in Croatia & Canada. As a Software Architect, you will work in one of the scrum teams, taking ownership in creation and maintenance of several areas of Upchain's PLM SaaS platform. You will be involved in leading architectural discussions, mentorship of team members and collaboration with development and other teams within Upchain
In this full-time role, you would enjoy competitive pay, stock options, overtime pay, flexible/remote working options, and perks that include daily catered lunches in a modern office with a comfortable working atmosphere.
- Work in a scrum team as an active contributor in all Agile ceremonies
- You will work within Architecture team to help establish new standards
- Develop architecture and design for new services
- Identify gaps in existing services and provide design & architecture recommendation on how to address those gaps
- Provide design & architecture help to engineering teams for designing new features in existing services. You will be involved in leading architectural discussions, mentorship of team members and collaboration with development and other teams within Upchain.
- Create and maintain technical documentation
- Actively participate in knowledge-sharing sessions as a presenter and as an attendee
- Practice continuous learning
You may be our ideal team member if you are:
- A proactive, accountable person with a strong understanding of Agile and Scaled Agile development practices/tooling and a broad knowledge of full software development lifecycle
- An active listener and tactful communicator with the strong interpersonal skills needed to work with various stakeholders
- A multitasker capable of prioritizing and managing your time and multiple priorities simultaneously in a fast-paced, time-sensitive, results-oriented environment
- A strong advocate for - and contributor to - quality, Health & Safety, and an elite DevOps Engineering culture
- An experienced technical leader skilled at mentoring others, leading complex design, and identifying innovative solutions to our most challenging problems. Experience with direct management of team members is an asset
- Expertise in Java and JVM-languages
- Expertise developing scalable microservices in a SaaS, multi-tenant environment from architecture and design to implementation (Java, SpringBoot)
- Good understanding of SOLID principles and Software Design patterns
- Expertise in Green field Microservice development and knowledge of Modern best practices for Software Development
- A passionate developer who is always eager to learn and experiment with new technologies
- Expertise with Kubernetes based development
- Experience in transitioning from a monolithic to a microservice architecture
- Experience working with messaging brokers such as RabbitMQ or Kafka
- Experience working with AWS stack (EKS, EC2, RDS, S3, SES, Fargate, Lambda)
Strong testing experience utilizing automated testing tools and frameworks such as JUnit, Mockito, Cucumber
- Experience working with relational (MySQL, MS SQL), NoSQL databases (Redis, MongoDB, Elasticsearch) and database change management libraries (Liquibase, FlyWay)
- Experience designing and implementing RESTful & GraphQL APIs
- Experience working with containers, their deployment and orchestration (Docker, K8s, Helm, Argo)
- Experience working with source code management and CI/CD platforms such as GitHub, Jenkins, CircleCI
- Good understanding of multiple authentication models including SAML2, OpenID Connect, OAuth2, Certificate Authentication, and multi-factor authentication (MFA)
- Familiarity with Security by Design practices and Product Lifecycle Management concepts are assets
- Bachelor’s degree in computer science or equivalent experience
- Minimum 5 years of experience working with production workloads at scale in an agile, AWS cloud environment
- Fluency in English (verbal and written)
What we offer:
- Competitive pay (overtime pay is applicable)
- Stock options
- Extra vacation days
- Flexible hours and work from home options
- Team building activities
- Perks including daily catered lunches, bottomless coffee, and relaxation/downtime spaces offering foosball and table tennis
- An inclusive work environment that facilitates advancement and embraces members with diverse perspectives
Do you fit with an innovative, fast-growing software engineering company with a very bright future? Let’s find out. Submit your resume and cover letter today.