Virtual Upgrade

Job Listings:

Welcome to Virtual UpGrade!

Though this site is under renovation and construction, the positions listed below are current. If you have interest in any of these positions please send your resume or drop me a line at the contact info below.

 

As this is a work in progress, we have open positions in client companies that are not listed below. Most of our openings are in the San Francisco Bay Area, unless stated otherwise in the job description. Please check back often for additional openings.

 

By now you've guessed we are a small, but nimble, boutique recruiting agency and we've been successfully placing Engineers since 1996. We look forward to focusing on a proprietary search for you based on your personal and professional goals, motivation, direction, and aspirations, in addition to past skills and current talents, and using these variables to explore, locate, and present to you, the best possible options for career advancement.

 

Please forward your resume in confidence to:

 

Shaun Stevens

shaun@virtualupgrade.com

http://www.linkedin.com/in/shaunstevens

Senior Technical Recruiter

Cell 408-728-2330

SR Software Engineer - Multi-Core

Mountain View CA - Publicly Traded Company

This company is a leading provider of semiconductor products that enable intelligent processing for networking, communications, and the digital home.  Salary and Resticted Stock Units offered.

As part of the Networking & Communications Division, the candidate will be responsible for:

- Software development and optimization for multi-core processors

- Adding new features to the existing software solutions

- Involved in troubleshooting, diagnosing, and resolving complex software issues

- Analyzing complex customer requirements

- Formulating, designing and implementing software systems which fits customer requirements

- Responsible for comprehensive analysis of technical issues such as system performance analysis

Must have skills:

- Minimum: Bachelors Degree in Computer Science, Electrical Engineering or equivalent, M.S. preferred

- 10+ years experience in embedded system programming

- Working experience with multi-core/multi-CPU environments

- Very Good understanding of low level CPU architecture

- Strong embedded SW debugging skills

- Excellent programming skills - C and assembly (preferably MIPS) 

- Experience in troubleshooting, performance analysis and performance optimization for embedded systems

- Excellent teamwork skills, flexibility, and ability to handle multiple tasks concurrently

- Proven experience with solving real-time embedded issues including threading, optimization, memory management, interrupt handling etc

- Excellent communication skills

Good to have skills:

- Knowledge of network protocol stacks

- Octeon/MIPS CPU architecture knowledge

- Linux kernel device drivers (networking, PCI etc)

- Knowledge of various debugging tools (EJTAG, probes, logic analyzers etc)

Job 220

Senior Linux Kernel Engineer

Mountain View, CA - Publicly Traded Company


Be part of the Company platform software team and implement low level software for 32 CPU Multi-Core SoCs.

Must Have Skills

1)      The position requires solid low level OS kernel and chip programming experience.
2)      Experience with writing device drivers (PCI, USB, Ethernet etc).
3)      Experienced with programming software workarounds for chip errata in a timely fashion.
4)      Co-ordinate with h/w team to isolate issues and suggest best possible solutions from software point of view.
5)      Knowledge of low level debug tools (EJTAG, Protocol analyzers etc).
6)      Excellent programmer in C and assembly

Good to have skills

1)      Knowledge of hardware packet IO engines (network processors etc) a huge plus.
2)      Low level PCIe experience a huge plus.
3)      Knowledge of networking protocol stacks and their requirements for h/w packet IO engines.
4)      Experience with working on SMP systems with high CPU count.

Sr. Software Engineer - Security/Networking

Mt. View CA - Publicly traded

 This publicly traded company is a leading provider of semiconductor products that enable intelligent processing for networking, communications, and the digital home. As part of the Networking & Communications Division, the candidate will be responsible for:

 

.      Software development and optimization for company's multi-core processors

.      Adding new features to the existing software solutions

.      Involved in troubleshooting, diagnosing, and resolving complex software issues

.      Analyzing complex customer requirements

.      Formulating, designing and implementing software systems which fits customer requirements

.      Responsible for comprehensive analysis of technical issues such as system performance analysis

 

Must have skills:

.      Minimum: Bachelors Degree in Computer Science, Electrical Engineering or equivalent, M.S. preferred

.      8+ years experience in embedded system programming

.      Working experience with multi-core/multi-CPU environments

.      Strong embedded SW debugging skills

.      Excellent programming skills - C and assembly (preferably MIPS) 

.      Strong background in IPSec and SSL security protocols

.      Knowledge of various networking protocol stacks

.      Linux kernel device drivers (networking, PCI etc)

.      Excellent teamwork skills, flexibility, and ability to handle multiple tasks concurrently

.      Proven experience with solving real-time embedded issues including threading, optimization, memory management, interrupt handling etc

.      Excellent communication skills

 

Good to have skills:

.      Deep packet inspection/Snort knowledge

.      Understanding of low level CPU architecture

.      Octeon/MIPS CPU architecture knowledge

.      Knowledge of various debugging tools (EJTAG, probes, logic analyzers etc)

.      Experience in troubleshooting, performance analysis and performance optimization for embedded systems

Job 223

Toolchain Engineer - SoC Company

Mountain View, CA

Toolchain Engineer (gcc and gdb)
 
Be part of the Company toolchain development team. Must be an expert in any one or more of the following:
•         GCC development and support on MIPS or other CPU architectures
•         GDB internals and  development
•         Binutils, glibc etc.  
•         Industry standard development tools like Valgrind, oprofile etc.

Toolchain team responsibilities:

1.       Add support for our multi-core processors to GNU GCC compiler and Binutils. This includes new instructions, pipelines etc. Our Processor is a fast evolving processor and there is a lot of work to be done here. 
2.       Implement and maintain innovative development tools e.g. Valgrind, profile feedback optimizations, oprofile, error detection etc.  
3.       Upgrade the GCC and Binutils versions in the Proprietary SDK periodically i.e. add support and optimizations to newer open source releases.
4.       Contribute support for Company chips to the open source community and try to keep support as current as possible.
5.       Implement and maintain multi-core debugging support. Enhance GDB to use Proprietary specific multi-core debugging features.
6.       Implement and support profiling tools and methods and other Proprietary specific profiling tools.
7.       Assist customers and other members of the Company team in profiling and optimizing their code.

Job P222K

Sr. Software Engineer (Windows USB device drivers)

Mountain View, CA - Public Company

 

Description:

Lead position to develop, test, and integrate Windows USB and PCIe drivers for a H.264-based SoC and reference designs.  Ideally candidate must have strong technical background in Windows 7 driver programming and must be able to complete tasks independently, as well as direct other engineers.

 

Responsibilities:

-Develop optimized drivers to run under Windows OS's running x86 CPUs.

-Develop application specific components: i.e. traffic shaping, QoS, and packet forwarding.

-Provide second-line-of-defense (after Application Engineering) engineering support for SW problems encountered by customers.

 

Requirements:

-BS or MS in computer science or electrical engineering

-10+ years of experience in software development, testing and integration

-Expert in C

-Expert in USB

-Expert in developing Windows drivers

-In depth knowledge of networking protocols: RTP, TCP/UDP, IP, HTTPS

-Experience with wired and/or wireless networking *Good understanding of PCI/PCIe

-Familiarity with audio and video codecs, especially H.264 is a plus

-Familiarity HDMI/DP and HDCP is a plus

-Familiarity board bringup and is a plus

-The candidate must be a self-starter with good communication skills and ability to direct other engineers (remote and local)

Sr. Software Engineer - FreeBSD Kernel - preIPO

San Jose, CA

 

Job description:

The kernel team at this Leading Company in Layer 7 routing technology products is responsible for developing and maintaining

a FreeBSD derived Operating system. Tasks include but not limited to design, develop,

and troubleshoot proprietary code in the IP stack, virtual file system, memory management subsystem and other areas as deemed necessary. Ensure high availability systems.

 

Job requirements:

- Hands on FreeBSD kernel development experience with 5.x and later PREFERRED.

- Experience with Other BSD internals or Linux kernel will be considered.

- Strong understanding of TCP/IP protocols suite.

- Proficient in C.

- Good oral and written communication skills.

- 5 years industry experience.

 

Experience with any or all of the following is a STRONG PLUS:

- Virtual memory

- Device driver development

- Embedded FreeBSD

- SMP/scheduler work

- IPv6

- OS porting

- FreeBSD kernel development.

 

Education:

BS/MS in CS, EE, or related area required.

General Requirements:

- Ability to be creative, efficient, and productive with minimal supervision or guidance.

- Must be able to work both alone and as an efficient, cooperative member of a team.

- Must be able to give and receive constructive criticism.

 

We offer comprehensive and competitive employee benefit packages such as:

Employee Stock Options

401K, Health Plans (Medical, Dental, Vision)

Flexible Spending Accounts

Employee Assistance Programs and more.

Linux Kernel Developer - Public Company

Santa Clara, CA -

 

 

This Publicly traded company is a leading provider of Linux Tools and Services.

 

Job Description & Responsibilities:

Enhance and maintain the Linux kernel for the Company Linux distributions. Work

with our architects to define new product features. Synchronize efforts with

open source Linux kernel technology and GNU commands, utilities and libraries. Must

have the ability to collaborate with third-party partners to leverage ecosystem and

enhance architecture - define application interfaces and integration points. Work on

Professional Services development projects as needed.

 

Ideal Skills:

4+ years experience in:

- Developing Linux device drivers.

- Linux Kernel programming.

- Familiar with the Linux kernel community.

- Familiar with one or more of the architecture communities a plus.

- Programming proficiency in the "C" language is required.

- Developing device drivers and/or system software.

- Trouble-shooting HW device level problems is a plus.

- Proficiency in assembly (x86, ARM, MIPS, or PPC), is strongly desired.

- Excellent communication skills and good teamwork are needed.

- Must be highly motivated.

- Willingness to travel and work on site a plus

 

B. S. in Computer Science, Electrical Engineering, or Computer Engineering from

accredited university.

Senior Software Engineer - IP Networking

Santa Clara, CA - Publicly Traded Company

We are seeking a Senior Software Engineer for our IP Networking team. The candidate will be working as part of a small, dynamic team and will be responsible for designing, coding, and testing embedded systems related functionality. The ideal candidate should have good knowledge of Networking software, TCP/IP protocols, and should be proficient in C programming language. The successful candidate must be comfortable working in a fast paced start-up environment.

Responsibilities:

  • Design, code and test various functions in our product line.
  • Develop embedded system software and high performance applications for packet processing.
  • Produce functional specifications and design documents.
  • Support and maintain developed code through system test and customer deployments.
    Contribute to overall product requirements and design.

Requirements:

  • Minimum BSEE/CS with 5 yrs of software development experience preferably in networking.
  • Expert in C coding (candidates may be tested in their C proficiency).
  • Experience in software-based packet handling is desirable.
  • Hands on experience with multi-core, multi-threading systems a big plus.
  • Hands on experience working with networking hardware interfaces.
  • Experience with Linux networking stack a plus.
  • Experience developing system level software in Linux/Unix development environment.
  • Sound knowledge of networking protocols including TCP/IP and Ethernet protocols.
    Proactive problem solver with great attention to detail.
  • Excellent written/oral communication skills and strong analytical and problem solving skills.

Job 219

System Software Engineer - Multi-media Convergence

Cupertino, CA - Well funded startup

 

Responsibilities:

 

- Design, create, document, and maintain real‐time embedded firmware and software components, drivers, and reference applications

- Debug and resolve customer reported issues

- Help verify hardware implementation of video compression algorithms

- Assist with bring-up and debugging of ASICs and reference boards

- Dedicated, self-motivated, thorough, and tenacious

 

Requirements:

 

- Strong experience with real‐time embedded systems (Linux, VxWorks, etc.)

- In depth understanding of issues inherent in multi‐threaded / multiprocessing environment

- Strong debugging experience

Practical knowledge of video compression standards (MPEG‐2, H.264, MPEG‐4, and VC-1), digital broadcast standards, MPEG2 transport, IPTV, video processing, 2D/3D graphics, USB, PCI/PCI-e is a big plus

- 5+ years of relevant industry experience

- BS/MS EE/CS or equivalent

 

shaun@virtualupgrade.com

 

Shaun Stevens

http://www.linkedin.com/in/shaunstevens

 

Senior Technical Recruiter

Office 408-229-9100

Cell 408-728-2330

 

Virtual UpGrade Inc.

www.virtualupgrade.com

5542 Monterey Rd. Suite 360

San Jose, CA 95138

C++ Developer Tools Software Engineer

Redwood City, CA - Privately Held Company
Job Description
You will be responsible for researching, designing, and developing a suite of our software solutions. Work with the latest Windows technologies and software engineering methodologies to create our product line for PC and Xbox-360 game application development.
Research, design, and coding the Windows implementation of record/replay products. This position requires object-oriented design skills as well as low-level systems programming experience. Systems experience should include exposure to threading, synchronization, memory management, I/O systems, interrupts, performance optimization, and micro-architectures.
Code will be written primarily in C++ and possibly some x86 or Power PC assembly language programming. Strong debugging skills are essential! Experience with API wrapping, writing agents, and binary instrumentation.techniques is preferable. Having worked on development tools and in a startup environment is desirable.
 
Qualifications
- C++, C, x86 or Power PC assembly (some preferred)
- Windows APIs, MFC/STL, Windows NT/Vista kernel internals, Graphics and DirectX
- Threading, Synchronization, Memory management, I/O systems, Interrupts, Micro-architectures
- Object-oriented design expertise, Algorithm analysis/implementation, Excellent debugging skills
- Bachelor of Science in Computer Engineering (Master's degree preferred)
 
Nice to Have
- Software engineering tools development experience
- Windows or Xbox-360 game development familiarity
- Performance optimization expertise with Windows or Unix operating systems or virtual machines
- Thrives working in a startup environment (diverse skill set, willingness to contribute where needed)

Job 221

QA Manager - Enterprise

Redwood City, CA - Privately Held Company

Job Description
As Quality Assurance Manager you will be responsible for leading and managing the team of quality engineers and testers that are responsible for the quality of the Company suite of software solutions. Work with the latest Java technologies and software methodologies to build our product line for enterprise application development. Key duties include project management, personnel management, testing automation and oversight of the product releases and technology decisions. Because our product is used heavily by QA teams, as it replicates Software crashes, you will have an opportunity to influence key product decisions for our product line.

The manager will have day-to-day responsibility for steering project completion, quality of the releases, and personnel assignments. Hiring top staff is a critical to our success, and this person will be responsible for performance reviews and other personnel management tasks. Quality engineering breadth and depth is critical to guiding the team's decisions about current and future technology direction as it relates to quality testing, automation and continuous integration.

Qualifications
- Extensive knowledge and experience with enterprise software and Java technologies.
- Experience with Tomcat, JBoss, WebLogic, WebSphere
- Automated testing experience with Selenium, JMeter, QTP
- Working knowledge of Atlassian JIRA, HP Quality Center
- Whitebox testing experience
- Database SQL setup and administration experience
- Continuous integration (Hudson)
- Strong Windows and Linux (RHEL, CentOS, SUSE, Ubuntu)
- Familiar with the Eclipse IDE

Nice to Have Skills
- Java programming skills
- HTML programming experience
- Source code debugging experience for purposes of testing
- Batch / Shell Scripting experience
- Thrives working in a startup environment (diverse skill set, willingness to contribute where needed
Job J223D

Java Core Technologies Software Engineer

Redwood City, CA - Privately Held Company

 Job Description

You will be responsible for researching, designing, and developing a suite

of our software solutions. Work with the latest Java technologies and

software engineering methodologies to create our Software product line for

Java enterprise application development.

 

Research, design, and coding the Java implementation of record/replay

products.

Techniques used include API wrapping, agents, and binary instrumentation.

This position requires object-oriented design skills as well as low-level

systems programming experience. Systems experience should include exposure

to threading, synchronization, memory management, I/O systems, interrupts,

performance optimization, and micro-architectures.

 

Code will be written primarily in Java with some C++, and requires strong

debugging skills. Some experience with Java byte code and the JVM is

required, and preferably some assembly language programming. Working

knowledge of servlets, containers, application servers, and other Java

enterprise technologies is expected. Having worked on development tools and

in a startup environment is preferable.

 

Qualifications

Java, C++, C, Assembly (some preferred)

JVM, Byte code instrumentation

Servlets, Containers, Application server expertise, Java EE technologies and

application development Threading, Synchronization, Memory management, I/O

systems, Interrupts, Micro-architectures Object-oriented design expertise,

Algorithm analysis/implementation, Excellent debugging skills Bachelor of

Science in Computer Engineering (Master's degree preferred)

 

Nice to Have

Software engineering tools development experience Java open source project

experience (Apache.org, Java-Source.net, SourceForge.net, Eclipse, GNU)

Performance optimization experience with Windows and Unix operating systems

and Java VMs Thrives working in a startup environment (diverse skill set,

willingness to contribute where needed)

Job 222

Software Engineering Lead - Embedded Systems

Milpitas, CA - Healthy Start-Up

 

We are seeking a detail oriented Software Engineer Lead with solid system-wide understanding of networking devices and proven troubleshooting skills. The candidate will be working closely with the system architects and lead a small team of young engineers through the development lifecycle.

Responsibilities:

- Design, code and test various functions in our Data Monitoring Device product line.
- Enhance troubleshooting infrastructure by expanding our core dump facility.
- Bring-up various new systems and IO cards.
- Extend various L2 switching, and L3 routing functions.
- Investigate and troubleshoot performance bottlenecks.
- Lead and mentor other junior engineers.
- Work closely with customer support team to identify and fix product issues in customer environments.
- Produce design documents and functional specifications.
- Contribute to the overall product requirements and design.

Requirements:

- Minimum BSEE/CS with 10 yrs of software development experience preferably in embedded systems/networking.
- Expert in C coding (candidates may be tested in their C proficiency).
- Experience in software-based packet handling is required.
- Hands on experience working with networking hardware interfaces a must.
- Strong understanding of PPC processors required.
- Hands on experience with multi-core, multi-threading systems a big plus.
- Experience with Linux networking stack a plus.
- Understanding of Highly Available and Stacked systems a plus.
- Experience developing system level software in Linux/Unix development environment.
- Sound knowledge of networking protocols including TCP/IP and Ethernet protocols.
- Proactive problem solver with great attention to detail.
- Excellent written/oral communication skills and strong analytical and problem solving skills.

Job t223c

Core Software Development Engineer

San Francisco or Seattle - Recently Funded

We are looking for Software Engineers who enjoy design as well as development. We have a focused engineering team with little management overhead.

 

We are looking for Software Developers with expertise in the following areas:

 

Systems Design and Implementation:

Distributed Group Membership and Reliable Communication

Distributed Concurrency Control and Transaction Management (2PL, MVCC, 2PC)

Distributed Lock Management and Distributed Deadlock Detection

Fault Tolerance in Distributed Systems

High Concurrency B-Tree Implementation

 

 

Database Query Processing/Optimization and Language Design:

Distributed Query Planning and Optimization

Design and Implementation of Rule Based Languages (Prolog/Datalog)

Compiler Design, Implementation, and Optimization

SQL Parser Implementation

 

 

Network Protocol Design and Implementation:

Design and Development of High-Performance Protocol Stacks

Experience with Asynchronous Programming models

Experience with High-Speed Interconnects (e.g. Infiniband)

 

 

Additionally, any experience in the following areas is highly desirable:

File System Development

Unix/Linux/BSD Kernel and Systems Development

Large Scale Systems Architecture and Implementation

 

 

We are looking for the following types of people:

As a Senior member of the Development team, you will be responsible for subsystem design, design reviews, and of course portions of the implementation. You should be an experienced C developer and be comfortable with development of concurrent systems in an asynchronous programming model. We are looking for at least 5 years of experience from the above areas.

As a contributing member of the Development team, you will be responsible for implementation of various components and subsystems, learning about architecture and design, and building your knowledge in the above areas. We are looking for folks with basic C skills and a strong desire for learning Systems Development.

Other Positions

San Francisco Bay Area

Virtual UpGrade currently has client companies throughout the Bay Area looking to hire talent for many other positions ranging from Systems Software Developers down near the metal, up through the Application Layers to the User Interface and Front End Web Developers. Check back here often to see updated openings.

Please send me a resume or call for a discussion on how we might be able to assist you in your career move.

Shaun Stevens

take a peek at me :-)
http://www.linkedin.com/in/shaunstevens
 
Senior Technical Recruiter
Cell    408-728-2330
        
shaun@virtualupgrade.com
 

Virtual UpGrade Inc.
www.virtualupgrade.com
5542 Monterey Rd. Suite 360
San Jose, CA 95138