Software Architect (Remote)

SemanticBits
Posted 3 years ago

Position Summary

SemanticBits is seeking a talented Software Architect with demonstrated leadership experience to design and build sophisticated IT systems in the healthcare and life sciences domains. You will be working on projects that support the Centers for Medicare and Medicaid Services (CMS). Our teams are improving platforms that collect healthcare data from hundreds of thousands of daily users, which informs decisions on healthcare policy, government spending, and, most importantly, patient care. You will bring your expertise in software development to lead and guide our team in an Agile environment that has a major impact on healthcare in our country. If you are driven to use your talent to build software using a modern, cloud-based technology stack that makes a difference, we would love to share more about this opportunity.

Requirements

  • Bachelor’s degree in Computer Science (or other related field)
  • 10 years experience engineering enterprise applications
  • At least 4 years of experience as a lead developer/architect
  • Strong knowledge of computer science fundamentals: object-oriented design and programming, data structures, algorithms, databases (SQL and relational design), and networking
  • Experience in architecting and designing of enterprise applications including publishing of design artifacts, process flows, and pseudocode
  • Extensive knowledge and implementation experience in domain-driven design using GOF OO design patterns
  • Solid experience developing full-stack, enterprise applications using agile software development methodologies and test driven development (TDD) methodology
  • Demonstrable proficiency with multiple programming languages such as Node.js, Python, Java, C++Experience with Unix/Linux environments and scripting (e.g. Bash, C-Shell)
  • Experience in database modelingExperience in developing prototypes on new concepts and technology.
  • Experience with front-end web technologies like Angular/React/Vue, Bootstrap, jQuery, JavaScript, HTML, CSS
  • Experience with frameworks such as Express, Flask, and Spring
  • Experience with relational databases like Postgres, MySQL, Oracle, and NoSQL databases like MongoDB, Cassandra, CouchDB
  • Experience with unit test frameworks like JUnit, HttpUnit, DBUnit, EasyMock, Selenium
  • Experience with microservice, REST, and SOA design principles
  • Experience with messaging solutions like SQS, Kafka, Rabbit MQ, JMS
  • Experience with cloud vendors such as AWS, Azure, Google Cloud
  • Experience with CI/CD tools like Jenkins, Travis, CircleCI
  • Experience with various data formats such as JSON, YAML, XML, RDF, OWL, CSV, Parquet, Avro
  • Experience with data analysis and reporting using tools like R and Python is a plus

Responsibilities

  • Provide leadership and serve as a senior development resource for development teams
  • Take a lead role in all stages of software development including planning, implementation, testing, documentation and release
  • Develop application architecture that supports requirements for system performance, scalability, security, extensibility and manageability
  • Define proper architectural approaches for clustering, fault tolerance, transaction processing, state management, caching, queuing, batch, sync/async, etc. to ensure performance, stability and maintainability
  • Present and defend architectural, design, and technical choices to internal and external audiences
  • Conceptualize and develop prototypes to test multiple design and architecture concepts using various tools/frameworks to determine the optimal approach.
  • Develop and test architecturally significant and complex aspects of the system
  • Conduct and lead code review sessions to ensure high quality software 
  • Establish best practices and ensure that they are followed by the development team
  • Proactively learn new technologies, standards and applications;keeping current with technology developments within the industry by continually reviewing literature and current practices relevant to the solution of assigned projects
  • Provide assistance in developing technical proposals in response to federal requests for proposals (RFPs)
  • Evangelize and drive technology architecture throughout the company
  • Represent SemanticBits with confidence, ability, tact and enthusiasm