Software Architect, Web (.NET) $160k – $185k

Job Brief

FreshCredit® is looking for a Software Architect for its web engineering team building a borderless financial technology platform providing credit scoring services for consumers and businesses, not a bank,.

FreshCredit® is a platform that is composed of mobile apps, REST API, smart contracts, blockchains and/or parachains (Bitcoin, Polkadot, and our own FreshCredit® Token “FRESH”). Together, they enable you access a fair, transparent, and compliant credit reporting, disputing, and scoring system to transact with any individual, business, or organization on the internet without giving up control of your data.

The web team is responsible for building the backend and frontend of the platform. We use .NET for our backend, React Native for our mobile applications, and Azure for our infrastructure.

Job Description

We are looking for an experienced Software Architect to make intuitive high-level decisions for software development. You will see the “big picture” and create architectural approaches for software design and implementation to guide the development team.

A great software architect has a strong technical background and excellent IT skills. They are experienced in designing and possess the ability to develop a unified vision for software characteristics and functions.

The goal is to provide a framework for the development of software or system that will result in high-quality IT solutions.

Requirements

  • Proven work experience as a software architect
  • In-depth knowledge of .NET development and Azure infrastructure
  • Cryptocurrency domain knowledge or willingness to learn
  • Create and enforce best-practices for entire codebase to ensure consistency
  • Lead the web engineering team
    • Able to provide detailed code reviews and mentor junior/intermediate developers
    • High quality organizational and leadership skills
    • Outstanding communication and presentation abilities
  • Able to create and update sequence and infrastructure diagrams
  • Experience working with JIRA-based/Agile development a plus
  • Constantly learning new Azure/.NET services and features
    • Implementing better options when they’re stable and affordable
  • Work with Dev-Ops team to generate useful logging, metrics and dashboards
  • Optimize existing applications to meet future needs (e.g. higher TPS)
  • Rollup sleeves and help fix emergency issues, when required
    • Hands-on position in a start-up environment
  • Understanding of software quality assurance principles
  • A technical mindset with great attention to detail
  • Bachelor’s degree in Computer Science, Engineering or relevant field

Job Duties

  • Architect Specific Duties
  • Collaborate with other professionals to determine functional and non-functional requirements for new software or applications
  • Use tools and methodologies to create representations for functions and user interface of the desired product
  • Develop high-level product specifications with attention to system integration and feasibility
  • Define all aspects of development from appropriate technology and workflow to coding standards
  • Communicate successfully all concepts and guidelines to the development team
  • Oversee progress of development team to ensure consistency with the initial design
  • Provide technical guidance and coaching to developers and engineers
  • Ensure software meets all requirements of quality, security, modifiability, extensibility, etc.
  • Approve final product before launch

General Duties

  • Document and demonstrate solutions by developing documentation, such as flowcharts, layouts, diagrams, charts, code comments, and clear code.
  • Prepare and install solutions by determining and designing system specifications, standards, and programming.
  • Improve operations by conducting systems analysis; recommending changes in policies and procedures.
  • Search, evaluate, and recommend 3rd party software products we should use.
  • Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
  • Protect operations by keeping the information confidential.
  • Provide information to internal/external customers by collecting, analyzing, and summarizing development and service issues.
  • Accomplish engineering and organization mission by completing related results as needed.
  • Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
  • Other tasks and duties assigned to employees by the Company, which may be outside the scope of the Position.