This position is posted from an outside job board or employer website for the convenience of Yale students. Please note this position was not posted directly at Yale by the employer, and therefore the employer has not reviewed or agreed to any of Yale’s recruiting policies: https://ocs.yale.edu/ocs-policies/. The University does not endorse or recommend employers, and a posting does not constitute an endorsement or recommendation. The University makes no representations or guarantees about job listings or the accuracy of the information provided by the employer. The University is not responsible for safety, wages, working conditions, or any other aspect of off-campus employment. It is the responsibility of students to perform due diligence in researching employers when applying for or accepting opportunities.
Basic Qualifications Bachelor’s degree in software engineering or a related technical field is required (or equivalent experience), plus a minimum of 2 years of relevant experience; or Master’s degree. Agile experience preferred. CLEARANCE REQUIREMENTS: Department of Defense Top Secret security clearance is preferred at the time of hire or obtainable within a reasonable time period. Applicants selected will be subject to a U.S. Government security investigation and must meet eligibility requirements for access to classified information. Due to the nature of work performed within our facilities, U.S. citizenship is required. Responsibilities for this Position General Dynamics Mission Systems has immediate openings for a Software Engineer with NoSQL / graph database development experience in Bloomington, Minnesota. This position provides an opportunity to further advance the cutting-edge technology that supports some of our nation’s core defense/intelligence services and systems. General Dynamics Mission Systems employees work closely with esteemed customers to develop solutions that allow them to carry out high-stakes national security missions. As a NoSQL / Graph Database Software Engineer, you will: Develop solutions utilizing NoSQL / graph database technologies Install, configure, patch and upgrade NoSQL / graph database software Troubleshoot NoSQL issues and performance bottlenecks Assist in software requirements analysis, design, development and testing for software enhancements and new products. Apply the appropriate standards, processes, procedures, and tools throughout the system development life cycle to support the generation of technical engineering products Research and analyze data, such as customer design proposals, market trends, state of technology and industry, specifications and manuals to determine feasibility of design or application Support and develop our technical culture by being engaged, intellectually curious, friendly, motivated to solve complex problems, and inspired to deliver superior user-centered design Participate in internal reviews of software components and systems Programming Skills: Strong fundamentals in data structures and algorithms Solid object oriented programming and software design skills Proficient in one of the following: Java, C++, C, or JavaScript (using object oriented techniques) Experience developing with NoSQL databases, experience with graph database technologies strongly desired Understanding of NoSQL, graph, and relational database fundamentals, including data storage, data modeling, and data access patterns Understanding of object-relational mapping including experience with Hibernate ORM strongly desired Web Services knowledge such as HTML, CSS, JavaScript, React, and Redux Candidates should have demonstrated strengths and experience in the following areas: User Interface development Computer science theory (e.g., data structures, algorithms, computational complexity) Appreciation for user-centric design Full use and understanding of software engineering concepts, principles, and theories Effective communication and attention to detail Other beneficial common programming patterns/paradigms: Experience with version control systems Strong understanding of Agile methodologies Concurrent programming and building multi-threaded systems Memory and CPU profiling Data modeling and writing efficient data access methods Experience building large-scale mission-critical applications Experience with distributed systems Direct-manipulation user interfaces Information visualization HCI coursework We make software that interactively visualizes data. We make software that enables massive collaboration. We make software that supports our men and women in the military, that smoothes the way of emergency responders here at home, that offers insight to researchers and data analysts.