Monthly Archives: May 2011

eBay Open Sourced its JavaScript IDE

If you’re using JavaScript for your web site, you will probably want to do any or all of the following:

  • Release frequently
  • Ensure portability across devices
  • Use server-side JavaScript
  • Use multiple JavaScript libraries
  • … and you will have no tolerance for JavaScript runtime errors.

The VJET JavaScript IDE can help you meet these challenges. It replaces standard text editors or simple JavaScript editors used by many JavaScript developers today, and brings common IDE features to JavaScript. VJET helps you focus on coding by providing assistance and support during the full development lifecycle.

Here are some of the features you will enjoy:

  • Code JavaScript faster and more accurately with code completion, code templates, and wizards
  • Search for JavaScript types and relationships using the call hierarchy, type hierarchy, references, implementers, etc.. Find quality search results faster  than grep.
  • Identify type errors using Java-like semantic validation – are you using the JavaScript APIs or user defined type correctly? Find out before the user does.
  • Execute and debug JavaScript with full run-time and debug support.
  • Take advantage of a professional IDE for Eclipse with Java-like tool features such as syntax highlighting, semantic highlighting, outline view, quick outline view, occurrence markers, and Eclipse editor features.
  • More Features…

 

We’d love for you to try it out, and get involved!

  • Install the VJET JavaScript IDE Beta  and give us your feedback on the VJET forums.
  • Create a type library that other developers can use with confidence. Check out the example type libraries to get started.
  • Build additional tools on top of our current infrastructure using the VJET Typespace.
  • More ways to get involved…

Come visit us at https://www.ebayopensource.org/index.php/VJET/HomePage.

Onboarding

When I joined eBay 12 years ago, the way I learned the ropes was easy: all the engineers sat together in what was basically a very large conference room, and all I had to do was walk up to the guy or girl whose initials were on a piece of code and ask him or her what’s what. And everyone was so nice about it!

Fast forward to today’s eBay, with a code base of 50 million lines of code and an architecture that is the topic of conference keynotes: people are still just as nice as they were back then and will happily answer all your questions, but that model really doesn’t scale so well. We’re hiring the best and the brightest, and when they join us they have a lot of questions. What do we do?

The answer is eBayTech 101, our onboarding program for all new software engineers – and managers – in product development and quality engineering.

  • We provide an overview of key business metrics and goals: eBay users worldwide trade about $2000 in goods every second. How does what we do as engineers influence the company’s success?
  • We explain our product development life cycle: 100,000+ lines of code change on average when we release every week. Agile? You bet!
  • We talk about our platform technologies: our proprietary DAL (data access layer) and how it scales to handle 100 billion database transactions per day; CAL, our Centralized Application Logging infrastructure that makes it very easy for engineers to detect exceptions (and patterns) and follow them all the way to the version of code – and line of code – that caused them, and many other such frameworks.
  • We talk about data: used to be, all we had was one Oracle instance in the 90s. How did we grow? And how did we scale? What other database technologies are we using now?
  • We share some unique challenges an e-commerce marketplace faces: why is it harder for eBay to offer a shopping cart than for other e-commerce sites? How do you design a search engine that is able to handle constant updates to more than 200 million active items for sale? What are the latest improvements in ranking that the Search Science team is working on?
  • We write code and unit tests. We learn about the tools eBay uses to help keep code clean: code coverage tools, static code analysis tools, dependency management tools, all running in continuous integration builds. We profile the code for performance (how do you do 4 billion page views per day?). We do code reviews and learn about best practices.
  • And of course, everyone gets to use our product and interact with our customers. We all list an item for sale on eBay, and when it sells we ship it! We invite buyers and sellers to come and talk to us about their business on eBay, how they use the site, and what we can do better.

The full program takes about three weeks, and we’re constantly improving and changing it to meet the needs of our newest co-workers. The idea of course is still the same as 12 years ago: engineers teach engineers – a great recipe for success.