Position Overview
The Principle Architect is instrumental in shaping the vision for the technical architecture for the GiveSmart fundraising platform. The Enterprise Architect will provide technical and subject matter expertise while defining, designing and implementing that vision across the platform components. The Enterprise Architect will be responsible for contributing to the high-level decisions in the software development process, determining everything from day-to-day implementation choices to high level technical standards, such as platforms and coding standards. This position will leverage tools and methodologies to create representations for back-end functionality as well as the front-end user interface of platform products. Enterprise Architects will develop high-level product specifications with attention to system integration, security, scalability and feasibility. This position may contribute by developing application code as needed. The Enterprise Architect will prescribe standards and guidelines and will act as a consultant to other architects, developers and leadership teams and must demonstrate quality, brevity, and timeliness in all deliverables.
A successful candidate in this role will:
- Determine functional and non-functional requirements for new software or existing applications
- Use tools and methodologies to deliver wireframes, data models and representations of desired products
- Mentor and coach junior development team members
- Solve the most difficult software development challenges
- Establish frameworks for the development of software that will result in high quality solutions
- Maintain balance of business and technical acumen in decision making
- Prescribe source-code management and work item tracking best practices
- Prescribe the estimation process
- Enhance and optimize the secure software development lifecycle
- Provide consultation to development management team
Competencies:
- Must demonstrate good decision making and effective business acumen
- Must be able to communicate in both written and verbal form
- Must maintain confidentiality of work-related information and materials
- Must have a growth mindset and subscribe to a continuous learning philosophy
- Demonstrate expertise and mastery in your area of technology and industry
- Must establish and maintain effective working relationships
We would love to chat if you have...
- 10+ years of professional experience in software development delivering Software As a Service (SaaS) web and moible application products
- 6+ years of professional experience designing & architecting using microservice development models and service-oriented architecture (SOA) methodologies.
- Experience with Streaming services like Kafka and/or RabbitMQ.
- Experience working with Elasticsearch and/or Solr.
- Experience with developing enterprise level SaaS platforms.
- Experience in simplifying technology stacks and unifying multiple application databases and data models.
- Strong experience with designing and developing APIs.
- Experience working in Unix / Linux platforms.
- Experience with Payment systems (PCI requirements) is preferred.
- Experience scaling systems both vertically and horizontally.
- Find the economy of scale through common services.
- Experience with modern languages like Ruby or Python is an added advantage.
- Strong in Relational Database (MySQL and/or Postgres). Experience in Performance tuning data models and SQL queries
- Master knowledge with respect to at least one technical stack including but not limited to the following:
- Java Tech Stack
- Strong in Core Java and J2EE Skills with Java version 8,11 or onward versions.
- Solid understanding of Web technologies, including Java Servlets, JSP, MVC, and AJAX Experience with Component Based Web Frameworks (Wicket, Tapestry, GWT) Experience in developing cross-browser apps using HTML, JavaScript, AJAX, ReactJS/AngularJS and CSS. SQL Server (Fluent with stored procedures, functions, indexes, views, profiler, tracing)
- Web Services (gRPC, REST)
- Tomcat/Ngnix web servers setup and config knowledge.
- Unit and integration tests (JUnit or any other unit testing frameworks)
- Cloud Native solutions
- Microservices (system decomposition, containerization, Kubernetes container orchestration)
- Public Cloud (AWS a must)
- Container Orchestration
- Container Security & Networking/Segmentation
- Master knowledge of toolsets such as:
- Build Tools: AWS Pipelines, Terraform, Jenkins, Bamboo, Octopus Deploy, YAML, AWS portal, Webpack
- Source Control: Git, Bitbucket
- Work Request Systems: Jira
- Non-functional Requirements:
- Design
- Design patterns
- Architectural patterns, microservices
- Code quality, security focus, clean modern code
- Ability to collaborate, validate and assist prioritizing requirements for projects and request
- Ability to properly assess and articulate risk
Preferred Education and Experience:
- B.S. or higher in computer science/technology field preferred or equivalent industry experience
- Excellent customer-service orientation
- Effective delegation of tasks and follow-up
- Lead technology assessments and author recommendations
- Knowledgeable of system and software quality assurance best practices and methodologies
- Capable of meeting deadlines and focuses on results and value creation
- Capable of professionally resolving team issues/conflicts
- Works well with customers and vendors, knows when and how hard to push to maintain a stable and reliable environment
- Capable of leading research into application development issues to successful completion
- Self-motivated and directed
- Capable of prioritizing and execution of tasks in a high-pressure environment
- Knowledge of applicable data privacy practices and regulations preferred (PCI, PII, PHI, HIPAA, GDPR, ADA, etc.)