SlideShare a Scribd company logo
1 of 46
Download to read offline
About Us
● Andrii Rodionov
○ JUG UA Leader
○ JavaDay Ukraine conferences organizer
■ Kyiv - 6 years
■ Lviv, Kharkiv - 2 years
○ Java instructor at EPAM Systems
○ Community manager at Sun Microsystems (in the
past)
About Us
● Víctor Orozco
○ Founder and JUG Leader of Guatemala Java Users
Group (the biggest user group in Central America)
○ Java Day Guatemala Conference, and Duke's
Adventure Tour
○ CTO of Nabenik S.A.
○ Assistant professor in Universidad Rafael Landivar
Talk structure and goals
● Map five levels of Capability Maturity Model to different
phases of JUG lifecycle
● Key characteristics of each level
● How you can advance your JUG from one level to
another
● Practices to increase the number of group members
and make JUG meetings periodic
● How to organize conferences and take part in the
Adopt-a-JSR program
● Unfortunately, no Java code :(
Maturity levels - What does it mean?
“The Capability Maturity Model (CMM) is a development model
created after study of data collected from organizations that
contracted with the U.S. Department of Defense, who funded the
research. The term "maturity" relates to the degree of formality and
optimization of processes, from ad hoc practices, to formally defined
steps, to managed result metrics, to active optimization of the
processes. The model's aim is to improve existing
software-development processes, but it can also be applied to other
processes.”
https://en.wikipedia.org/wiki/Capability_Maturity_Model
Level 1 – Survival
● Where to hold a meeting?
○ University, (Software development) company open
space, coworking space, ...
● How to find participants?
○ Friends, Social groups, ...
● Free or paid model?
● Where to find speakers?
○ Often JUG leader is the main speaker
Level 1 – Survival
● Unfortunately, a lot of JUGs die on this level ☹
Lessons learned
● 2005-2009: Advocate and later board member of my
college Linux Users Group (pretty dead)
● 2009-2011: "Well known buddy" of a wide-country
Free Software Association (mostly dead)
● 2009-2009: Participant in the first Java User Group in
.gt (yup dead too)
We(I) created user groups for the leaders, not for the
members. A group is good only if it's good for the
(potential and actual) members
Lesson 1: Don't be a hero
● 5 members: Every member is also a leader
● 10 members: Every member wanna be a leader
● 50 members: Every member hates the leader since it
thinks he/she would be a better leader
● Start horizontal ASAP
Lesson 2: Mighty Morphin core members
● Identify your JUG style (not everyone is comfortable
with an isolated leader, most people is probably
comfortable with a core team)
● Identify your leaders (hint: people that likes technology
over recognition)
● Eventually the leadership will rotate, this is GOOD, just
do it
● Embrace the team, promote new members in
"administrative tasks”
Lesson 3: Res publica non dominetur
● Good JUGs are created by and for the people
● People = developers, local universities, other user
groups, sponsors (in that order)
● Embrace the environment, people is using Java 5 and
Java 8 in the real world
● Ask for interests in each meeting, every early
adopter is a potential speaker
Lesson 4: Create value for everyone, not for
you
● (Most) Human beings are selfish
● Eventually you'll notice biases in activities, that's
perfect
● As you grow ask for sponsorship, people love freebies
● Valuable = Jobs, technical discussions, face to face
meetings, study groups, tech talks, hands on labs,
conferences, networking
● Non valuable = SPAM, self promotion, isolated
members promotion, flamewars
● Non valuable things are the poison of user groups
Lesson 5: Traditions
● Maturity = When you have enough active people to
start projects
● Meetings at regular basis on regular days (It's easy to
remember)
● Identify what works for you - e.g. guatemalans hate
Google+, love Facebook, hate Meetup, love mailing
lists, hate forums, love twitter-
● Explain traditions to newcomers
● Not everything is code
Lesson 6: Have fun
● Recognition isn't the only objective, but SHARE IT
since day 0
● Conferences, JSR, talks, are a consequence of good
vibe, not a cause
● Maybe one day you simply took your Duke plush to
hike volcanoes with your peers
And some more lessons ...
● Take into account who will be your participants
○ If students and beginners: it will be very hard to
grow group professional level, get seniors and take
part in AdoptJCP/AdoptJSR
○ If middle and seniors: you should have skilled
speakers (otherwise participants will not come
back) and potentially you will have lack of speakers
● You should become a public and very easy reachable
person
● Track your every visitor
Level 2 – Repeatable
… and your group becomes stronger
Level 2 – Repeatable
● The core of participants emerges
● Have a site or Meetup account
● Your group has different channels of communication
○ Group mailing list
○ Facebook group
○ Twitter account
● But …
○ Meetings are not periodical and depend on speakers
availability
○ You invest your own money to provide some pizza or
cookies for participants
Steps for moving forward
● Be a media partner of different IT events
○ It can provide some discounts for your group
members
● Ask local software companies for speakers and events
hosting
● Invite speakers from local conferences to your
meetings
○ Catch international speakers if they are passing
near you
● Try to increase your group visibility!
Level 3 – Defined
Level 3 – Different meetings
● Taking fees from participants or having a sponsor(s)
● 500+ members in mailing list
● JUG meetings are periodical with defined number of
participants
● You look for speakers according to your members
demand or your meeting theme
● Articles, Interviews, Blogs, and Newsletters
● You can start different types of meetings
○ HOL / Tutorial / Hack Day
○ Events for Junior Developers
○ Software Craftsmanship Community Round-tables
HOL/Tutorial/Hack Day
● JDK8 lambdas and streams
○ https://github.com/AdoptOpenJDK/lambda-tutorial
○ https://github.com/stuart-marks/LambdasHacking
○ https://github.com/stuart-marks/LambdaHOLv2
● Eclipse Collections Kata
○ https://github.com/eclipse/eclipse-collections-kata
● Java 8 Date And Time Hacking
○ https://github.com/olegts/Java8DateAndTimeHacking
● Practical RxJava Workshop
○ https://github.com/simonbasle/practicalRx
● Java 9 REPL
○ https://www.jclarity.com/2015/04/15/java-9-repl-getting-started-guide
● Jigsaw
○ http://openjdk.java.net/projects/jigsaw/quick-start
○ https://www.infoq.com/articles/Latest-Project-Jigsaw-Usage-Tutorial
But in some day, you …
Level 4 – Conference
Let’s organize our own Java conference!
And invite Rock Stars Speakers!
How to organize a conference
● The simplest way is … to invite Voxxed guys ;)
● If you are not a Devoxx, don't expect to have 1000
participants first time
● Start from 100-200 participants and 1-2 tracks
● Engage some local software development company as
a main conference partner
How to organize a conference
● Organize a conference day before or day after some
big conference
● You should “book” Rock Stars speakers minimum half
a year before the conference
● Three main areas of responsibility:
○ conference program
○ technical organization
○ sponsors and partners
● And … good luck!
In some day you can have James Gosling
JavaDay Kyiv experience
● JavaDay Kyiv 2011
○ 1 day
○ 1 track
○ 5 speakers
○ 7 talks
○ 100 participants
● JavaDay Kyiv 2015
○ 2 days
○ 5 tracks
○ 45 speakers: James Gosling (1 hour online Q/A session),
Venkat Subramaniam, Arun Gupta, Bruno Souza, …
○ 60 talks
○ 1000 participants
● JavaDay Kyiv 2016
○ Is coming … ;)
JavaDay Guatemala experience
● JavaDay Guatemala 2011
○ Mostly a Barcamp/unConference
○ 1 track
○ 15 speakers
○ 15 talks
○ 100-200 participants
● JavaDay Guatemala 2016
○ Country tour (Duke’s adventures)
○ 9 days (in 9 cities) . . . so far
○ 5 tracks in main conference, 35 speakers
○ Co-hosted with EclipseDemoCamp
○ Between 1000-3000 participants
● JavaDay Guatemala 2017
○ For sure it will happen … maybe JavaDay Central America :)
unConference
unConference
unConference
Be aware! You should have experts in particular
topics
Christoph
Engelbert
Stuart
Marks
Conferences drawbacks
Conferences take time and slow down your JUG progress
Level 5 – Influence Java
● How can we influence Java platform?
● Hackathons
● Adopt a JSR program for Java User Groups!
○ JUG UA took part at Adopt JSR 367 (Java API for
JSON-Binding, JSON-B)
● New kind of meetings
○ Coding kata's/dojo's, Code & Coffee, Round tables, …
○ How to be accepted to speak at a Conference
○ Speaking Out: A workshop for public speaking in tech
○ Career Hacking - Interview Skills / Cracking that interview
Hack the Tower (London hackday)
http://www.hackthetower.co.uk/
Is a hack day for any and all developers to come and collaborate on
projects or discover new technologies together and enhance their
skills.
Rough agenda:
10.00 Doors open
10.30 Share project ideas or technology you want to try
10.45 Team up and get going
13.00 Lunch time
13.30 Keep on hacking... until you have had enough or want to go to
the pub!
16.00 [Optional] Show off projects
Hack and Adopt OpenJDK
● Improved OpenJDK 9 test coverage
● OpenJDK Warnings cleanup
● Small Bugs Fixes
● Try new staff and provide a feedback
○ Java 9 REPL - http://goo.gl/68sZ5x
JUG UA Adopt a JSR participation
http://jug.ua/adopt-a-jsr
● How did we start?
○ Joined mailing list for JSON-B spec
○ Analyzed Spec early draft
○ Wrote set of unit tests for mapping different Java
data structures to/from JSON using JSON-Binding
API
● Results
○ More than 60 comments/suggestions have been
made
○ About 30 out of them have been incorporated in
Spec
○ We've got experience and fun
JUG UA Adopt a JSR participation
JSR-367 Java API for JSON Binding Specification
Increasing the Maturity of Our Java User Groups
Increasing the Maturity of Our Java User Groups

More Related Content

What's hot

Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo羽祈 張
 
Open sourcecontribution
Open sourcecontributionOpen sourcecontribution
Open sourcecontributionNAILBITER
 
Beginner android
Beginner androidBeginner android
Beginner androidSmriti Das
 

What's hot (7)

Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo
 
Open sourcecontribution
Open sourcecontributionOpen sourcecontribution
Open sourcecontribution
 
Creating a social media mediated learning experience - Andrew Smith & Ha...
Creating a  social  media  mediated  learning  experience - Andrew Smith & Ha...Creating a  social  media  mediated  learning  experience - Andrew Smith & Ha...
Creating a social media mediated learning experience - Andrew Smith & Ha...
 
Beginner android
Beginner androidBeginner android
Beginner android
 
D7 as D8
D7 as D8D7 as D8
D7 as D8
 
Joining a community
Joining a communityJoining a community
Joining a community
 
BRG Class Day 1
BRG Class Day 1BRG Class Day 1
BRG Class Day 1
 

Similar to Increasing the Maturity of Our Java User Groups

The Career Practitioner's Guide to Conducting a Webinar
The Career Practitioner's Guide to Conducting a WebinarThe Career Practitioner's Guide to Conducting a Webinar
The Career Practitioner's Guide to Conducting a WebinarMelissa A. Venable
 
A Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding AssistanceA Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding AssistanceLambda Solutions
 
DSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSessionDSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSessionPratikTemkar
 
JUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPracticesJUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPracticesRajmahendra Hegde
 
How to Write a Winning Session Submission
How to Write a Winning Session SubmissionHow to Write a Winning Session Submission
How to Write a Winning Session SubmissionDocker, Inc
 
Main presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurMain presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurDomendra Sahu
 
Google Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at DiscourseGoogle Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at DiscourseJakub Macina
 
Light Weight Methods to Drive Your Designs Forward
Light Weight Methods to Drive Your Designs ForwardLight Weight Methods to Drive Your Designs Forward
Light Weight Methods to Drive Your Designs ForwardNicole Capuana
 
First #EnterpriseCamp Utrecht May 2010
First #EnterpriseCamp Utrecht May 2010First #EnterpriseCamp Utrecht May 2010
First #EnterpriseCamp Utrecht May 2010adelnoor
 
SMC030 theEnterpriseCamp
SMC030 theEnterpriseCampSMC030 theEnterpriseCamp
SMC030 theEnterpriseCampEPLeurope
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile communityAgile Vietnam
 
You Don't Need to be a Developer to Contribute
You Don't Need to be a Developer to ContributeYou Don't Need to be a Developer to Contribute
You Don't Need to be a Developer to ContributeNathan Handler
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training ReportRakuten Group, Inc.
 
The Software Sustainability Institute Fellowship
The Software Sustainability Institute FellowshipThe Software Sustainability Institute Fellowship
The Software Sustainability Institute FellowshipAlejandra Gonzalez-Beltran
 

Similar to Increasing the Maturity of Our Java User Groups (20)

How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
The Career Practitioner's Guide to Conducting a Webinar
The Career Practitioner's Guide to Conducting a WebinarThe Career Practitioner's Guide to Conducting a Webinar
The Career Practitioner's Guide to Conducting a Webinar
 
A Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding AssistanceA Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding Assistance
 
Be Part of a Community
Be Part of a CommunityBe Part of a Community
Be Part of a Community
 
DSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSessionDSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSession
 
JUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPracticesJUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPractices
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
How to Write a Winning Session Submission
How to Write a Winning Session SubmissionHow to Write a Winning Session Submission
How to Write a Winning Session Submission
 
Main presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurMain presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC Bilaspur
 
Google Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at DiscourseGoogle Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at Discourse
 
Light Weight Methods to Drive Your Designs Forward
Light Weight Methods to Drive Your Designs ForwardLight Weight Methods to Drive Your Designs Forward
Light Weight Methods to Drive Your Designs Forward
 
SummerCamp 2010
SummerCamp 2010SummerCamp 2010
SummerCamp 2010
 
First #EnterpriseCamp Utrecht May 2010
First #EnterpriseCamp Utrecht May 2010First #EnterpriseCamp Utrecht May 2010
First #EnterpriseCamp Utrecht May 2010
 
SMC030 theEnterpriseCamp
SMC030 theEnterpriseCampSMC030 theEnterpriseCamp
SMC030 theEnterpriseCamp
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile community
 
You Don't Need to be a Developer to Contribute
You Don't Need to be a Developer to ContributeYou Don't Need to be a Developer to Contribute
You Don't Need to be a Developer to Contribute
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training Report
 
The Software Sustainability Institute Fellowship
The Software Sustainability Institute FellowshipThe Software Sustainability Institute Fellowship
The Software Sustainability Institute Fellowship
 
Codesters
CodestersCodesters
Codesters
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

Increasing the Maturity of Our Java User Groups

  • 1.
  • 2.
  • 3. About Us ● Andrii Rodionov ○ JUG UA Leader ○ JavaDay Ukraine conferences organizer ■ Kyiv - 6 years ■ Lviv, Kharkiv - 2 years ○ Java instructor at EPAM Systems ○ Community manager at Sun Microsystems (in the past)
  • 4. About Us ● Víctor Orozco ○ Founder and JUG Leader of Guatemala Java Users Group (the biggest user group in Central America) ○ Java Day Guatemala Conference, and Duke's Adventure Tour ○ CTO of Nabenik S.A. ○ Assistant professor in Universidad Rafael Landivar
  • 5. Talk structure and goals ● Map five levels of Capability Maturity Model to different phases of JUG lifecycle ● Key characteristics of each level ● How you can advance your JUG from one level to another ● Practices to increase the number of group members and make JUG meetings periodic ● How to organize conferences and take part in the Adopt-a-JSR program ● Unfortunately, no Java code :(
  • 6. Maturity levels - What does it mean? “The Capability Maturity Model (CMM) is a development model created after study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. The term "maturity" relates to the degree of formality and optimization of processes, from ad hoc practices, to formally defined steps, to managed result metrics, to active optimization of the processes. The model's aim is to improve existing software-development processes, but it can also be applied to other processes.” https://en.wikipedia.org/wiki/Capability_Maturity_Model
  • 7.
  • 8.
  • 9. Level 1 – Survival ● Where to hold a meeting? ○ University, (Software development) company open space, coworking space, ... ● How to find participants? ○ Friends, Social groups, ... ● Free or paid model? ● Where to find speakers? ○ Often JUG leader is the main speaker
  • 10. Level 1 – Survival ● Unfortunately, a lot of JUGs die on this level ☹
  • 11. Lessons learned ● 2005-2009: Advocate and later board member of my college Linux Users Group (pretty dead) ● 2009-2011: "Well known buddy" of a wide-country Free Software Association (mostly dead) ● 2009-2009: Participant in the first Java User Group in .gt (yup dead too) We(I) created user groups for the leaders, not for the members. A group is good only if it's good for the (potential and actual) members
  • 12. Lesson 1: Don't be a hero ● 5 members: Every member is also a leader ● 10 members: Every member wanna be a leader ● 50 members: Every member hates the leader since it thinks he/she would be a better leader ● Start horizontal ASAP
  • 13. Lesson 2: Mighty Morphin core members ● Identify your JUG style (not everyone is comfortable with an isolated leader, most people is probably comfortable with a core team) ● Identify your leaders (hint: people that likes technology over recognition) ● Eventually the leadership will rotate, this is GOOD, just do it ● Embrace the team, promote new members in "administrative tasks”
  • 14. Lesson 3: Res publica non dominetur ● Good JUGs are created by and for the people ● People = developers, local universities, other user groups, sponsors (in that order) ● Embrace the environment, people is using Java 5 and Java 8 in the real world ● Ask for interests in each meeting, every early adopter is a potential speaker
  • 15. Lesson 4: Create value for everyone, not for you ● (Most) Human beings are selfish ● Eventually you'll notice biases in activities, that's perfect ● As you grow ask for sponsorship, people love freebies ● Valuable = Jobs, technical discussions, face to face meetings, study groups, tech talks, hands on labs, conferences, networking ● Non valuable = SPAM, self promotion, isolated members promotion, flamewars ● Non valuable things are the poison of user groups
  • 16. Lesson 5: Traditions ● Maturity = When you have enough active people to start projects ● Meetings at regular basis on regular days (It's easy to remember) ● Identify what works for you - e.g. guatemalans hate Google+, love Facebook, hate Meetup, love mailing lists, hate forums, love twitter- ● Explain traditions to newcomers ● Not everything is code
  • 17. Lesson 6: Have fun ● Recognition isn't the only objective, but SHARE IT since day 0 ● Conferences, JSR, talks, are a consequence of good vibe, not a cause ● Maybe one day you simply took your Duke plush to hike volcanoes with your peers
  • 18. And some more lessons ... ● Take into account who will be your participants ○ If students and beginners: it will be very hard to grow group professional level, get seniors and take part in AdoptJCP/AdoptJSR ○ If middle and seniors: you should have skilled speakers (otherwise participants will not come back) and potentially you will have lack of speakers ● You should become a public and very easy reachable person ● Track your every visitor
  • 19. Level 2 – Repeatable … and your group becomes stronger
  • 20. Level 2 – Repeatable ● The core of participants emerges ● Have a site or Meetup account ● Your group has different channels of communication ○ Group mailing list ○ Facebook group ○ Twitter account ● But … ○ Meetings are not periodical and depend on speakers availability ○ You invest your own money to provide some pizza or cookies for participants
  • 21. Steps for moving forward ● Be a media partner of different IT events ○ It can provide some discounts for your group members ● Ask local software companies for speakers and events hosting ● Invite speakers from local conferences to your meetings ○ Catch international speakers if they are passing near you ● Try to increase your group visibility!
  • 22. Level 3 – Defined
  • 23. Level 3 – Different meetings ● Taking fees from participants or having a sponsor(s) ● 500+ members in mailing list ● JUG meetings are periodical with defined number of participants ● You look for speakers according to your members demand or your meeting theme ● Articles, Interviews, Blogs, and Newsletters ● You can start different types of meetings ○ HOL / Tutorial / Hack Day ○ Events for Junior Developers ○ Software Craftsmanship Community Round-tables
  • 24. HOL/Tutorial/Hack Day ● JDK8 lambdas and streams ○ https://github.com/AdoptOpenJDK/lambda-tutorial ○ https://github.com/stuart-marks/LambdasHacking ○ https://github.com/stuart-marks/LambdaHOLv2 ● Eclipse Collections Kata ○ https://github.com/eclipse/eclipse-collections-kata ● Java 8 Date And Time Hacking ○ https://github.com/olegts/Java8DateAndTimeHacking ● Practical RxJava Workshop ○ https://github.com/simonbasle/practicalRx ● Java 9 REPL ○ https://www.jclarity.com/2015/04/15/java-9-repl-getting-started-guide ● Jigsaw ○ http://openjdk.java.net/projects/jigsaw/quick-start ○ https://www.infoq.com/articles/Latest-Project-Jigsaw-Usage-Tutorial
  • 25. But in some day, you …
  • 26.
  • 27. Level 4 – Conference Let’s organize our own Java conference! And invite Rock Stars Speakers!
  • 28. How to organize a conference ● The simplest way is … to invite Voxxed guys ;) ● If you are not a Devoxx, don't expect to have 1000 participants first time ● Start from 100-200 participants and 1-2 tracks ● Engage some local software development company as a main conference partner
  • 29. How to organize a conference ● Organize a conference day before or day after some big conference ● You should “book” Rock Stars speakers minimum half a year before the conference ● Three main areas of responsibility: ○ conference program ○ technical organization ○ sponsors and partners ● And … good luck!
  • 30. In some day you can have James Gosling
  • 31. JavaDay Kyiv experience ● JavaDay Kyiv 2011 ○ 1 day ○ 1 track ○ 5 speakers ○ 7 talks ○ 100 participants ● JavaDay Kyiv 2015 ○ 2 days ○ 5 tracks ○ 45 speakers: James Gosling (1 hour online Q/A session), Venkat Subramaniam, Arun Gupta, Bruno Souza, … ○ 60 talks ○ 1000 participants ● JavaDay Kyiv 2016 ○ Is coming … ;)
  • 32. JavaDay Guatemala experience ● JavaDay Guatemala 2011 ○ Mostly a Barcamp/unConference ○ 1 track ○ 15 speakers ○ 15 talks ○ 100-200 participants ● JavaDay Guatemala 2016 ○ Country tour (Duke’s adventures) ○ 9 days (in 9 cities) . . . so far ○ 5 tracks in main conference, 35 speakers ○ Co-hosted with EclipseDemoCamp ○ Between 1000-3000 participants ● JavaDay Guatemala 2017 ○ For sure it will happen … maybe JavaDay Central America :)
  • 33.
  • 34.
  • 37. unConference Be aware! You should have experts in particular topics Christoph Engelbert Stuart Marks
  • 38. Conferences drawbacks Conferences take time and slow down your JUG progress
  • 39.
  • 40. Level 5 – Influence Java ● How can we influence Java platform? ● Hackathons ● Adopt a JSR program for Java User Groups! ○ JUG UA took part at Adopt JSR 367 (Java API for JSON-Binding, JSON-B) ● New kind of meetings ○ Coding kata's/dojo's, Code & Coffee, Round tables, … ○ How to be accepted to speak at a Conference ○ Speaking Out: A workshop for public speaking in tech ○ Career Hacking - Interview Skills / Cracking that interview
  • 41. Hack the Tower (London hackday) http://www.hackthetower.co.uk/ Is a hack day for any and all developers to come and collaborate on projects or discover new technologies together and enhance their skills. Rough agenda: 10.00 Doors open 10.30 Share project ideas or technology you want to try 10.45 Team up and get going 13.00 Lunch time 13.30 Keep on hacking... until you have had enough or want to go to the pub! 16.00 [Optional] Show off projects
  • 42. Hack and Adopt OpenJDK ● Improved OpenJDK 9 test coverage ● OpenJDK Warnings cleanup ● Small Bugs Fixes ● Try new staff and provide a feedback ○ Java 9 REPL - http://goo.gl/68sZ5x
  • 43. JUG UA Adopt a JSR participation http://jug.ua/adopt-a-jsr ● How did we start? ○ Joined mailing list for JSON-B spec ○ Analyzed Spec early draft ○ Wrote set of unit tests for mapping different Java data structures to/from JSON using JSON-Binding API ● Results ○ More than 60 comments/suggestions have been made ○ About 30 out of them have been incorporated in Spec ○ We've got experience and fun
  • 44. JUG UA Adopt a JSR participation JSR-367 Java API for JSON Binding Specification