Principal Software Architect
As part of the agile teams, the Principal Architect assists in design problems, platform best practices, and ensuring that every application is implemented according to acceptable design, quality, performance, and security standards.
About inBuild
inBuild boosts revenue for home builders by automating the thousands of invoices they receive for every project. For example, when a subcontractor sends an invoice for work they completed, inBuild checks the cost against the project budget, handles any approvals, pays the bill, and updates Quickbooks.
Position
Skills: Django, Python, React
As part of the agile teams, the Principal Architect assists in design problems, platform best practices, and ensuring that every application is implemented according to acceptable design, quality, performance, and security standards. They formulate high-level estimates for analyses, project planning, and impact assessments and demonstrate the ability to work with team members with varying degrees of technical depth and breadth of knowledge. The architect will also analyze and recommend technology strategies where gaps exist including performing proofs-of-concept as needed. Architects at inBuild are thought leaders in the engineering department to assist across teams. Duties include solving complex issues, learning/teaching new technologies, promoting growth, and assuring your team delivers on its commitments.
Who you are:
- You are an experienced software developer who is comfortable having the responsibility of making high-level design choices.
- Willing to take a bird’s-eye view of the tasks assigned and decide how to proceed in completing the project.
- A student of software architecture who is interested in learning every day. You can bring knowledge and experience to the rest of the team.
- Excited about working in a startup environment, with a small team, where change is taking place at every stage of the business.
- A desire to ensure that the architecture and the other team members follow coding standards, best practices, and technical requirements.
- Passionate about the design and development of cloud-based software.
- A team player who feels comfortable receiving and providing transparent feedback.
Responsibilities
- Collaborate with product owners and other business partners to understand and refine business requirements that drive the architecture.
- Work closely with engineers to create and document the detailed application design
- Perform code and design reviews as needed.
- Collaborate with all engineers and architects to create integration strategies between systems.
- Work with the infrastructure teams to ensure the software is effectively mapped.
- Perform proofs-of-concept as needed to determine technology solutions.
- Evaluate legacy and current applications, architecture, database design, etc. to make recommendations on improvements in design, performance, and quality.
- Drive continuous improvement while ensuring consistent practices across enterprise initiatives.
- Keep up with new technologies and trends and be able to apply them when appropriate to our architecture or processes.
- Work with engineering teams to implement appropriate design patterns and best practices.
Qualifications
- M.S. or B.S. in Computer Science, Engineering preferred, or possess equivalent work experience.
- 4+ years of relevant technology architecture experience - including evidence of leading efforts to shape strategic investment portfolios and to scope & architect major programs.
- 3+ years of experience in design and development of complex cloud-based, high transaction, high volume, distributed systems offered in a SaaS model or similar.
- Formal skills with the following: C# .Net or Java, web services, ORM frameworks, RDBMS, NoSQL, data stores, build / continuous integration, messaging systems, and protocols. Knowledge of Python and React is helpful.
- Experience with software development methodologies such as agile and test-driven development.
- Experience creating & maintaining Architecture Roadmaps.
- Hands-on experience creating POCs, and working closely with businesses and partners.
- Demonstrated experience in leading and collaborating with virtual teams made up of business and technology resources.
- Strong organizational skills with a demonstrated ability to plan and prioritize workload.
- Strong communication and influencing skills with the entirety of the team.
- Experience with data modeling and database design.
- Experience with messaging middleware and microservices.
- Good knowledge of web services and related standards.
- Knowledge of distributed architectures and design patterns, and best practices.