|30% Responsible for designing system components and implementing results of research. Develops designs for critical system components that can be passed on to other developers or other vendors for implementation. Implements and performs complex application development programming functions at a professional level. Develops real time distributed systems handling high volume data processing and complex data models. May serve on professional committees in field of specialization. |
10% Provides architectural, design, and development guidance, providing critical decision making for key systems development efforts.
10% Initiates, designs and uses complex SQL and NoSQL databases. Assists in the database design and implementation, and designs and implements complex data access layers for functional, high performance, and flexible system development and operation.
5% Functions as project manager for complex engineering assignments. Represents the unit and/or Principal Investigator to whom they are responsible at meetings and conferences in matters related to engineering design considerations and financial requirements.
5% Provides cost analysis using time schedules and budgetary considerations.
5% May serve on professional committees in field of specialization.
5% Initiates and recommends changes in development, maintenance and system standards. Is a key member team in defining development, design, and system standards, as well as effective implementation of those standards. Understands and implements as part of the larger team integration and build processes and release management.
5% May supervise in-house development of system or component prototypes.
5% Participates in team quality assurance and testing efforts. Develops and executes moderately complex test plans. Ensures the team applies industry standard testing methods, including unit, functional, performance, and integration testing.
5% Participates in team Agile development efforts and is a key member of developing schedules and project assignments.
5% Ensures work is completed in a timely and efficient manner.
5% Provides direction and guidance to other Development Engineers and Applications programmers.
5% Plans, organizes, and performs the work of a professional engineering team engaged in a specialized engineering phase of a training and/or research program.? Advanced knowledge associated with the planning, development, and construction of engineering systems involving both hardware and software. Some knowledge of industrial controls (specifically in the area of traffic management) or traffic science is extremely beneficial. ? Advanced knowledge of specialized design work as well as the overall field. ? Strong creativity and problem solving abilities to apply principles, practices and procedures within discipline to complete difficult assignments. ? Requires advanced knowledge of applications architecture and programming. In particular, must have experience with large, distributed, enterprise level system development. ? Must understand all levels of system design including design patterns and their implementation at the software component, subsystem, and enterprise system level. ? Requires knowledge of advanced system design concepts including controls, networking, security, operating systems (particularly Linux OS?s), cloud computing, data management, and application servers. ? Requires advanced skills associated with programming design, modification and implementation. Must be proficient with refactoring. ? Has skills needed to develop and implement system implementation plans. ? Must be able to communicate technical information in a clear and concise manner. ? Must be self motivated, work independently or as part of a team, able to learn quickly, meet deadlines and demonstrate problem solving skills. ? Must have senior level skill and experience with Java programming, support of user interfaces through REST APIs, and Java data interfaces for relational (Postgres) and NoSQL (Cassandra and MongoDB) databases. Must have skill and experience with Java frameworks and tools such as JUnit and Spring or equivalent. ? Must have experience working in distributed cloud environments, preferably AWS. Understanding of the AWS EC2 management APIs is a significant plus. ? Must have technical team leadership skill and experience as a senior developer with small development teams of 5-15 members. ? Strong project management skills needed to assume responsibility for accomplishment of research objectives. ? Advanced communication skills, both written and verbal, to convey complex information in a clear and concise manner. ? Advanced interpersonal and presentation skills. ? Ability to work in a highly collaborative manner; readily assess complex challenges and barriers and recommend effective resolutions. ? Demonstrated ability to lead, motivate and influence others.