Software Architect - remote

Trafilea
Posted 4 years ago

At Trafilea, we are looking for a Software Architect with excellent written and oral English skills to join our REMOTE FULL-TIME team. This person is going to be responsible for providing an advanced abstraction of the structure, behavior, and attributes of our software systems. Consisting of component descriptions, the interactions between components, models for guiding component integration, and the constraints of these models. He/she should not only display the relationship between software requirements and software structures but also specify the organization and topology of the entire software system, providing principles that are available while making design decisions.

Requirements

  • Solid knowledge of architecture and design patterns, Object Oriented Design principles and SOLID principles.
  • Solid experience in e-commerce architecture.
  • Proven experience in application performance improvements.
  • 5+ years experience with at least one of the following common languages: JavaScript, Python, Java, etc.
  • Strong understanding of modern web applications from a database to the browser.
  • Excellent communicator in both technical and non-technical contexts.
  • Intimate understanding of modern web applications from the database to the browser.
  • Excellent communicator in both technical and non-technical contexts.
  • Skills to debug and understand large Java and SQL code bases.
  • Desire to delight the customer by taking initiative, responsibility, and ownership of your projects.
  • Fundamental awareness of usability.
  • Ability to adapt quickly to new complex environments and learn technologies.
  • Solid experience writing complex SQL queries, procedures, and views.
  • Scaffolding, webpack programming

ABOUT THE ROLE

  • Collaborating with various stakeholders to determine software requirements.
  • Creating high-level product specifications and design documents.
  • Providing the development team with architectural blueprints to follow.
  • Guiding and assisting the development team throughout the process.
  • Troubleshooting and resolving issues with coding or design.
  • Ensuring that you and the team adhere to development schedules and deadlines.
  • Presenting regular progress reports and setting goals.
  • Testing the final product to ensure it is completely functional and meets requirements.
  • Updating software solutions as required.
  • Facilitating planning, tracking, and scheduling software deliverables.
  • Locating and directing resolutions for critical issues related to software interfaces.
  • Assessing software and system issues to find solutions to them as per requirements.
  • Developing working relationships with marketing and product managers, and software engineers, and others.