Intermediate Software Engineer
Company description:
Virgil Systems is a rapidly growing network technology company. At Virgil Systems, you will be part of an experienced global team that is changing how the world communicates. Our team members have developed technology for global technology companies, governments, and open-source communities. We utilize an innovative approach which leverages unique data encoding and distributed routing to create a communication and storage system capable of withstanding and recovering from catastrophic data losses.
We provide industry-leading security, reliability and trust so that our stakeholders and society can prosper from the unprecedented growth of devices, critical services and economic activity dependent on legacy and next generation networks (5G/IoT). Our flagship product is the Virgil Integrity™ Network (VIN™) - a middleware Digital Infrastructure Solution deployable across all network types and workflows. We are currently expanding our technical team for core product development and specialized deployments with existing and new partners.
Join us on our journey.
Position overview:
This position will be remote. Depending on need, this role will be fully dedicated to support a deployment project or core product development. The following are responsibilities associated with this position in both functions:
Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions
Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
Prepare and install solutions by determining and designing system specifications, standards, and programming
Improve operations by conducting systems analysis; recommending changes in policies and procedures
Obtain and license software by obtaining required information from vendors; recommending purchases; testing and approving products
Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations
Protect operations by keeping information confidential
Provide information by collecting, analyzing, and summarizing development and service issues
Accomplish engineering and organization mission by completing related results as needed
Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle
Required skills and experience:
The following are necessary skills and expertise for this role:
Bachelor’s and/or Master’s degree in Computer Science, Computer Engineering or related technical discipline
2+ years of relevant experience
Proficiency in C++ and object-oriented design skills
Application architecture and design patterns
Experience with the full software development lifecycle, from conception, architecture definition, detailed design, scoping, planning, implementation, testing to documentation, delivery and maintenance
Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
Experience in development of distributed/scalable systems and high-volume transaction applications
Ability to perform a variety of standard software engineering tasks including software design, debugging, documentation, and testing
Ability to follow instructions and work in a team environment
Excellent verbal communication skills.
Good problem-solving skills
Attention to detail
Strong understanding of software requirements, development fundamentals, and the development process
Desired skills and experience:
The following are nice-to-have skills and expertise for this role:
Experience with design patterns and UML
Experience building solutions with a microservices architecture
Experience building Web Services and REST APIs
Experience with Infrastructure-as-a-service platforms (Amazon Web Services, Rackspace, Hewlett-Packard Enterprise, Citrix, Eucalyptus, VMware, etc.)
Experience with asynchronous, multithreaded, and distributed systems
Experience deploying, scaling, and building solutions for cloud-based applications Experience developing and testing data structures and algorithms
Why Virgil?
Positive global impact: Virgil Systems is building the future of secure, reliable and trusted communications technology. Our purpose is to make the world a safer and more prosperous place by providing the ability for our customers and society to trust their data and networks without compromising on performance.
Personal impact: As an early team-member, you will have a key role in helping to shape the organization by working on innovative technology, defining our culture, and driving our success.
Diversity, Inclusiveness, and Independence: As a trusted member of our team, you will have the ability to work when and where you want to enable you to flourish personally and professionally.
Company culture, challenging projects and personal growth: At Virgil Systems we value integrity, curiosity, adaptability, and optimism. If you are passionate about technology, self-improvement, and generating value for clients and society, Virgil Systems is the place for you.
We value the wellness of our team members and encourage continuous personal and professional development as an integral part of our company’s growth.
As an equal opportunity employer that benefits from the diversity of our global team, we encourage applicants from all backgrounds and life experiences to apply.
How to apply: send your resume, Github and a cover letter to [email protected]