Massachusetts Information Technology Jobs

Search for Jobs in Information Technology
MassHire JobQuest Logo

Job Information

Basis Technology Performance Software Architect in Somerville, Massachusetts

Basis Technology is dedicated to engineering a safer and more productive world by building proven AI solutions for analyzing text, connecting data silos, and uncovering digital evidence. From making governments smarter to national security to fighting financial fraud, we make sense of messy, voluminous data by applying our AI, machine learning, and cyber forensics to power the most important systems on earth. It?s challenging work, but we love it. Because we?re wholehearted believers in the power of persistence to solve any problem, and we solve problems that matter. Overview: You will analyze existing performance and lead improvement strategy, including architectural product changes, to increase speed and reduce memory usage of components of Basis? Rosette platform. This role will require a strong theoretical background in computer science fundamentals, including data structures and algorithmic complexity (Big-O analysis). Equally, the candidate must be able to apply these theoretical principles for intensely practical tasks, where a few-percentage-point improvement in performance may translate to a big impact in a product?s reception in the market. The range of performance-critical factors is large so candidates should have the ability to research the performance literature to understand and analyze new domains. Responsibilities: Analyze performance of software with profiling and data-flow tracing tools, through all stages of disk, memory, CPU caches, FPU, and GPU or TPU operations Identify bottlenecks at each of these stages and propose improvements Understand key performance structures and algorithms, such as hash and B-tree data structures, Bloom filters, and linear algebraic processing Investigate high-dimensional indexing approaches such as Locality Sensitive Hashing for Approximate Nearest Neighbor queries Investigate and apply object-size optimization to fit caches Analyze output from hardware-level analytic tools such as NVIDIA Nsight, determining optimizations to fully load FPU and GPU Analyze runtime data structures, thread dumps, flame graphs, and garbage creation/collection histories, to quantify and improve drivers of both initial and sustained throughput Create test harnesses for code performance analysis and automated regression testing Be responsible for performance specification and optimization across the software lifecycle, from R&D and initial design, through maintenance Requirements: 5+ years experience in modern programming languages Broad familiarity with computer language theory as applied across Java, C++, Python, deep learning frameworks such as TensorFlow, PyTorch, and Deeplearning4j, and data/retrieval systems such as Lucene and MongoDB Be able to apply linear algebra, probability and statistics, and calculus to machine learning techniques as diverse as Hidden Markov Models and Convolutional Neural Networks Familiarity with deep learning frameworks such as TensorFlow, PyTorch, and Deeplearning4j is a plus Able to quickly adopt new languages, tools, and techniques by reading manuals and searching and reading scholarly literature Experience using profiling and other performance tools Master?s degree in CS or equivalent self study and experience We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. We are also committed to the full inclusion of all qualified individuals. As part of this commitment, we will ensure that persons with disabilities are provided with reasonable accommodations. If reasonable accommodation is needed to participate in the job application or interview process, to perform essential job functions, and/or to receive other benefits and privileges of employment, please contact