General Information


Job Description APPLICATIONS PROGR 3 Working Title Senior Applications Programmer
Job Code 007300 Grade 22
Department Name Computer Science & Engineering Dept - D01003 Department Head Christian Shelton
Supervisor Vassilis Tsotras Effective Date
Position(s) Directly Supervised
Job Code Title FTE

Generic Scope
Experienced professional who knows how to apply theory and put it into practice with in-depth understanding of the professional field; independently performs the full range of responsibilities within the function; possesses broad job knowledge; analyzes problems/issues of diverse scope and determines solutions.

Custom Scope
Applies skills as a seasoned, experienced software professional with a full understanding of industry practices, community standards and relevant policies and procedures to medium-sized projects or portions of large projects with moderate scope and complexity. Resolves a wide range of issues. Demonstrates competency in selecting tools, methods and techniques to obtain results.

Department Custom Scope
The efforts of the Senior Applications Programmer will be divided equally (50%) among two NSF-funded projects: RIDIR and AsterixDB. RIDIR Project duties: The RIDIR project aims to develop a new body of spatial analytic methods for data intensive research in the social and behavioral sciences and enhance with them the open source spatial analysis library PySAL. The Senior Applications Programmer will serve as a non-research staff member for UCR's RIDIR project. He or she will report to the project's lead PI and will work closely with other faculty and research staff members associated with the RIDIR project at UCR. AsterixDB Project duties: ASTERIX is a collaborative project at UC Riverside and UC Irvine that has led to the development of AsterixDB, an open source highly scalable big data Management System. AsterixDB stores, indexes, and manages semi-structured data, e.g., much like MongoDB, but it supports a full query language with the expressiveness of SQL and more. Unlike analytics engines such as Apache Hive or Spark, it stores and manages data, so it can use knowledge of data partitioning and index availability to avoid scanning data sets to process queries. Core features of the system include: a NoSQL-style data model based on extending JavaScript Object Notation (JSON); a declarative query language (SQL++) for semi-structured data; a query execution engine, Apache Hyracks, for partitioned-parallel query execution; partitioned data storage and indexing for efficient ingestion of new data; support for querying external data as well as data stored in AsterixDB; a rich set of data types, including spatial, temporal, and textual data; indexing via B+trees, R-trees, and inverted keyword indexes; and, transactional support akin to that of other NoSQL stores. The Senior Applications Programmer will serve as a non-research staff member for UCR/UCI's AsterixDB project. He or she will report to the project's lead PI and will work closely with other faculty and research staff members associated with the project at UCR, UCI, and elsewhere. The holder of this role will also interact with external users of AsterixDB in order to provide them with appropriate technical support. The holder of this particular role will also be a key liaison between the AsterixDB and related projects and companies in industry. The expected duration of this position is for One year with the possibility of being extended to two years contingent upon grant funding. Budgeted salary is no higher than $122k/year. ***As a University employee, you will be required to comply with all applicable University policies and/or collective bargaining agreements, as may be amended from time to time.? Federal, state, or local government directives may impose additional requirements. ***

Education & Experience Requirements

Education Requirements
Degree Requirement
Bachelor's degree in related area and/or equivalent experience/training. Required

Experience Requirements
Experience Requirement
4 - 7 years of related experience. Required

License Requirements

Certification Requirements
Certification Requirement

Educational Condition Requirements
Condition Requirement

Key Responsibilities

Description % Time
Plans, designs, develop, modify, debugs, deploys and evaluates complex software for functional areas. Analyzes existing software or works to formulate logic for new complex systems and devises complex algorithms. Performs complex data analysis and tests/debugs complex software. Analyzes the design and use of complex data sources. Applies moderately complex programming security practices.
  • Works with AsterixDB project PIs and leads to identify missing functions, libraries, utilities, scripts, and other tools needed to make AsterixDB suitable for production use by the external research user community. Develops and maintains additional system features (primarily ?non-research? features identified via feedback from the user community) that are needed for the ongoing success of the project.
30
Negotiates, develops and executes moderately complex test plans. Develops conversion and system implementation plans. Trains users in conversion and implementation of system. Performs complex data modeling, performance and integration testing and builds interfaces for a variety of internal and external constituents. Monitors and employs source code control techniques and configuration management.
  • Follows and improves the current continuous build-and-test automation for the AsterixDB code base. This includes but is not limited to code reviews, test-driven-development, consistent naming convention, appropriate documentation, integration testing and source code comments.
20
Gathers, analyzes, prepares and summarizes recommendations for approval of system and programming documentation. Recommends and implements changes in development, maintenance and system standards. Negotiates with stakeholders on the creation of software specifications. Ensures project reports are made.
  • Develops and enforces release criteria for minor and major AsterixDB software releases. Builds containers for AsterixDB that allow users to easily deploy AsterixDB on popular systems (e.g., Kubernetes, AWS, Docker, Singularity, etc.). Develops and maintains end-to-end tutorials and sample projects on AsterixDB that are ready to customize and launch by AsterixDB users (e.g., social media analysis, IoT data application, etc.)
15
Extends the set of input data formats, external file formats, query result file formats, and remote data sources supported at the client/server boundaries of the AsterixDB system. Works with project PIs and leads to identify and execute on opportunities to better interface AsterixDB with other Big Data software platforms in the commercial and non-commercial communities (e.g., Spark 3.x, Couchbase, MongoDB, etc.).
15
Understands and applies industry practices, community standards and department policies and procedures relating to work assignments. Interacts with senior level internal personnel. May serve as technical lead for a software development project of moderate scope. Trains users in conversion and implementation of systems. Negotiates project plans with stakeholders.
  • Monitors weekly activities of AsterixDB committers, including junior staff software developers and part-time programmers, related to new versions of the AsterixDB system, bug fixes for external users, and system documentation.
10
Works on Web Site and User Base Management for AsterixDB: this involves watching over and extending the AsterixDB web presence, including its open source code repository, web site, documentation, FAQs, and mailing lists.
10

Knowledge, Skills & Abilities

Knowledge/Skill/Ability Requirement
Demonstrated ability to contribute technical narrative to grant proposals. Required
Thorough experience with common programming tools. Demonstrated ability to follow software specifications. Required
Demonstrated broad problem solving skills. Required
Advanced skills associated with software design, modification, implementation and deployment, including object-oriented programming concepts. Required
Demonstrated software repository skills. Demonstrated testing and test planning skills. Required
Intermediate knowledge of secure software development. Required
Demonstrated ability to understand functional needs and how systems can support those needs. Demonstrated ability to develop conversion and system implementation plans. Required
Demonstrated effective communication and interpersonal skills. Required
Experience with planning for deployment and creation of feedback mechanisms. Required
Thorough experience with identification and use of code libraries and open-source forums. Required
Demonstrated ability to interface with management on a regular basis. Required
Demonstrated ability to communicate technical information to technical and non-technical personnel at various levels in the organization. Required
Self-motivated and works independently and as part of a team. Able to learn effectively and meet deadlines. Required

Special Requirements & Conditions
Special Condition Requirement
Must pass a background check. Required

Other Special Requirements & Conditions

Level of Supervision Received
General Supervision

Environment

Working Environment
Campus

Other Requirements

Items Used
  • Computer

Physical Requirements
  • Bend : N/A
  • Sit : Constantly
  • Squat : N/A
  • Stand : N/A
  • Crawl : N/A
  • Walk : N/A
  • Climb : N/A

Mental Requirements
  • Read/Comprehend : Frequently
  • Write : Frequently
  • Perform Calculations : Frequently
  • Communicate Orally : Frequently
  • Reason & Analyze : Frequently

Environmental Requirements
  • Is exposed to excessive noise : No
  • Is around moving machinery : No
  • Is exposed to marked changes in temperature and/or humidity : No
  • Drives motorized equipment : No
  • Works in confined quarters : No
  • Dust : No
  • Fumes : No

Critical Position

Is Critical Position: Yes

More Information

General Campus Information

University of California, Riverside
900 University Ave.
Riverside, CA 92521
Tel: (951) 827-1012

Career OpportunitiesUCR Libraries
Campus StatusMaps and Directions

Department Information

Human Resources
1160 University Ave.
Riverside, CA 92521

Fax: (951) 827-6493
E-mail: jobshelp@ucr.edu

Footer