Software Engineering Intern
The Software Engineering Intern will provide support for staff engineers in the VMC Technology Department and work on an independent capstone project.
Responsibilities not limited to:
Supports VMC Technology Department Staff Engineers
- Apply algorithms that require optimized data-structures and computational methods.
- Perform calculations involving rigid body physics and linear-elastic mechanics.
- Assist in resolving bugs and minor feature creation for the E-Gen software ecosystem.
- Create technical documentation, readme, and/or bug reports.
- Assist in maintenance of E-Gen technical database (anchor test data, new building codes, new design standards, equipment database creation, new VMC product addition, calculation validations)
Independent Software Engineering Capstone Project
- A major project will be assigned after 2-4 weeks which will take approximately 2 months to complete.
- The exact project topic and requirements will be based on a balance between VMC needs, intern strengths and weaknesses, and intern interests.
- Required presentation and formal handoff VMC code repository.
- Previous capstone projects by interns have included: Technical Data-Entry, Finite-Element Solvers, Map Projection Tools, Custom 3D File Exporters, Beam Stress Analysis Tools, Tech Demos/Evaluations.
Requirements
Knowledge/Skills/Abilities:
- Ability to write in at least one interpreted and one compiled language.
- Familiarity with synchronous and asynchronous code execution.
- Understanding of all 3D affine transformations using matrices or other algebras (i.e. Quaternions)
- Knowledge of basic engineering concepts and general rigid body physics calculations
- Ability to prototype algorithms and computations in MS Excel / Google Sheets (without using macros)
- Understanding of when to use different formality to communicate (Verbal, Email, MS Teams)
- Effective verbal and written communication skills (including technical writing and equations)
- Familiarity with Typescript/C/C# or similar syntax languages, Angular, NodeJS, Puppeteer, Jest, JIRA, Confluence, GitHub, Jenkins is preferred.
- Familiarity with multivariable calculus, differential equations, finite difference methods, implicit and explicit simulation numerical analysis, linear-algebra sparse algorithms, and complex analysis.
Competencies
- Ability to thrive in a fast-paced work environment.
- Ethical approach to work.
- Results oriented with a strong sense of urgency.
- Proven organizational and detail-orientation skills.
- Resourceful and efficient with strong ability to prioritize.
Minimum Qualifications
- 2nd to 4th year Engineering students; OR
- 2nd to 4th year Computer Science, Mathematics, Physics, or related Major and/or Minor