View
224
Download
3
Category
Tags:
Preview:
Citation preview
© 2010 VMware Inc. All rights reserved
One does not simply start a career in IT:Launch yours with an internship @VMware
Alexandar Bonev, Manager QE
2
Career in IT?
3
But…
4
Well.
5
/.
6
So.
7
Start an Internship with us and get…
Computer, chair and a desk
Mentor
Task description of the sort:
“build a cross-platform lightweight wrapper for the vSphere Web Client that allows packaging and distribution in a native desktop application format. Utilize the Chromium Embedded Framework (CEF) or a similar technology”
Unlimited supply of coffee, water, tea and juice
8
“IT will be fun, they said”
9
…then it goes like that for a few months...
Working on real-life project, especially designed for the internship program
Duration is 3 - 6 months. Starts beginning of summer vacation or earlier
10
…during which you have the chance to…
Learn how software development process works in practice
Get acquainted with VMware culture, portfolio, different projects etc.
Gain immense technical growth
Checkout the ‘peer’ professions
Pick up some presentation skills
11
…and before you know it, it’s over!
12
This year’s projects @VMware
We have 14 projects planned for this summer
Programming skills – Java, C/C++, Python, SQL…
Different areas of interest:
- low-level OS stuff- Java, REST, Spring- cross-platform integration and scripting- UI-automation and research- algorithms- …more!
13
Do you know about the VMware academy @FMI?
14
So do not fear, for I am with you
Questions?
15
Thank you!
16
References
dilbert.com quickmeme.com clker.com memegenerator.net
17
Backup slide
Full project descriptions (attached) Chromium Embedded - http
://code.google.com/p/chromiumembedded/ FUSE - http://fuse.sourceforge.net
HP Quality Center
Hypervisor - http://en.wikipedia.org/wiki/Hypervisor
Vmware - http://www.vmware.com/ Interns program - http://intern.vmware-bulgaria.com/
Microsoft Word 97 - 2003 Document
18
Software Engineer for Client Platform Development
Overview:“build a cross-platform lightweight wrapper for the vSphere Web Client that allows packaging and distribution in a native desktop application
format. Utilize the Chromium Embedded Framework (CEF) or a similar technology”
Skillset:Good knowledge of C++ and/or Objective C;
Experience with Visual Studio, XCode and/or GCC;Basic understanding of JavaScript, HTML and Adobe Flash
English
19
Multi-platform crash handling facility for native code
Overview:“vmacore team is owner of the C++ application framework that is used by most of the C++ based VMware products. It provides generic OS abstraction layer,
RPC invocation mechanism, comprehensive logging and crash-handling facility. This project target is to improve the reliability of the above mentioned crash
handling facility. It should be able to generate crash dumps even if the crashing process is in completely unstable state e.g. has hit a stack overflow or an out-of-
memory condition. It should support Windows, Linux, Mac and vSphere platforms.”Skillset:
OS architectures and different process abstraction implementations;C/C++ and OOP for Linux, Windows and Mac;
Data structures and algorithms, design patterns and unit testing;Analytical and problem solving skills
English
20
Third-Party Hypervisor Management Java Library
Overview:“When automation-testing a product that manages different hypervisors,
a standard approach would be to use a form of direct communication with them, to check their state or the state of any related entities.
Deliver a prototype of such an independent library that can be consumed by Java application.”
Skillset:Good knowledge of Java;
English
21
Move the offline Virtual Machine management functionality from host to
Virtual CenterOverview:
“This project is driven by the VM-management team, who is the owner of the code both on ESXi and VC side that provides public-facing APIs
for VM configuration and management.The goal of this project is to prove the feasibility of moving management
of the offline VMs from host to VC”
Skillset:C++, Python and OOP in general;
Good knowledge of different DBMS;Data structures and algorithms, design patterns and unit testing
English
22
“HP Quality Center – Eclipse” bridge
Overview:“Develop a tool which can translate test-description information, stored
in HP Quality Center database, into comments or annotations of the automation code, and keep those descriptions in those two places
synchronized. Updating the test-description in automation code should automatically synchronize those to HPQC database”
Skillset:Computer Science student or relevant education;
Excellent knowledge of Java and OOP ;Interest in scripting languages, like PowerShell, Python, Perl;
English
23
Auto-generate a REST API client
Overview:“Some VMware back-end services are exposed as REST endpoints and are implemented on the top of Spring REST support. It would be great if
REST service providers also provided REST API clients for remote access of their services. This Intern project aims to facilitate the service providers and their users by creating a tool that auto-generates REST
API clients in an automated manner. The tool must be built on the top of Spring framework and in consistency with existing Spring projects and
concepts”
Skillset:Good knowledge of Java and OOP;Understanding of design patterns;
Experience with Spring framework, Maven or REST is a plus;English
24
HTML 5 extension library for SUITA test automation framework
Overview:“SUITA test-automation framework is facilitating rapid test development
in heterogeneous UI environments – environments with multiple technologies used to develop the product UI. SUITA is capable of
handling Selenium based UI as well as any other graphical UI via its Sikuli extension. The objective of this project is to evaluate existing HTML 5 functional test libraries, select the best one and implement SUITA extension to enable interaction with HTML 5 user interfaces.”
Skillset:Excellent knowledge of Java and OOP ;
Experience with HTML 5 is a strong plus;English
25
vCenter Orchestrator – Plug-in Development #1
Overview:“The project will test the capability of a workflow engine (vCenter
Orchestrator) to reach its orchestration capabilities into the realm of the real world. It will also test the readiness of the currently available robotic simulators (building and controlling a real robot is not in the scope) to be controlled by a complex enterprise-tested system”. The solution will be
developed as a Java-based plug-in for vCO”
Skillset:Good understanding of OOP and experience with Java / XML,
JavaScript;Knowledge of virtualization would be an advantage;
English;Fast-learning abilities
26
vCenter Orchestrator- Plug-in Development #2
Overview:“The goal of the project is to build a plug-in for VMware vCenter
Orchestrator that integrates and provides orchestration capabilities for VMware View”
Skillset:Good understanding of OOP and experience with Java;
Knowledge of any of the modern communication / remote technologies (TCP/IP, SOAP, REST);
Knowledge of virtualization would be an advantage;JavaScript is an advantage;PowerShell is an advantage;
English;Fast-learning abilities
27
Software Engineer for vCloud NavigatorOverview:
“Build a web-based application that will provide easy navigation through VMware vCloud Director resources and easy execution of HTTP requests (GET, POST, PUT and DELETE).The application should leverage the vCloud API, which enables deploying and managing
virtualized workloads in private, public and hybrid clouds as well as interoperability between clouds. It is an open RESTful, pure virtual, API
that supports multi-tenancy and enables the upload, download, instantiation, deployment and operation of vApps”
Skillset:Good knowledge of the Java programming language;
Very good understanding of HTTP;Good coding skills;
English;Experience with HTML/CSS is considered as advantage;
28
vCloud Virtual File System
Overview:“Build a (sysfs-like) virtual file system that will allow Linux users to
control their VMware vCloud Director environment in an easy file-based manner. The project should expose vCloud Director runtime information, allow interaction with existing objects and allow creation of new objects. The solution will be developed with FUSE (http://fuse.sourceforge.net)
and Python bindings”
Skillset:Good knowledge of the Python (or another dynamic) programming
language;Good knowledge of Linux and good programming skills;
Experience with RESTful web services is considered an advantage;Experience with FUSE is considered an advantage
English
29
Software Engineer for UI Test Automation Research #1
Overview:“Evaluate different approaches to automatically collect images from
successful automated UI test runs and develop a mechanism to share these images (in order to visualize UI test results). The project will focus on Selenium and Sikuli UI frameworks. Must develop images-repository
server, which will be used to store and share the acquired images. Additionally, java libraries must be developed in order to enable easy
integration between that server and existing automated tests”
Skillset:Good knowledge of Java and OOP;
Good knowledge of data structures and algorithms;Experience with scripting languages is a plus;
English
30
Software Engineer for UI Test Automation Research #2
Overview:“Automate the process of verification and validation of data that is
shown in charts and graphs. Across the UI of VMware products we visualize performance data of virtual-machines and hosts in one way or
another. This data is usually coming from the same source, but is processed by different engines and presented to the user in a graphical format –2D_charts, stacked charts, etc. Testing whether data shown on
such a chart is correct, is a purely manual process. This project will explore approaches to analyze the charts in order to automate this
process and create a working proof of concept for a specific scenario”
Skillset:Good knowledge of Java and OOP;
Good knowledge of data structures and algorithms;Experience with scripting languages is a plus;
English
31
Software Engineer for UI Test Automation Research #3
Overview:“Evaluate methods of DOM tree analysis and comparison in order to test web-UI. During development of software with large WEB based HTML
user interface, lots of changes are happening on daily basis. Sometimes it is difficult to find what was changed and how – was there something
added, or deleted. We are exploring ways of automating that process by means of DOM tree analysis and comparison. A proof-of-concept tool should be able to run across WEB pages, analyze and save parts of
DOM tree, and then be able to tell in a smart way what got changed on each page”
Skillset:Good knowledge of Java and OOP;
Good knowledge of data structures and algorithms;Experience with scripting languages is a plus;
English
Recommended