OpenDaylight Developer Spotlight: Marcus Williams

The OpenDaylight community is comprised of leading technologists from around the globe who are working together to transform networking with open source. This blog series highlights the developers, users and researchers collaborating within OpenDaylight to build an open, common platform for SDN and NFV.

Marcus Williams_Intel_OpenDaylightAbout Marcus Williams

Marcus Williams is a Network Software Engineer working on Intel’s OpenDaylight Team. He began his career at Intel working on open source Fibre Channel over Ethernet solutions supporting Intel 10Gbe Networking Cards. During this time, he managed external relationships with SUSE and Red Hat regarding new feature inclusion and bug fixes for Open FCoE, Open LLDP and Intel Storage Drivers. Marcus dabbles in gardening, loves to cook and is an avid soccer fan supporting the Portland Timbers and Everton.

What projects in OpenDaylight are you working on? Any new developments to share?

I’m currently working in the Integration project, Open Virtual Switch Database (OVSDB) project and on a bug that impacts OpenFlow Plugin project. My work in the Integration project centers on creating tests that measure OpenDaylight performance and scalability. I plan to add these tests to the OpenDaylight continuous integration work to enable automatic testing of nightly and weekly builds. In OVSDB, I’m part of a team of engineers working on migrating OVSDB plugin from the deprecated API-Driven Service Abstraction Layer to the Model-Driven Service Abstraction Layer. My portion revolves around the tunnel overlay functionality of the southbound implementation. In the past I contributed a multitude of unit tests to both Service Function Chaining and the OVSDB project.

OpenDaylight’s third platform release called Lithium is due out this year. Which are the most interesting technologies, apps, or use cases coming out in that release from your perspective?

One of the exciting developments coming out of work on Lithium is the increase in focus on performance and scalability testing and project improvements that focus on performance. Lithium will also feature more tightly integrated support for OpenStack enabling a plethora of cloud based use cases. Also, Lithium will see many more projects take advantage of the Model-Driven Service Abstraction Layer (MD-SAL). MD-SAL enables building layered data models and the separation of implementation code and the data it works on. As OpenDaylight evolves MD-SAL data separation capability will allow it to be adapted to new uses with a minimum of effort.

What advice would you give to an end user who wants to try OpenDaylight for the first time?

First time users should take a look at the OpenDaylight wiki and release documentation. Follow one of the tutorials and get your hands dirty. OpenDaylight is somewhat steep to learn at the outset but the learning curve levels off quickly once you hack some commands into the Karaf shell and interact with OpenDaylight over the RESTCONF interface. While learning, get on the IRC channels and mailing lists and ask questions. People will answer, I assure you.

What is the biggest strength of the OpenDaylight community?

The OpenDaylight community is welcoming to new users and developers. The community is a meritocracy judged by contribution. Specifically, good ideas and working code speaks loudest.

What is the best piece of developer advice you’ve ever received?

Open Source Advice:

1. Push your code early and often.

2. Don’t be offended by minus ones. They allow you to improve.

3. The community is an ideal sounding board. Reviews are meant to be constructive.

What does your workspace look like?

My cube in sometimes sunny Hillsboro, Oregon, contains a sit-stand desk and foam standing mat. On that desk sits a couple of plants, programming books, a small stand with a studio quality microphone (…online meetings of course!), a Das keyboard pro and a 40” 4K monitor. My most prized work possession, my 4K monitor, facilitates an amazing amount of productivity. My workflow includes my Integrated Development Environment, Git command line window, two browser windows and a terminal window manager on one screen.

What part of the world do you live in? Why there?

I live in southeast Portland, Oregon. Portland features great concerts, breweries, bike accessibility, green space and excellent restaurants. It’s also nestled in the Pacific Northwest, between two mountain ranges and straddles the Willamette and Columbia rivers. The air is clean, the water tastes good and world class hiking, camping, rafting, mountain climbing, windsurfing and fishing are within a couple hours’ drive. Portland is one of the great cities!

By 2020 developers will rule the world. True or false?

Yes. Prepare, world. Prepare.