Uganda Web Developer Workshops: Rotary Style – Idea looking for Partners and Direction

Uganda Web Developer Workshops: Rotary Style – Idea looking for Partners and Direction

This is an idea that has been growing in my mind, and I seem to finally have a handle on it. I have been a professional PHP web developer for the last 12 years, and have gone through the learning and transition cycles from learning a new language from Visual Basic 6 and MS Access to Java/JSP/Servlets to PHP, and developing in the language from direct database access using mysql_query through a custom developed database class into Zend Framework for 2 years with Doctrine 1 and 2 ORMs.

My biggest challenge has to do with the fact that there are no places to go and talk code, PHP/Javascript/Database in Uganda, along with the experiences and challenges facing web development with “need-to-have” practices like:

  1. Refactoring
  2. MVC design for web applications
  3. Version control – branching, merging, version tagging and management
  4. Testing – unit and functional testing, load testing
  5. API development (okay this is pushing the enveloper)
  6. Continuous integration, code quality metrics – complexity, modular development, cyclomatic complexity
  7. Team Style development – PSR 0 and PSR 1 compatibility
  8. Frameworks – Symfony, Zend Framework, Kohana, JQuery, Twitter Bootstrap
  9. Advanced CSS and HTML 5 – style guides, browser targetting, mobile development

I am also looking at doing this Rotary style, 1 hour developer meetings once in 2 weeks, then later once a week, same night, same location.

The bottom line is that we develop the quality of the available pool of web developers by growing a community, having role models, to also put a brighter face on the industry, improve perceptions and make it clear that this is an area that has professional practices. It is a win-win for all involved

Any ideas who has done this before, what were your challenges and trials, who would like to partner on this?

30 thoughts on “Uganda Web Developer Workshops: Rotary Style – Idea looking for Partners and Direction

  1. My experience is that this is possible. Just get people who are interested in similar things and are doing professional work, then you have a higher chance of running it for a long time. The only thing is not to be over expectant, sometimes you may call for a meeting and get one guy (that should not stop you).

    Some of the topics that you mention, are crosscutting. It may be vital to cast you net wider.

    My view is that of an iHub approach, which may attract hardcore developers, any platform, any language and deep insights.

    1. Yeap, one at a time is all that we need, I am in it for the long haul.

      Also while the issues are cross cutting, I would like to start with something that I know, and then can expand to other areas. I am trying to keep the platform focused and small, but which are used by lots of people especially entry level developers

  2. Super idea. I strongly suggest you go for it but use resources already available – such as the Hive Co-lab. Also, get people into the habit/practice of paying for things in order for this to be sustainable, so work out a fee and allow us to get involved. SMS Media will happily provide what modest support we can.

    1. Simon thanks for the support, I am talking to Hive Colab since I would like to have them drive it going forward.

      The idea of making it paid for is great in addition to sustainability, forces an increase in the quality of the presentations and also ensure that the attendees pay attention

  3. As a proud PHP Developer i promise not miss an event unless am not in the country or very busy caught up with other matters.

    Quoting you …..”I am also looking at doing this Rotary style, 1 hour developer meetings once in 2 weeks, then later once a week, same night, same location.”….end quotes.

    That may bring issues, you can organize these meetups in a different locations like Outbox, HiveCollab, Mara Launchpad, Victoria University, Camping Sites, even Developer Offices. This will make it fun more like Mobile Monday.

    1. Billy thanks for the input, am looking at focusing on the content first and sustainability to make it relevant… I will put the content online and use crowd sourcing to improve the quality and buyin from the developer community.

      Will keep u updated

  4. I would be interested though I am from the ASP.NET side of things…….ASP.NET is harder to master than PHP but inherently more powerful, however, it wouldn’t hurt to network with you PHP gurus

    1. Peter,

      You would be welcome to join as the areas we are discussing cross cut across languages, I am pushing PHP since its what I know and can tap into an international community that I have been part of, is very common for entry level developers, is used widely for website development through the CMSes, Joomla, Drupal and WordPress. Having developers from other languages can give us a sanity check, and can point out things that are done differently in each language.

      My vision would be to have a theory session which is language independent, and parallel tracks for PHP, Python, ROR, .NET as practical sessions, but that is in the future.

      I encourage you to keep in touch and providing feedback as we move a long …

  5. I think it’s great that you step up to start an initiative like this in your area, and if I can in any way help by giving you advice or in any other way, I’ll be happy to do this.

    Now, I don’t know the situation in Ugunda, most probably it is quite different from the situation we have here in The Netherlands, but I guess some things apply everywhere:

    – Get attendees of your events to share their own experience by letting them speak on their favorite topic. Even new developers will have come across situations where they had to solve a tough problem, and by having them share their solution, they may help others who will come across the same problem at some point
    – Get a pool of senior developers that have experience. Their language of choice doesn’t really matter. As you said in response to Peter Ssetumba Mugerwa, many of the topics that make a PHP developer better are not specific to any given language. Topics like refactoring, design patterns, version control, deployment, database optimization work across many different languages.
    – Tap into the international PHP community and use the Internet. I for one would be happy to do a virtual presentation at one of your meetings, and I’m pretty sure many others would join in on this. Using screen sharing in Skype or some other software, I’m pretty sure it would be possible for international community members to do presentations that are then shown at your meeting

    Good luck with all your plans, and if I can help in any way, I’ll be happy to πŸ™‚

  6. Great Idea Steve. I would love to be a part of that. Here’s what I think, there are many of us out there working alone, 18 hours a day and giving no time to some’ like this but would love to enhance our knowledge. A little or no time is spent to socialize and find out what’s happening out there so you find such ideas crumble coz the message didnt get to the right persons or geeks, should I call them. Use emails to invite us to this platform, am sure a couple of geeks will show up including me and later we drive this thing to heights.

  7. Its hard for me to give advice since I dont know the situation in Uganda sufficiently well. I do have some contacts to the Chisimba team which afaik is mostly based in South Africa and Tanzania. Maybe these guys can give slightly more local advice. For example in Europe I doubt anyone would be willing to pay for such a meeting as most would be of the opinion that otherwise they can just meet at a bar or even just meet virtually. Obviously people would be willing to pay for food and drink thohgh.

    That being said imho the key thing is to have a motivated “leader”. With leader I dont mean that its necessary for that person to be top level programmer or whatever. All it takes is someone to actively seek out people, remind them and ensure a pipeline of talkers.

    Now the last bit I want to expand on. First up try to get some top level people from your area. But also call on companies like 10gen, Oracle etc to see if they would be willing to sponsor someone to come by. Furthermore I am sure there are plenty of PHP devs from around the world that have been considering a trip to africa. So if you can offer them some local advice and maybe a place to sleep for a few days they would be very happy to visit with the only cost being the time spend in getting them organized.

    However in the long run you will have to build your own set of people to give talks. So once you have done the first few talks done by yourself, one or two experienced devs from your area and maybe 1-2 guests from around the world .. organize an evening with lightning talks where everybody just presents their last/current work project. Just to get people used to standing in front of people. Make sure to have another talk lined up for the next meeting and then keep talking to people to submit their own thing.

    BTW: If you have a good internet connection it might also be possible to get guest speakers via google hangout or Skype. Oh and another thing, in my experience once a month is enough. Furthermore pitch the meetings as not only about knowledge exchange but also for networking.

    Good luck on your endeavor!

    1. Lukas,

      Thank you, well you have given me and others plenty to work with especially on what model to use, what works and what may not. It has never been tried before here, so we have a chance at a clean slate. You have touched on the core issues that I had in my mind, and I think having devs talk about their current projects in talks is a great idea.

      I will keep you updated on how we are moving forward.

      Thanks again

      Stephen

  8. Al-right this is a great idea …For some of us who are looking for developers this also would be a good pond to catch a better Mputa πŸ™‚ (NB: Add me on the invitation list)

  9. Yay, you! As Lukas said, really it just takes one person with desire and motivation to get things rolling. You have some great advice here, so I will only add a few things:

    1- I think a regular meeting time at a regular place is more important than top notch speakers. It will get easier to draw a crowd if things are consistent and people always know where you’ll be and when. Moving it around might cause some confusion, just a heads up.
    2- Formal talks are nice, but roundtable discussions are also valuable.As Stefan said, you can encourage participation and group ownership by tapping into their own expertise. You can have people bring to the group issues they’re struggling with and crowdsource a solution.
    3- I don’t know about there, but giving plenty of time for socializing is usually a good thing. Allow people to see the group as more than just an extension of their day job. It’s ok to talk about things that aren’t PHP and to spend time building some friendships. Over a few beers is usually a good way to do that. πŸ™‚
    4- Sometimes local companies are willing to pitch in for free food or drinks, that’s always a good thing.
    5- Tapping into other local groups is also a good way to bring in others. For instance, if there is a Drupal or WordPress group nearby, you can join forces sometimes and cross promote each other.
    6- Although our local group does have a site of its own, we’ve gotten most of our traffic through Meetup.com. If you’re looking for a home for the group, I’d recommend that site.
    7- Publishers have a pretty active user group sponsorship, and they’re usually willing to send you books or offer your group members discounts. http://ug.oreilly.com/ http://www.wrox.com/WileyCDA/Section/id-311026.html and http://www.apress.com/user-group-program/ for instance.

    One other thing- there is a mailing list for other user group leaders who are going through similar issues. Feel free to join it at ug-admins@lists.php.net and tap into that community there. They’re quite awesome. πŸ™‚

    Good luck to you!

  10. This is good stuff and am sure we can pull it off. My thoughts for this group are to develop something that will stand out while sharing knowledge. How many of us have contributed to PHP or any other language? Any frameworks developed in Ug? We download lots of stuff from SourceForge or Launchpad but have ever built something for the community out there or for our country?

  11. Hi Stephen,

    First kudos to you for taking the initiative. Like already mentioned, it just takes one to take the first step.

    I know you’re eager to get started and get things going, but keep it manageable for yourself at first. Some pointers I can give from my own experiences:

    1) start with a monthly meeting. The easiest way is to go to meetup.com and set up a page where you announce your meetings. This will get you started without investing too much in setting up your own community page.

    2) contact Zend, Microsoft, IBM, phparchitect and Engine Yard to include your meetup page and details in their newsletters. They are more than willing to announce meetings in your part of the world.

    3) If you’re targeting a local audience, find a venue that allows you to have regular sessions. If you’re covering a more broader area you can think about moving around (like we do with PHPBenelux) but this is something you need to try and figure out what works best.

    How to find venues: look at local schools, bars with “private” rooms, companies with meeting rooms or public areas like libraries. See if they offer room for free or if they want to sponsor your meeting by offering a venue.

    How you organise your meetings is all up to you at first, but listen to your community. Sessions and talks work well in most cases, but sometimes community members just like to hang out and drink beer. You can do a mix of both. And these sessions can be talks, round table discussions or just a hackathon.

    I had recently a talk regarding how communities work, this might be of great insights for you: https://speakerdeck.com/u/dragonbe/p/community-works-boston-php-north-east-2012

    Best regards and good luck,

    Michelangelo

    PS: once you have your first meetup.com page ready, give us a shout and we’ll broadcast it over the wire.

  12. Stephen,

    Elizabeth and others have already given most of the thoughts I had, but here are a few “soft” tips I’ve given other people:

    – Talk to as many people as you can and find out what they want from a user group. (This will also help you gauge the technical level of your members, so you can tailor speakers, possible educational or training opportunities and so on.) Try new things and different formats like full length speakers, shorter “show-and-tell” sessions, general Q&A, etc. and see what works best. Don’t be afraid to change it around.

    – Caveat regarding “technical level” of your members: you’ll have a wide range of experience levels in your members, so don’t worry that any given speaker or topic is too basic or too advanced. You can’t cover all experience levels all the time, but people will auto-adjust. My group has people who come to every meeting no matter what the topic may be, and some come only for advanced topics.

    – Don’t be discouraged if it takes a while to reach your level of “expectation”, e.g. I want to have 75 people meeting monthly at LocationX with a guest speaker and food and drinks provided. Groups take time to develop and evolve, so give things a chance.

    – Once you reach a critical mass, put together a few trusted people to help you. You can do everything yourself, but you can get bogged down once you find lots of interesting things you can do.

    As others have said, the community is more than willing to help, answer questions, and so on, so don’t hesitate to ask.

    Congrats for wanting to get a group started! You may not fully realize yet what you’re getting yourself into, but it’s *well* worth the journey. πŸ™‚

    Best wishes!

    Chris Spruck,
    AtlantaPHP

    1. Chris,

      Thanks for the soft tips, and yes I am not sure what I am getting myself into but I am all giddy with butterflies in my stomach over it.

      Stephen

  13. hello Chris, I have read the views from other people and all are good. However, there is a lot that needs to carryout the assessment to come up with the objectives and goals of this meet ups.

    I can join you this meetings because your idea is closely related to what I am trying to to do. We can get in touch and discuss more. Send me an email r.adieku@italentx.org

  14. I am greatly interested in such an idea. I am looking forward to that first invite.
    Considering the fact that you posted this in august, how far have you gone in making it a reality.

    1. I am spending some time putting together the concept documentation to sell to potential partners, based on the feedback that I have got the idea is great, implementation is key and a challenge hence the need to plan. I will be releasing an update before the end of the year

  15. Hey, you set down such a great blog, I want to ask something about your blog, Why is PHP still alive? Is it very important for learning purposes? Why is it better and how it can beat other languages? What are the most complimentary uses of PHP?

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top