The Programmer will be part of a small, distributed team to modify and enhance a working web-based client-server application written in PHP, JavaScript and Perl using a MySQL database and Apache server. The application processes continuous state data collected from ground vehicles (position, speed, direction, etc) that has been uploaded to a remote Server for analysis and provides graphical presentation of processed data to a User’s web browser (image available). Some configurations also include video/audio panes as part of multiple, interactive and fully synchronized graphical displays.
Requirements:
· 5 years of experience using PHP, JavaScript, Perl and HTML.
· 5 years experience developing browser-based applications. Experience manipulating and displaying large amounts of data in multiple time-synchronized browser panes (text, video/audio, graphics).
· 3 years of AJAX experience required.
· Experience with Google Maps API required.
· Experience developing code to display synchronized continuous and discrete state data in interactive (zoom, pan, drag time cursor) graphical browser panes (line graphs) with event overlays.
· Strong skills and experience in writing SQL queries, designing databases, developing database applications, and Object-Relational mapping required.
· Experience profiling code with Xdebug/WebGrind and Firebug/YSlow or equivalent.
· Experience with MySQL and Apache Server.
· Knowledge of Cloud computing and service providers (Google, Amazon, etc.)
· Excellent analysis and problem solving skills required.
· Good verbal and written communication skills.
· Experience in utilizing Subversion or equivalent for source code control.
· Experience writing code for optimal performance and scalability.
Specific Tasks for Firm, Fixed Price Bid:
Develop interactive graph that displays selected variables (speed, height, accelerations and discrete variables such as doors, lights, turn signals, etc.) and "event" markers. All displays are time-synchronized. Graph includes vertical "current time" cursor that can be dragged interactively. Graph displays up to 4 variables, selectable from a list of as many as 50 variables. Graph can be zoomed and panned.
A full specification is available to qualified candidates to provide a firm, fixed-price bid.