<?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>Manager, 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[Program Director, Working Groups Operations]]></title>
    <description>
    <![CDATA[<p>Following a successful career in Intellectual Property Management with Eclipse, Sharon has turned her attention and leadership to Eclipse Foundation Working Groups and associated programs to ensure governance compliance and operational excellence!  Outside of work, Sharon’s main focus continues to be Chihuahua rescue and her two adopted Chi fur babies!</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="agustin">
    <name>Agustin Benito Bethencourt</name>
    <username>abeenitobethencourt</username>
    <title>Program Manager</title>
    <twitter>toscalix</twitter>
    <image>images_staff/agustin.png</image>
    <description>
      <![CDATA[
      <p>Agustín joined the Eclipse Foundation in August 2021 as Program Manager. 
      Remoter by heart, he is based in Málaga, Spain. Agustín
      has been involved in different Open Source projects and organizations for +18
      years. He also enjoys basketball, barbecues and travelling around 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.blueberrycoder.com" target="blank">https://blog.blueberrycoder.com/</a>
      </p>
      ]]>
    </description>
  </staffmember>

  <staffmember id="zhoufang">
    <name>Zhou Fang</name>
    <username>zhoufang</username>
    <title>Front-End Web Developer</title>
    <twitter>LinkZhouFang</twitter>
    <image>images_staff/zhoufang.jpg</image>
    <description>
      <![CDATA[
      <p>Zhou is the Front-End Web Developer at Eclipse Foundation. Experiencing new things with his family and friends is the core part out of work, including new recipes, movies, games, songs, and so on.</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="">
    <name>Steph Gottardo</name>
    <image>images_staff/steph.jpg</image>
    <title>Manager, Accounting and Reporting</title>
    <description>
      <![CDATA[<p>Stephanie joined the Eclipse Foundation in March 2021. Outside of work, Stephanie enjoys spending time with her two daughters, seeing friends, traveling and going to the gym.</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="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="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="silviamiles">
    <name>Silvia Miles</name>
    <title>Office Manager</title>
    <image>images_staff/silvia.jpg</image>
    <description><![CDATA[
      <p>Silvia joined the Eclipse Foundation in September 2020 as the Office Manager Europe.
Outside of work, Silvia loves to spend time with her family and friends, likes to travel around the world, enjoys sports like running, hiking and fitness.</p>
      ]]>
    </description>
  </staffmember>

  <staffmember id="mkokabi">
    <name>Mehrnaz Kokabi</name>
    <username>mkokabi</username>
    <title>Creative Lead</title>
    <image>images_staff/mehrnaz_kokabi.jpg</image>
    <description><![CDATA[
      <p>Mehrnaz is a member of the Eclipse marketing team. With more than 10 years as a web and graphic designer, Mehrnaz has experience designing and implementing effective creative projects and services for a variety of large public and non-profit organizations. Outside of work, her hobbies include painting, photography, and antique collecting.</p>
      ]]>
    </description>
  </staffmember>

  <staffmember id="hassan">
    <name>Hassan Jaber</name>
    <title>Product Marketing Manager, IoT and Edge</title>
    <image>images_staff/hassan_jabber.jpg</image>
    <description><![CDATA[
      <p>Hassan Jaber joined the Eclipse Foundation in March 2021, as the IoT and edge computing product marketing manager, his job is to translate ideas into successful marketing programs around very tech-savvy communities in the edge computing and IoT world. After hours, Hassan likes to spend time with his family on diverse activities (hiking, reading and traveling).</p>
      ]]>
    </description>
  </staffmember>
</staffmembers>