Community Building

Logo del TQV Cancun

Since I left college I have been living a nomad life, sometimes it hasn’t be so nomad, others it has. I love it but coup mechanisms and the dream of improving the community mixed with the selfish feeling of entertaining hobbies with like minded people had driven me to embrace (and sometimes take over) communities.

Whenever it has been virtual or analog, communities and groups have been a part of my life and this blog I want to celebrate them. Most of my communities have been technology driven although I have always surrounded myself with people that have had similar tastes like hiphop, basketball, and anime.

However building and planning a community is something that although it could be organically it also something that could be reflect on and take measures to make it better. One small plan was to have a set time and place for meetups, just like virtual communities, a reliable communication channel is always something that shows the health of the community.

In Tequila Valley Cancun, this was a meeting called #JuevesDeDesarrolladores or DevThursday. The meeting happens in a local Starbucks, we are able to go from having a good time, to engaging in heated discussions on technology, development, education, entrepreneurship etc.

Second thing was to discover projects in common and ideas that can improve the overall awareness of the group. Discovering things in a group makes the potential for common projects to emerge on a more rapid cycles. Working together can also strengthen bonds and peer-review work. In TQV there were many projects on both, business, pleasure and private.

  • business – have a client and one or more people work together.
  • pleasure – no client, and done for fun
  • exploration – no client, but hope to become a new business.

Another experience was doing event showcase, our opportunity to give back to the society about what our goals have to offer. In this case, technology. It’s not a sales pitch but rather a knowledge showcase, usually making it a very academic-like event.

Events also help us become more inclusive and accept people from other fields to join and learn about the topics and get involved in solving them. From education, to politics, to quality of life.

Understanding relationship also is useful to make join ventures with universities, businesses and media to help push forward the know how of society. However events could become a big distraction, because many communities get stuck on them and don’t get the true factor of change.

Is always important to understand what the ultimate goal is and that’s why planning is important. Whenever is create new companies, new services, or engineer true innovation.  This mind map show an version of the organization in a snapshot.

ImageOne important thing to keep in mind is to understand how to manage the community egos, recognitions and encourage contributions. Many people want to contribute, but when they are not recognize resentment could occurred. Also forks of the communities can happen as well, and even some kind of bad blood could start flowing between their members.

Sharing knowledgeAll these are rules of social interaction and is key how to handle such conflicts. Many people have strive to learn programming so they can understand what others talk about. When they fail, frustration and even resentment could occurred in the same manner.

Another big factor is money, when money doesn’t come or money comes to only a few. Then it becomes a matter of discouragement. Is a bit illogical since these groups are not meant to discourage success but to encourage it. So one people success should be proof that the community is moving toward it’s goal of creating more businesses or getting some kind of financial leg to evolve.

When people struggle to grasp this concept they think people are making money out of their efforts and decide to move their efforts to a different source. This usually happens in open source software, when the developer deploy for-pay services many people shy away from it. Even think is no longer open source, even i they see the code available for everyone. In a community, there is no indicator to think the community turned “closed” or in this case commercial. So usually these concepts should be understood by the bylaws of the community.

Sometimes this is not the way many communities goes, so anticipating such issues could be beneficial in the future.



Creating a coder portfolio

I have usually mentioned of the advantage of the Internships in Open source, whenever is Google summer of code, or FSF collaboration projects, or project specific internship. However there is some pre-required knowledge students should get. Having and organizing a professional portfolio is very important.

Companies and other developers have some new protocols to view and understand the way programmers can be recognized from their work. Although there are still many things that haven’t catch on. Social networks, code repositories, and open development has definitely been part of them.

First thing is first, who are you? Having a personal page help, whenever this is on a local host or this is a free account on a service like Or even your G+facebook or blog. Is important to list your contact mediums, make sure they point to active mediums like avoid having your old college email that you haven’t touch since you left many years ago.

Although you are not forced to change, be aware there is certain elitism in technology and using AOL or Hotmail account will lower people’s expectation. Some people tend to think that your IT skills are very outdated. On the opposite side of the spectrum, having your own email like or pointing to a project you contribute like in my case and previously, may generate the opposite reaction.

Is important to also be able to show your work, here is where there are many issues and controversies. As a private employee, there is contractual obligations in order to show or not how your code.

This is why is important to have personal projects that you can show your proficiency. Showing and describing the modules or classes you have generated is always a good way to show off your knowledge in the area.

Here is where public repositories make their play. For almost 2 decades Sourceforge has been the most popular code repository. Since then, we have other well recognized repos like Google Code, and more recent Bitbucket, Gitorious and the premier GitHub.

Having a good amount and up to date projects could be a great way to show your skills. Updates could be fixes for updates on the language convention (making your code Python 3 or PHP 6.x compatible). Fixing bugs or just having other developers adopt it and contribute patches to other projects could be a great YES.

Writing whitepapers is also a non-coding way to show your knowledge. Having research, and something more complex than a random blog post could be a good way to let employees know, that you are actively looking for ways to improve the status quo. Something that companies with the right culture will be open to.

Talking about development processes like XP programming, SCRUMsoftware architecture and IT Project management. If you ever had the opportunity to have a presentation on slideshare or a youtube conference.

There could be a time that you have too much of everything, there is when your content management skills need to kick in. It should be easy to read and follow through, the last thing you want your scout is to get distracted with un-related content that could affect you. This is why is good to maybe have a service like storify or a link bank that can pick and choose what show and what not. This will maximize the possibilities to hit of their needs.

Mind maping

Mind maps is also a good way to expose your broad experience in different topics all in one simple image. A friend of mine, did this on his site, where he show it’s specialties and also link to different areas. Mind maps can be done on a more artistic or more mundane fashion, important is to make your strong points more prominent and not confusing. Semantik is a great software for this, an alternative would be Freemind.

If you want it to take it the next level, you can also plan on having a dedicated website and look your image as a business brand. Investing in a good photo shoot, with a good make-up using a image manipulation software like Gimp or MyPaint. Editing an introductory video using KdeLive, or OpenShot. If you aren’t the best looking guy for a photo shoot, you can always get a service or artist to draw a cartoon of yourself. This will make you a bit more marketing-driven than competitors. Don’t over do it, but also show interest in your image.

A good example is the Twit avatars here:Image

Here are different options, you can hire a professional artist, if you don’t know any in your area you could use services like liveperson, elance, or good ol’ craiglist.

To finalize you want to be able to promote your image on the web, a good way to do it is to be able to generate visitors. Adding your website to your email signature, or to your personal card is a good way to start. But also be able to spread it through professional networks and old friends is also a great way to get business going.

Business contacts as well as commerce chambers are great way to establish professional networks, events at local chamber of commerce or just be able to subscribe to their feed can allow you to open the door to interact and push your brand. Although you shouldn’t be too aggressive to an extend to hijack conversations. But should open enough to people to learn about you and recognize your skill sets.

Linkedin is a great resource since you already have a uniform way to present content, however, the key to Linkedin is their groups and their Answers areas, where people get to interact and people looking to either hire or get hired are in one central point of communication. Even as a freelancer, you should let people know that you are always looking for projects, and how you can benefit to their business.

This is by no means a small point, is actually the very first point. Most users would be thinking on how can this guy make me money. So is important that you don’t hide this information but quite the opposite put it right next to your name. Something like John Doe: Making your operations run smoother, but also that doesn’t look as cheesy. A quote is usually useful, and understanding business and buzzwords can get to the perfect quote. Something like Mary Jane: Social media is the fastest growing market, make your business be part of it. As a programmer, or coder a good quote would be Mike Johnson: Code is art, without passion is just math. Obviously here we have some keywords like code and passion. For people that read this, they understood that you care about your craft.

Think about your own buzzwords and come up with a nice quote and embrace it for you and for everyone that meets you.

Process of selling

Sales cycle
The sales cycle about how to manage the leads.

Following an advice when I went to my hometown was to get more academic about sales, and read books and watch talks about the topic of selling. When I was young, my dad took me to a business seminar about selling and how to sell. So following that advices, I decided to get into it and start researching. This haven’t been the first time I have try to do this research and I found great podcast, and even if the podcast was interesting, it came to a close.

This time around I went to youtube and found the guy I once watched as a younger guy and was able to watch all their videos from their sales video seminar. One of the things that I like were the following:

  • Clear explanation of the steps
  • Methodological process of the sales
  • Requirements
  • Case studies

Watching the guy perform the scenarios really gave me an input into failed scenarios that I can relate, and how to approach them. Some of the cases depended on phone sales, face to face, written sales. The process described however the same pattern, something called AIDA. Preparing some key areas making potential closes.

  • Sales AIDA
    Curves and process of sales

    Attention – Getting your costumer attention.

  • Interest – Stimulate their interest
  • Desire – Generating a desire for the product
  • Action – lead your costumer into a purchase action

This makes also a psychological flow of high and lows on the consciousness of the client and how to develop a pitch around these flow of emotions. Understanding what triggers these emotions is key to be able to have a competitive sales pitch. Understanding the time management such pitch has to implement is key since one step depends on the next one so close by. [1] [2]

The distribution of the time and be able to move on needs to be cover by a series of moments that can guaranteed the sale. This is where open and close questions enter and cover your pitch with such also needs to happen. Practicing and tinkering such pitch will lead until the next step which is the acting and making it more natural and conversational. That way we also learn a series on techniques depending on a category of clients that exist.

Other topics include:

  1. Closing techniques
  2. Deal with objections
  3. Producing leads
  4. Features and Benefits

I will talk about them as a I go along the review of the videos.


E-Learning teaching techniques

Moodle 1.9 Teaching Techniques from ApressLately I have been reading this book about techniques for e-learning/teaching and how to take advantages of some of Moodle’s resources. Now, I already know Moodle quite well. I even have prepared courses on the topic as well as live presentation to learning communities. I have used the tool many times and even have driven commercial corporate courses for big companies.

That said, I have always been interested in learning the techniques of others as they manage the different dynamics of the classroom. Even if a tool is well understood the implementation can vary, on the other side, the classroom behavior could also greatly vary depending on how competent the audience is on taking and proceeding with the courses.

One of the biggest issues is to understand that even if many people use the Internet, they don’t see themselves as a member of the Internet but rather a consumer of the web. They know how to look for information and read it. However very seldom will they participate and interact with the resources like commenting and chatting. Or people that is used to chat, feel very awkward to listen or talk to the computer, so doing voip or listening to podcasts is very alternative and even foreign.

So understanding the value of the audience there needs to be different strategies so they can learn the best way possible.

The book is quite interesting since they start talking about all these factors and how e-learning should be seen. Generating highly effective courses, is one of the book goals, and how to grasp concepts such as ubiquitos learning, how Moodle’s interface remain consistent through out it’s activities. A concept called social constructivism pedagogy as well as how does people learn in the real world.

  • Interact with the environment
  • Experiences from others
  • Social learning
  • Constructed approaches

Although these sound a bit like jargon, is interesting how these theories work in the context of the LMS and how students can get to these practices through the use of a combination of such. At the same time a big question hunt me which is how diverse should I be on my approach and how many will have the chance to learn and how many will miss important areas of  the learning path because of their natural adversity to the method employed. Another even more crazy question hunt me which was if I need to re-run the course for the visual, another version for the auditive and finally another for the kinesthetic people.

The next section of the book deal with the type of resources and how our course would be social by just using one simple resource — the forums. A whole course of forums is not as bad as it looks and a lot of interaction could be generated from students simply understanding where to discuss what things and how to get and provide answers. This only resource could be enough to get a class engaged with one another.

So the debate between using moodle as a discussion system versus a content repository (which is what is usually used for) arises. From that point o view forums play a big roll on your engaging strategy.

If you really look at it, social sites like Facebook are nothing more than a forum. People post, and others comment, either with text, images or even videos.

From the point of view of Forums, other things like wiki’s and chat could branch out as they maintain the interaction but on a different context. A chat provides a more real time interaction while a wiki provide very slow interaction but great for documentation and moving knowledge from a discussion into a published work.

So we will go from questions raised on the Chat & Forum – to a tutorial that should be published in a Wiki and eventually migrated to a more structured and cataloged book or web page.

From that part, it goes into one of the most traditional resources, exams. Also known as quizzes this is a complex area to tackle how the word exams work into the psyque of many of us and the anxiety always get us uncomfortable on how to deal with these part of learning. The book tries it bests to re-format that image into a workflow of constant practice of the bases of the course.

How key knowledge could be benefited from a repetitive interaction, in this case, repeating it in form of a question and letting students even create their own quiz to remember their own notes.

Grading is also a part of the quizzes although for some type of learning these things are also a bit off  putting even for the trainer. Nothing make a teacher as excited as reviewing amateur papers.

Then it goes into Lessons which is one of my favorite activities because it give structure to a course creating a learning path. These learning path will greatly benefit both students and teachers on giving an easy way to navigate and understand the workflow that is intended here. Key benefit of lessons is the amount of information I get from it, as the logs usually tell me how much time the student has put into the information and the intermediary questions (or clusters) allow me to assess the knowledge gained right away.

Chapter 6 deals with Wikis which is mainly about getting users to develop paper projects, which on a different context I have been able to use this. Not on a traditional fashion of collaboration but as a way to help me document activities each have done on a better format way.

At the moment these are the immediate things that the book covers, other activities include Workshop, Choice and Portfolio/Gallery. These resources also play important part of the Moodle ecosystem, there is also a big restriction about how to implement e-learning. Is good to experiment, but don’t do something just because you can.

Having too many resources, can make the student head spin, as well as just be more focused on how to figure out the next activity as opposed to actually focusing on the content.

What is clear here is simple:

  • Make students engage withing themselves
  • Make it interactive

I think this book is a great resource and consulting books as classes are filled up and spent. Questions and comments are welcomed.


Python Certification and O’Reilly

Today I saw this great conference about the Python certifications that O’Reilly (the company that does IT books) is offering through their school of technology.

A few month’s back there was a rather interesting discussion bout the value of a certification, and how many people disagree about the nature and the goals should be. However is good to know that there are some certifications available and even better that they are connected some how with an authoritative figure.

In this case The Python Foundation chairman is one of the designer of these Python Certified Class. This O’Reilly Webcast show the whole process and thought put into this program and how it can help many people that want to get into programming as we all develop core knowledge.

The video is here:

Some notes on the video are the following interactive Q&A and some key minutes in the presentation:

Min: 15 Biggest difference between Python and PHP? The use of namespaces to create larger systems.

Min: 17 Which toolkit (or UI) will the course include? Several frameworks like TKinter, PyQt y WxPython were reviewed. In the search for pragmatism we choose Tkinter, but in a way that is easily portable to Qt, GTK, etc.

Min: 19 The courses are credited by the University of Illinois.

Min: 23 How will these course help more experienced programmers? You can skip the entry-level classes although if you want the certificate you most take them at some point.

Min: 28 Explain the story on why The Python Foundation don’t offer the certifications directly and how data is not equal to knowledge and experience.

Min: 31 who do the grading? Is a combination of members of the University of Illinois and O’Reilly School of Technology.

Min: 32 Why does the Python course looks more involved than the PHP course? The approach to the PHP course is different and Object oriented is been reviewed further  in the course.

Min: 34 Sneak peaks on the second class? Second class would deal with testing and development. Things like unit testing.

Min: 36 deals with packaging and how to generate packages in Zip, tar, etc.

Min: 42 what kind of jobs can I obtain from these classes and certifications? Right now programming skills are very well marketable although usually is focused on programming jobs. However, we see these programming courses to extend to other disciplines like journalism, technicians, educators. Also the curriculum and portfolio of real code that can get you a Jr Developer position.