Software Architect

Software Architect. Design and implement real-time software for existing/new embedded and massively distributed systems for government, institutional and private clients; design and implement asynchronous, real-time, fault tolerant software for private and public clouds; design, build and implement test infrastructure and unit test code to test real-time, fault-tolerant software; apply semantic web technologies to structure data and infer knowledge from data; apply semantic web technologies to provide uniform view of data distributed across data silos; integrate and test large-scale distributed-systems of embedded devices and cloud workstations; design and develop quality of service enabled adaptive applications to operate in a variety of expected and unexpected conditions; and design applications using data flow, control flow and object oriented design patterns.   

Minimum Requirements: Bachelor’s degree (or foreign equivalent) in Computer Engineering or Computer Science,  plus eight (8) years of progressively responsible experience as a software engineer developing research systems that are self-adaptive, fault tolerant, real-time and highly concurrent, and which operate asynchronously and autonomously in cloud systems and/or embedded devices for cyber security; OR Master’s degree (or foreign equivalent) in Computer Engineering or Computer Science,  plus three (3) years of progressively responsible experience as a software engineer developing research systems that are self-adaptive, fault tolerant, real-time and highly concurrent and which operate asynchronously and autonomously in cloud systems and/or embedded devices for cyber security.

The experience must include at least three (3) years of experience with the following:developing, designing and implementing ideas/patterns to build distributed systems comprised of embedded devices and server class workstations that will include several of the following properties: real-time, fault-tolerant, self-adaptive, quality-of-service, and graceful-degradation; building inherently multi-threaded distributed systems using “Actor Models” to provide assurance towards absence of deadlocks and livelocks; collaborating and working with broad range of customers, such as Program Managers and SETA at DARPA, principal investigators, architects, managers, engineers and developers at government contractors and commercial enterprises, professors and students; integrating diverse set of research oriented, cutting edge technologies/implementations developed by researchers at commercial and academic institutions; programming with Java, C++, C, Ruby and Javascript. The experience must also include at least one year of experience with the following: development using Semantic Web technologies such as OWL, RDF, SPARQL and SWRL to integrate isolated data from relational-databases, web-services and SPARQL-endpoints distributed across enterprise-wide systems and internet; programming and design support for high performance graphics, user interface, and vision processing using linear algebra frameworks such PETC, SLEPC, OpenCV; contributing ideas towards scientific papers and DARPA-quality forward thinking research proposals;  and visualization tools such as OpenMap, Cytoscape and Blender for visualizing geo-spatial data; graphs and networks data; and 3 Dimensional image and video data.  The position also requires a demonstrable record of publication in the field of distributed computing. Experience may be gained concurrently. (Employer will accept any suitable combination of education, training and experience.) 

Job site: 114 Waltham Street, Suite #14, Lexington, MA; Interested individuals should send a letter of application and resume to Paul Robertson, President, DOLL, Inc., 2 Parsonage Hill Road, Haverhill, MA 01832.  Please refer to Job Order SA#1.  No calls.