Software Engineer

At VectorVMS, we’re passionate about people. We bring a human element to our tech, both for our customers and for our team. We work every day to foster inclusion and growth across the organization, and value diverse perspectives. It’s a unique environment that combines a small, start-up feel with the experience and longevity of a well established tech company. As an employee, you will join a team that is supportive and collaborative while advancing technology in a growing industry. You will have the autonomy to try new things with the support to help you achieve your vision.

As part of the Learning Technologies Group, we take learning seriously. With experts on our own team as well as across the group, you have limitless opportunities for continued learning and growth.

Description:

The Software Engineer performs product design, development, including research and analysis with broad application of technology platform principles, software architecture theories, and quality testing concepts in a software as a service engineering environment. This includes understanding and working knowledge of other related software engineering fields including quality assurance, hosted technology operations, documentation and performance/load testing.

Responsibilities:

  • Responsible for delivering software application functionality, influencing portions of the architecture, developing detailed designs and code implementation of features and supporting process improvement initiatives while establishing greater technical proficiency in design, architecture and unit/performance testing.
  • Develops (specify, create, modify, maintain, and test) software component(s) which are part of a larger software project on assigned technology platform.
  • Working under limited direction, responsible for aspects of the design and implementation of one or more subsystems or modules within our portfolio applications.
  • Provides resolutions to a diverse range of complex software engineering and technology problems, using judgement within the defined Agile Scrum development methodology and software design practices.
  • Makes design recommendations for particular component(s) based on technical trade-offs.
  • Estimates tasks, efforts, and resource requirements for assigned components and work with senior software engineering staff in setting appropriate schedule, task, and quality guidelines of the project.
  • Corrects complicated defects and makes major enhancements to resolve customer problems.
  • Effectively document technical issues, changes to code, etc.
  • Contributes to the development of the Company’s core software.
  • Maintain the integrity of assigned components throughout the life cycle within the integrated, technical environment.
  • Assist senior team members with complex duties (Analysis, Design, Test) to gain exposure to more advanced software development and architecture tasks.
  • Regularly contribute to and sometimes conduct technical reviews (Design Reviews, Code Reviews) within the organization.
  • Work with engineers to conduct detailed analysis of the performance attributes of applications using emulation, measurement and analysis techniques. Ensure the quality, accuracy and repeatability of performance findings.
  • Requires frequent inter-organizational contacts and represents the development projects, occasionally performing in project leadership roles and/or may supervise the activities of lower level software engineering staff assigned to the project.

Requirements:

  • Bachelor’s degree in computer science, or a related field.
  • Typically requires a minimum of 2 to 5 years of web development experience.
  • Working knowledge of using .NET Core and the .NET framework.
  • Experience using C# and VB.NET.
  • Experience developing RESTful services.
  • Experience using UI frameworks such as EXT, JQuery, Bootstrap, Angular and ASP.NET Core MVC.
  • Experience with user interface coding skills and knowledge of HTML5, CSS3, and JavaScript.
  • Strong problem solving and analytical skills.
  • Demonstrated experience working in an environment with multiple tasks and deadlines.
  • Strong verbal and written communication skills, time management, and the ability to communicate effectively with all levels of the organization.
  • A strong desire to keep technical skills current.
  • Experience leveraging Docker or another containerized environment a plus.

We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.