Title: Application IT Architect
Location: San Francisco, CA or Sacramento, CA
Summary of Work
The Appellate Court Case Management System (ACCMS) is the primary business system for the Supreme Court and the District Courts of Appeal. The courts rely on this production application to track and manage case processing. The ACCMS development team provides primary production support to court operations by assisting the appellate courts with modification of configurable automation rules for court business processes; maintenance of shared reference information; and development of customized data reports.
Modernization Assessment Project:
- Act as a subject matter expert on the ACCMS modernization assessment project to support the ACCMS enhancement working group in implementing new enhancement feature requests that leverage modern standards, platforms and architecture. The emphasis is on a migration to the cloud and retirement of legacy components that are based on ColdFusion/Oracle SQL/J2EE/etc. In addition to the assessment work, a complete action plan will need to be produced to support a “to be” state of the application so that it can meet the business needs of the Appellate courts for the next 15-20 years.
- Review and analyze existing application from multiple perspectives (application architecture, current stack, data elements, database design, integration, infrastructure, security, etc.)
Enhancements to the existing ACCMS application:
- Design, code, and test changes to the ACCMS application for existing enhancement feature requests known as the “roadmap items”
- Perform analysis to determine root cause and solution for reported defects
- Monitor system performance, resolve production issues, develop enhancements, and assist with tuning the current applications
- Provide technical support to the ACCMS courts as needed.
Minimum Job-Specific Skills/Qualifications Required (in order of relative importance):
Ten (10) years of design, development and architecture experience including solid knowledge of, and proficiency in the software used in the assignment. Additional directly related experience and/or education may be substituted on a year-for-year basis.
Required Job-Specific Skills/Qualifications:
DEMONSTRATED EXPERIENCE IN
- Application Architecture
- Experience in architecting and designing n-tier application
- Experiencing in designing and developing data models
- Experience in systems, application, and database design
- Experience in designing loosely coupled interfaces
- High availability and fault tolerant application designs
- Information systems architecture and integration for enterprise-wide systems
- Developing a design and plan to modernize existing applications with the above characteristics
- Cloud based application design principles
- Cloud based databases (AWS RDS, Azure SQL Server, Azure CosmoDB)
- Emerging cloud-based technology
- Application requirements analysis, design, development, implementation, and support of business applications
- Developing and maintaining technical specifications and design documentation
- Application implementation and data conversion
- Web Application Development Experience
- Lucee/ColdFusion experience
- Lucee/ColdFusion development experience (installation, design, development, creation, documentation, maintenance, and upgrade of ColdFusion server platform)
- Experience using ColdFusion development frameworks (particularly Fusebox)
- Relational database experience
- Experience in MS SQL Server, Oracle Database, MySQL
- Development experience using SQL, Oracle SQL, PL/SQL, T-SQL, ANSI SQL
- Experience with database design, management, tuning, and data modeling tools
- Administration Experience
- Understanding of systems performance tuning (database and application) and troubleshooting
- Experience with UNIX programming utilities, including vi, shell scripts, and crontab
- Experience administering J2EE application servers
- Familiarity with networking, networking concepts and their technical implications
- Experience with Linux (Red hat)
- Experience with Microsoft Azure Active Directory and Identity Management
- Experience with using open source system and software development tools
- Experience integrating systems using Web Services, SOAP/XML, RESTful APIs
- Experience using source control and revision system such as Subversion, Github
- Experience with Microsoft Suite that includes Word, Excel, PowerPoint, Visio, Access, Projects, etc.
- Business objects knowledge (SAP Business Objects (Crystal) and BiQuery)
- Power BI suite of business analytics tools knowledge
Additional Skills/Qualifications Desired:
DEMONSTRATED KNOWLEDGE OF
- Experience with California appellate court operations
- Software Development Life Cycle (SDLC);
- High proficiency in assigned programming/coding language(s);
- Project management methods, tools, and techniques;
- Principles and techniques of preparing effective written documentation and presentations;
- Web design, content management, and analytics, as assigned;
- Customer service principles;
- Various testing tools, test planning/execution;
- Applicable business equipment and desktop applications.
DEMONSTRATED SKILL IN
- Listening and problem-solving
- Translating business requirements to technical requirements and application design;
- Using software development tools, languages, and report generators;
- Applying initiative and creativity to technical problem-solving;
- Communicating technical software and hardware issues to non-technical users and management;
- Organizing tasks, meeting deadlines, and prioritizing competing demands within assigned projects;
- Maintaining web applications, properties, content, and web infrastructure, as assigned;
- Administer user access and security, as assigned;
- Monitoring, gathering, and reporting system analytics, as assigned;
- Effectively communicating in written and oral form;
- Maintaining effective working relationships with colleagues, customers, and the public.
Description of Tasks and Responsibilities
- Systems Analysis. Work with staff to analyze the ACCMS application portfolio and produce a “snapshot” /current state of the system and any interrelated systems. Determine ACCMS’ stability in order to evaluate its suitability for modernization. Review and utilize various output artifacts from other application initiatives to understand requirements for modernization focus.
- Source Code Analysis. Work with staff to analyze all system components and perform source code parsing/compilation to determine the viability of the code in a modern architecture. This would include identification of any code redundancy so that the code that is unused or unreferenced can be removed for more efficiency.
- User Interface/User Experience Analysis. In collaboration with staff and court resources, perform an analysis of the user interface to determine its complexity and usefulness in the modernized application.
- Data architecture and database analysis. Perform an investigation and assessment of the complexity, size and design of the ACCMS’ databases or data stores.
- Integration Analysis. Determine all external interfaces of ACCMS in order to understand data flows and see if there are intersystem processing functions that need to be a part of the modernization analysis.
- Application architecture analysis and design. In collaboration with staff and court resources, detail documentation of the operational logic flows within the entire application system to ensure that the modernized application retains the processes.
- Work with staff and court resources to identify the event rules that exist within the ACCMS application and their relationship with processes throughout the application.
- Determine with staff if event rules can be rearchitected to enable a more intuitive method of creating, modifying, and testing event rules.
- Requirements gathering. Conduct interviews with application subject matter experts, court users, executive officers and JCIT enterprise/application architects to determine all the court and technical drivers that must be addressed throughout the modernization process. The focus should center around identifying any outstanding and new desired technology features and citing technical requirements.
- System and Application architecture and design. Propose a target architecture aligned with the collective needs of the Appellate courts. The high-level design/architecture should focus on the optimal structure of the overall system after it has been modernized so that it can be more flexible and cost-effective to manage.
- Develop solution options and analysis. Analyze and produce the different range of options that allows the courts to incrementally approach the modernization effort. Once completed, put together a detailed report/assessment that identifies the benefits, cost estimates and constraints related to each option.
- Work with users and staff to determine the best technical solutions that meet business requirements.
- Based on the selected solutions, provide the courts and JCIT with a high-level actionable plan that includes detailed estimates of the effort required in each step
- Contribute to the development of a project plan by providing estimates for development and enhancement tasks.
- Analyze business requirements and develop functional specifications for the new system or enhancements.
- Develop and test selected solutions according to the technical design for code modifications, enhancements, and new features.
- Write and deliver code that meets quality, technical, and completeness standards.
- Develop and maintain system maintenance and operations documentation.
- Manage and prioritize the competing requirements of multiple projects.
- Work with external entities to support the daily operation and ensure data quality for the application.
- Work with other IT teams and determine the software and tools to be used to develop systems.
- Develop, test, and support modifications, enhancements, and new features to the existing ACCMS system.
- Ensure system quality by reviewing the optimization of data and system application operations and functions.
- Develop, update, and maintain development standards, templates, and processes.
- Develop new reports and modify existing reports using standard reporting tools such as BiQuery, Crystal Reports, and Power BI.