SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
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)
○ @andriirodionov
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
○ @tuxtor
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (6)

Project udir
Project udirProject udir
Project udir
 
Open sourcecontribution
Open sourcecontributionOpen sourcecontribution
Open sourcecontribution
 
Joining a community
Joining a communityJoining a community
Joining a community
 
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
 

Andere mochten auch (8)

Introducción a Aprendizaje de Maquina
Introducción a Aprendizaje de MaquinaIntroducción a Aprendizaje de Maquina
Introducción a Aprendizaje de Maquina
 
Certificaciones en Java 2017
Certificaciones en Java 2017Certificaciones en Java 2017
Certificaciones en Java 2017
 
Introducción a Git (Git 101)
Introducción a Git (Git 101)Introducción a Git (Git 101)
Introducción a Git (Git 101)
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
JBoss Forge y Eclipse Neon para aplicaciones Java EE 7
JBoss Forge y Eclipse Neon para aplicaciones Java EE 7JBoss Forge y Eclipse Neon para aplicaciones Java EE 7
JBoss Forge y Eclipse Neon para aplicaciones Java EE 7
 
Java 8: Más funcional que nunca
Java 8: Más funcional que nuncaJava 8: Más funcional que nunca
Java 8: Más funcional que nunca
 
Inciando con AngularJS y JavaEE 7
Inciando con AngularJS y JavaEE 7Inciando con AngularJS y JavaEE 7
Inciando con AngularJS y JavaEE 7
 
Reaching the lambda heaven
Reaching the lambda heavenReaching the lambda heaven
Reaching the lambda heaven
 

Ähnlich wie 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
 
JUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPracticesJUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPracticesRajmahendra Hegde
 
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
 
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
 
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
 
DSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSessionDSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSessionPratikTemkar
 
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
 
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
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile communityAgile Vietnam
 
The Software Sustainability Institute Fellowship
The Software Sustainability Institute FellowshipThe Software Sustainability Institute Fellowship
The Software Sustainability Institute FellowshipAlejandra Gonzalez-Beltran
 
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.
 

Ähnlich wie 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
 
Be Part of a Community
Be Part of a CommunityBe Part of a Community
Be Part of a Community
 
JUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPracticesJUGChennai UserGroup BestPractices
JUGChennai UserGroup BestPractices
 
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
 
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
 
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
 
DSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSessionDSC MESCOE - 2020 - InfoSession
DSC MESCOE - 2020 - InfoSession
 
SummerCamp 2010
SummerCamp 2010SummerCamp 2010
SummerCamp 2010
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
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
 
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
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile community
 
The Software Sustainability Institute Fellowship
The Software Sustainability Institute FellowshipThe Software Sustainability Institute Fellowship
The Software Sustainability Institute Fellowship
 
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
 
Codesters
CodestersCodesters
Codesters
 
OpenStack Upstream Training Report
OpenStack Upstream Training ReportOpenStack Upstream Training Report
OpenStack Upstream Training Report
 

Mehr von Víctor Leonel Orozco López

Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenIniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenVíctor Leonel Orozco López
 
Desde la TV, hasta la nube, el ecosistema de Java en 26 años
Desde la TV, hasta la nube, el ecosistema de Java en 26 añosDesde la TV, hasta la nube, el ecosistema de Java en 26 años
Desde la TV, hasta la nube, el ecosistema de Java en 26 añosVíctor Leonel Orozco López
 
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Víctor Leonel Orozco López
 
Explorando los objetos centrales de Kubernetes con Oracle Cloud
Explorando los objetos centrales de Kubernetes con Oracle CloudExplorando los objetos centrales de Kubernetes con Oracle Cloud
Explorando los objetos centrales de Kubernetes con Oracle CloudVíctor Leonel Orozco López
 
Introducción a GraalVM Native para aplicaciones JVM
Introducción a GraalVM Native para aplicaciones JVMIntroducción a GraalVM Native para aplicaciones JVM
Introducción a GraalVM Native para aplicaciones JVMVíctor Leonel Orozco López
 
Design Patterns para Microsserviços com MicroProfile
 Design Patterns para Microsserviços com MicroProfile Design Patterns para Microsserviços com MicroProfile
Design Patterns para Microsserviços com MicroProfileVíctor Leonel Orozco López
 
MicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applicationsMicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applicationsVíctor Leonel Orozco López
 
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Víctor Leonel Orozco López
 
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Víctor Leonel Orozco López
 
Consejos y el camino del desarrollador de software
Consejos y el camino del desarrollador de softwareConsejos y el camino del desarrollador de software
Consejos y el camino del desarrollador de softwareVíctor Leonel Orozco López
 
Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10
Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10
Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10Víctor Leonel Orozco López
 

Mehr von Víctor Leonel Orozco López (20)

Introducción al análisis de datos
Introducción al análisis de datosIntroducción al análisis de datos
Introducción al análisis de datos
 
From traditional to GitOps
From traditional to GitOpsFrom traditional to GitOps
From traditional to GitOps
 
De Java 8 a Java 17
De Java 8 a Java 17De Java 8 a Java 17
De Java 8 a Java 17
 
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenIniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
 
Desde la TV, hasta la nube, el ecosistema de Java en 26 años
Desde la TV, hasta la nube, el ecosistema de Java en 26 añosDesde la TV, hasta la nube, el ecosistema de Java en 26 años
Desde la TV, hasta la nube, el ecosistema de Java en 26 años
 
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
Bootstraping real world Jakarta EE/MicroProfile microservices with Maven Arch...
 
Tolerancia a fallas, service mesh y chassis
Tolerancia a fallas, service mesh y chassisTolerancia a fallas, service mesh y chassis
Tolerancia a fallas, service mesh y chassis
 
Explorando los objetos centrales de Kubernetes con Oracle Cloud
Explorando los objetos centrales de Kubernetes con Oracle CloudExplorando los objetos centrales de Kubernetes con Oracle Cloud
Explorando los objetos centrales de Kubernetes con Oracle Cloud
 
Introducción a GraalVM Native para aplicaciones JVM
Introducción a GraalVM Native para aplicaciones JVMIntroducción a GraalVM Native para aplicaciones JVM
Introducción a GraalVM Native para aplicaciones JVM
 
Desarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud NativeDesarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud Native
 
Design Patterns para Microsserviços com MicroProfile
 Design Patterns para Microsserviços com MicroProfile Design Patterns para Microsserviços com MicroProfile
Design Patterns para Microsserviços com MicroProfile
 
Gestión de proyectos con Maven
Gestión de proyectos con MavenGestión de proyectos con Maven
Gestión de proyectos con Maven
 
MicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applicationsMicroProfile benefits for your monolithic applications
MicroProfile benefits for your monolithic applications
 
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
 
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
Actualizando aplicaciones empresariales en Java desde Java 8 on premise hasta...
 
Consejos y el camino del desarrollador de software
Consejos y el camino del desarrollador de softwareConsejos y el camino del desarrollador de software
Consejos y el camino del desarrollador de software
 
Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10
Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10
Seguridad de aplicaciones Java/JakartaEE con OWASP Top 10
 
Introducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores JavaIntroducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores Java
 
De Java 8 ate Java 14
De Java 8 ate Java 14De Java 8 ate Java 14
De Java 8 ate Java 14
 
Programación con ECMA6 y TypeScript
Programación con ECMA6 y TypeScriptProgramación con ECMA6 y TypeScript
Programación con ECMA6 y TypeScript
 

Kürzlich hochgeladen

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Kürzlich hochgeladen (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

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) ○ @andriirodionov
  • 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 ○ @tuxtor
  • 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