<?xml version="1.0" ?>
<staffmembers version="1.0">

  <staffmember id="mike">
    <name>Mike Milinkovich</name>
    <username>mmilinkovich</username>
    <title>Executive Director</title>
    <twitter>mmilinkov</twitter>
    <image>images_staff/mike.jpg</image>
    <description>
      <![CDATA[<p>Outside of work, Mike's passions are his family, the family cottage and hockey (as a
      coach, player and fan)
      in pretty much that order. When he's not working, or traveling for work, you will probably
      find him involved in one of those three things. </p>
      <p>You can read Mike's blog at
 <a href="http://mmilinkov.wordpress.com/" target="blank">mmilinkov.wordpress.com/</a>.</p>
      ]]>
    </description>
  </staffmember>

  	<staffmember id="mikael">
    <name>Mikaël Barbero</name>
    <username>mbarbero</username>
    <title>Team Lead, Release Engineering</title>
    <twitter>mikbarbero</twitter>
    <image>images_staff/mikael.jpg</image>
    <description><![CDATA[
      <p>Mika&euml;l is developing cool new stuff and fixing annoying old bugs 
      in the Eclipse Platform. He also helps take care of the released bits 
      of the Eclipse Foundation. When he's not at his computer, he enjoys spending 
      quality time with his family and friends and playing good old video games.</p>
      <p>You can read Mikaël's blog at <a target="_blank" 
      href="https://mikael-barbero.tumblr.com">https://mikael-barbero.tumblr.com</a></p>
    ]]></description>
  </staffmember>
  
  <staffmember id="wayne">
    <name>Wayne Beaton</name>
    <username>wbeaton</username>
    <title>Director of Open Source Projects</title>
    <twitter>waynebeaton</twitter>
    <image>images_staff/wayne.jpg</image>
    <description><![CDATA[
      <p>Wayne works for the Eclipse Foundation where he fills the dual roles of 
      Director of Open Source Projects and Evangelist. He spends his days working 
      with the many Eclipse open source project teams, learning about Eclipse technology, 
      and making sure that everybody knows just how cool it all really is. In 1982, 
      he received the prestigious Chief Scouts Award from then-Governor General Edward 
      Schreyer. In 1984 his team was selected to represent beautiful British Columbia 
      in the Kinsmen Voyageur Relay. In his spare time, he writes down meaningless 
      accomplishments from his youth in a lame attempt to impress the reader.</p>
      <p>Wayne authors the
      <a href="http://waynebeaton.wordpress.com/" target="blank">Eclipse Hints, Tips, and Random Musings</a> blog.</p>
    ]]></description>
  </staffmember>
  
  <staffmember id="gael">
    <name>Gaël Blondelle</name>
    <username>gblondelle</username>
    <title>Managing Director, Eclipse Foundation Europe GmbH and VP Ecosystem Development</title>
    <twitter>gblondelle</twitter>
    <image>images_staff/gael.jpg</image>
    <description><![CDATA[
      <p>Gaël has been involved in Open Source for 15 years with the goal to help companies adopt and develop open source projects and collaborate better. He joined the Eclipse Foundation in 2013 to develop the ecosystem in Europe, and to support the development of Eclipse Working Groups.
      Outside of work, Gaël likes spending time with his family and travelling to visit beautiful places in the world.</p>
    ]]></description>
  </staffmember>
  
    <staffmember id="paulb">
    <name>Paul Buck</name>
    <title>Vice President, Community Development</title>
    <twitter>PaulBuck</twitter>
    <image>images_staff/paulb.jpg</image>
    <description><![CDATA[
      <p>Paul's responsible for the growth and well being of the projects, work groups and the diverse community of members, committers and contributors at Eclipse. 
      Once his work day is complete, you can find him outside running, biking and cross-country skiing the vast network of trails in Gatineau Park... and consuming large post work-out snacks.</p>
    ]]></description>
  </staffmember>

  <staffmember id="sharonc">
    <name>Sharon Corbett</name>
    <username>scorbett</username>
    <image>images_staff/sharonc.jpg</image>
    <title><![CDATA[Manager, Intellectual Property]]></title>
    <twitter>mysharona_lc</twitter>
    <description>
    <![CDATA[<p>Hailing from the most easterly province in Canada, Sharon is the resident "Newfie" of the Foundation!  When away from the office, her new passion is her two adopted Chihuahuas!</p>
    ]]>
    </description>
  </staffmember>
  
    <staffmember id="mariad">
    <name>Maria Teresa Delgado</name>
    <image>images_staff/maria.png</image>
    <title><![CDATA[Open Source Community Manager]]></title>
    <twitter>mtdelgado</twitter>
    <description>
    <![CDATA[<p>Maria Teresa joined the Eclipse Foundation in 2018. Her role is to manage the Foundation 
    activities within European Research Projects leveraging her experience in the IoT world with the 
    Eclipse Open Source community. When she is not working, she enjoys spending time with family more 
    than anything in the world!!</p>
    ]]>
    </description>
  </staffmember>

<staffmember id="frederic">
    <name>Fr&#233;d&#233;ric Desbiens</name>
    <username>fdesbiens</username>
    <title>IoT and Edge Computing Program Manager</title>
    <twitter>BlueberryCoder</twitter>
    <image>images_staff/frederic.png </image>
    <description>
      <![CDATA[<p>Frédéric Desbiens joined the Eclipse Foundation in February 2019. 
      As the IoT and Edge Computing Program Manager, his job is to help the community innovate by bringing devices and 
      software together. After hours, Frédéric will typically be found reading a history book, playing video games or 
      watching Anime. He also likes going outdoors and playing sports with his friends and family.</p>
      <p>You can follow his blog at:
      <a href="https://blog.bluberrycoder.com" target="blank">https://blog.bluberrycoder.com/</a>
      </p>
      ]]>
    </description>
  </staffmember>
  
   <staffmember id="zahrafazli">
    <name>Zahra Fazli</name>
    <image>images_staff/zahra.jpg</image>
    <title>Membership Coordinator</title>
    <twitter>zahraeclipse</twitter>
    <description>
      <![CDATA[<p>Zahra is the Membership Coordinator at Eclipse Foundation. Outside of work, Zahra loves to spend time with her friends and family, enjoys writing and traveling. </p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="vgriffiths">
    <name>Vanessa Griffiths</name>
    <username>vgriffiths</username>
    <title>Content &amp; Digital Marketing Specialist</title>
    <image>images_staff/vanessa.png </image>
    <description><![CDATA[
      <p>Vanessa is a career marketer with a passion for all things internet. When she's not in front of the computer, Vanessa loves to spend time getting active outside and visiting her huge extended family.</p>
      ]]>
    </description>
   </staffmember>

   <staffmember id="igrimstad">
    <name>Ivar Grimstad</name>
    <username>igrimstad</username>
    <title>Jakarta EE Developer Advocate</title>
    <image>images_staff/ivarg.png </image>
    <twitter>ivar_grimstad</twitter>
    <description><![CDATA[
      <p>Ivar Grimstad is the Jakarta EE Developer Advocate at Eclipse Foundation. He is a Java Champion, JUG Leader, and a frequent speaker at International developer conferences.</p>
      <p>In his spare time, Ivar is usually busy with all sorts of outdoor sports and activities. As a Norwegian, he is born with skis on his feet and when the water is ice-free, he enjoys swimrunning in the Scandinavian archipelagoes. </p>
      ]]>
    </description>
   </staffmember>

  <staffmember id="chrisguindon">
    <name>Christopher Guindon</name>
    <username>cguindon</username>
    <image>images_staff/chris.jpg</image>
    <title>Manager, Web Development</title>
    <twitter>chrisguindon</twitter>
    <description>
      <![CDATA[<p> When he’s not at a computer, which is rare, Chris spends his time with his dog Winston, playing the drums, watching a Habs game or at the top of a hill snowboarding. </p>
      ]]>
    </description>
  </staffmember>

  <staffmember id="fredgurr">
    <name>Frederic Gurr</name>
    <username>fgurr</username>
    <image>images_staff/fred.jpg</image>
    <title>Release Engineer</title>
    <twitter>fr3dg</twitter>
    <description>
      <![CDATA[<p>Fred is a java developer by trade, based out of Cologne, Germany. Responsible for supporting Eclipse projects, focusing on build and release processes.
      In his spare time, Fred can be found kite surfing off the coast of the Netherlands and Spain, or building quadcopters and testing their flight capabilities.</p>]]>
    </description>
  </staffmember>
  
    <staffmember id="susan">
    <name>Susan Iwai</name>
    <username>siwai</username>
    <image>images_staff/susan.jpg</image>
    <title>European Ecosystem</title>
    <description>
      <![CDATA[<p>Susan contributes to the outreach efforts around the European Research projects, as well as conferences and events. 
      She also manages the back office for the European entity. 
      On the other side of the work/life balance, Susan enjoys being outdoors, spending time with friends and family and a round or two of golf.</p>]]>
    </description>
  </staffmember>

  <staffmember id="anne">
    <name>Anne Jacko</name>
    <username>ajacko</username>
    <image>images_staff/anne.jpg</image>
    <title>Conference Queen</title>
    <twitter>annejacko</twitter>
    <description>
      <![CDATA[<p>When not in front of a monitor, Anne prefers activities
      that involve wearing a helmet--horseback riding, skiing,
      and cycling. One of her favorite books is <i>The Chicago Manual
      of Style</i>, so if you need help with the nitpicking
      details of writing in English, she's happy to help.</p>]]>
    </description>
  </staffmember>
  
  <staffmember id="marco">
    <name>Marco Jahn</name>
    <image>images_staff/marco.png</image>
    <title>Manager, Research Projects</title>
    <description>
      <![CDATA[<p>Marco is part of the Eclipse Foundation research team where he helps to turn innovations into successful open source projects. Outside of work, he enjoys skiing, spending time with family and friends and making pizza in his wood-fired oven</p>]]>
    </description>
  </staffmember>
  
   <staffmember id="shawn">
    <name>Shawn Kilpatrick</name>
    <username>skilpatrick</username>
    <image>images_staff/shawn.jpg</image>
    <title>Intellectual Property Analyst</title>
    <twitter>EclipseFdnShawn</twitter>
    <description>
      <![CDATA[<p>Shawn is a member of the Eclipse IP team. When he's not poring over code, 
      Shawn enjoys spending time with his family, playing guitar and singing, fishing, 
      hiking, and boating at the family cottage, and cheering on his beloved Ottawa Senators.</p>]]>
    </description>
  </staffmember>
    
  <staffmember id="philippe">
    <name>Philippe Krief</name>
    <username>pkriefrvi</username>
    <image>images_staff/philippe.jpeg</image>
    <title>Director, Research Relations</title>
    <twitter>phkrief</twitter>
    <description>
      <![CDATA[<p>Philippe manages the Eclipse Foundation contributions to European-funded research 
      projects. When he is traveling, Philippe enjoys photographing the places he visits, and when 
      he isn't on the road, he is having fun with his family, riding his motorcycle or playing 
      jazz with some good friends.</p>]]>
    </description>
  </staffmember>

  <staffmember id="perri">
    <name>Perri Lavergne</name>
    <username>pmisingnameu8g</username>
    <title>Membership Coordination Team Lead</title>
    <twitter>perrieclipse</twitter>
    <image>images_staff/perri.png</image>
    <description> <![CDATA[
      <p>Perri joined the Eclipse Foundation in May 2010. Her focus is on membership retention, management and sales, including sales of our advertising portfolio and sponsorships for our conferences.
Outside of work Perri enjoys spending time with family and friends, medical research, volunteer work for organizations dealing with children with special needs, running, cooking and baking.
Perri hopes to one day accomplish her long time dream of a unique day program for young adults with special needs.</p>
]]>
    </description>
  </staffmember>
  
  <staffmember id="martin">
    <name>Martin Lowe</name>
    <title>Software Developer</title>
    <image>images_staff/martin.png</image>
    <description> <![CDATA[
      <p> Martin is a developer for the Foundation, working with the Web team and helping develop the 
      Eclipse platform. When not working, Martin enjoys tabletop RPGs, video games, and music (both playing and listening).</p>
]]>
    </description>
  </staffmember>
  
  <staffmember id="sharonm">
    <name>Sharon Macdonald</name>
    <username>shmacdonald</username>
    <title>Trademarks Specialist</title>
    <image>images_staff/sharonm.jpg</image>
    <description>
      <![CDATA[<p>
      Sharon is a member of the Eclipse Projects team. She manages all aspects of the Eclipse Foundation's 
      trademark portfolio; this includes prosecution, defence, and monitoring to ensure the marks are fully 
      protected and up to date at all times. When she is not working, 
      she likes to spend her time enjoying the outdoors with her family.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="jenn">
    <name>Jenn Martel</name>
    <username>jmartelb0n</username>
    <title>Director, Worldwide Operations</title>
     <twitter>jennmartel4</twitter>
    <image>images_staff/jenn.png</image>
    <description>
      <![CDATA[<p>
      Jenn joined the Eclipse Foundation in September 2016. 
      Away from the office, she enjoys spending time with her family, watching her girls play sports and is also a fitness enthusiast.</p>
      ]]>
    </description>
  </staffmember>

 <staffmember id="thabang">
    <name>Thabang Mashologu</name>
    <username>tmashologu</username>
    <title>Vice President, Marketing</title>
     <twitter>T_Mashologu</twitter>
    <image>images_staff/thabang.jpeg</image>
    <description>
      <![CDATA[<p>
      Thabang leads global marketing activities for the Eclipse Foundation. 
      Outside of work, Thabang enjoys spending time with his family, playing tennis and recording music in his home studio.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="shabnam">
    <name>Shabnam Mayel</name>
    <username>smayel</username>
    <title>Senior Marketing Manager, Cloud Native Java</title>
    <twitter>@mayelshabnam</twitter>
    <image>images_staff/shabnam.png</image>
    <description>
      <![CDATA[<p>
      Shabnam joined the Eclipse Foundation in June 2019 as the Senior Marketing Manager with focus on Jakarta EE, Eclipse MicroProfile and other Cloud native java projects. 
      Her passion is in multimedia marketing, and brand management . Outside of work, she enjoys traveling, watching anime series, hiking and reading. </p>
      ]]>
    </description>
  </staffmember>

 <staffmember id="ralph">
    <name>Ralph Mueller</name>
    <username>rmueller</username>
    <title>Managing Director, Eclipse Foundation Europe GmbH and VP Ecosystem Development</title>
    <twitter>ralph_mueller</twitter>
    <image>images_staff/ralph.jpg </image>
    <description>
      <![CDATA[<p>
      Ralph's role at the Eclipse Foundation is focused on growing
      the Eclipse Ecosystem
      across Europe. </p>
      <p>Ralph's passion outside of work is golf, both as a player
      and as a coach for children just starting the game. He's also
      helped both Mike and Donald to improve their games.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="tanja">
    <name>Tanja Obradovic</name>
    <username>tobradovic</username>
    <title>Jakarta EE Program Manager</title>
    <twitter>TanjaEclipse</twitter>
    <image>images_staff/tanja.jpg</image>
    <description>
      <![CDATA[<p>
      Tanja joined Eclipse Foundation as Jakarta EE Program Manager June 2018. 
   		Having been involved with Java and Java EE for quite some time, 
   		revitalizing Enterprise Java seems like a good challenge and a great fit for her! 
   		Outside the office, she loves spending time with her family and friends, 
   		enjoys art events, outdoor activities (even in the winter!), 
   		visiting different countries and most of all spending summers on a beach.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="eric">
    <name>Eric Poirier</name>
    <username>epoirier</username>
    <title>Web Developer</title>
    <twitter>ericpoir</twitter>
    <image>images_staff/eric.jpg</image>
    <description>
      <![CDATA[<p>
      Eric is part of the web development team! Other than working 
      with web stuff, his other passions are mostly constituted 
      of hockey, video games and tv shows.</p>
      ]]>
    </description>
  </staffmember>

  <staffmember id="denis">
    <name>Denis Roy</name>
    <username>droy</username>
    <title>Director, IT Services</title>
    <image>images_staff/denis.jpg</image>
    <twitter>droy_eclipse</twitter>
    <description>
            <![CDATA[<p>In the office, Denis spends his time in front of a Linux command prompt, helping manage the servers, networks and software that run the Eclipse websites. When not at work, Denis enjoys time with his family and friends.</p>]]>
    </description>
  </staffmember>

   <staffmember id="sandy">
    <name>Sandy Thompson</name>
    <title>Finance Specialist</title>
    <image>images_staff/sandy.png</image>
    <description>
      <![CDATA[<p>Sandy is the Finance Speacialist. Outside of work, Sandy enjoys travel, hockey (Go Leafs Go) and spending as much time as possible with her family, especially her grandchildren.</p>
      ]]>
    </description>
  </staffmember>
  
   <staffmember id="karen">
    <name>Karen Vaile</name>
    <title>Office Manager</title>
    <image>images_staff/karen.png</image>
    <description><![CDATA[
      <p>Outside of work, Karen drives her two busy kids around to hockey, softball, and dance. 
      She has managed many of the teams her children have been on and helps coach softball. 
      All too often, she sews name bars onto jerseys the night before the 
      first game of the season and ribbons onto new pointe shoes minutes before the first class.</p>
      ]]>
    </description>
   </staffmember>

  <staffmember id="matt">
    <name>Matt Ward</name>
    <username>mward</username>
    <title>Systems Administrator</title>
    <image>images_staff/matt.jpg </image>
    <description><![CDATA[
      <p>Matt spends his time triaging the Webmaster inbox and putting out
      fires.  If you can't take the heat, stay out of the data center.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="paul">
    <name>Paul White</name>
    <username>pwhited3w</username>
    <title>Vice President, Member Services</title>
    <image>images_staff/paul.jpg </image>
    <description><![CDATA[
      <p>Paul’s role at the Foundation is to drive value for our members. 
      His interests outside the Foundation are diverse, but all centre around family, 
      friends, learning (and a bit of teaching) - all mixed with a heavy dose of travel.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="christie">
    <name>Christie Witt</name>
    <username>cwitt</username>
    <title>Creative Specialist</title>
    <image>images_staff/christie.jpg</image>
    <description><![CDATA[
      <p>Christie Witt joined Eclipse as the Creative Specialist in December 2019. She ensures brand consistency and integrity behind the Foundation and Working Group logos and brand guidelines. She brings over 10 years of design, branding, and marketing experience to the Eclipse team and is a Registered Certified Graphic Designer.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="graeham">
    <name>Graeham Hui</name>
    <title>Marketing &amp; Communications Assistant</title>
    <image>images_staff/graeham.jpg</image>
    <description><![CDATA[
      <p>Graeham is a Marketing & Communications Assistant, supporting Eclipse Foundation's marketing objectives through social media and graphic design. When outside of work, he enjoys photography and fashion design.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="shanda">
    <name>Shanda Giacomoni</name>
    <title>Marketing Team Lead</title>
    <image>images_staff/shanda.png</image>
    <description><![CDATA[
      <p>Shanda has spent the majority of her career working in the non-for-profit space, and has a particular interest in tech-based organizations. Outside of the office, she likes spending time with her growing family.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="ioana">
    <name>Ioana Maftei</name>
    <title>Marketing Manager, Europe, IoT and Edge</title>
    <image>images_staff/ioana.png</image>
    <description><![CDATA[
      <p>Ioana joined the Eclipse Foundation in February 2020 as the Marketing Manager for  Europe with focus on IoT, Edge, SparkPlug and research projects. A strong marketing generalist, Ioana brings broad experience developing and implementing technology marketing and communications activities to her responsibilities, which also includes providing marketing support for our European research projects. Outside of work, Ioana enjoys being in nature, going on bike tours, playing tennis, reading, taking self defense classes, spending time with friends and travelling.</p>
      ]]>
    </description>
  </staffmember>
  
  <staffmember id="briank">
    <name>Brian King</name>
    <username>bking18m</username>
    <twitter>brianking</twitter>
    <title>Cloud Dev Tools Community Manager</title>
    <image>images_staff/brian-300.jpg</image>
    <description><![CDATA[
      <p>Brian joined the Foundation to work with the Eclipse Cloud Development Tools Working Group to drive the evolution and broad adoption of emerging open source solutions for cloud-based development including Eclipse Che and Eclipse Theia. Brian's hobbies are not too outlandish and include drinking good coffee and walking his dog. However in recent years he has tried sailing and canyoning, and is open to other recommendations.</p>
      ]]>
    </description>
  </staffmember>

  <staffmember id="yiliu">
    <name>Yi Liu</name>
    <username>yiliu</username>
    <title>Frontend Web Developer</title>
    <image>images_staff/yiliu.jpg</image>
    <description><![CDATA[
      <p>Yi Liu joined web development team in 2020. Outside programming, she loves exploring world mysteries, extraterrestrials, and playing video games!</p>
      ]]>
    </description>
  </staffmember>

</staffmembers>