THERMACOIN ICO

Thermacoin powers a revolutionary Peer-To-Peer creative works sharing and registry Platform for the Mechanical Construction industry. The Mechanical ecosystem will work on a decentralized ledger…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Other way to do community

NgLabs is a group of people who meet to do Open Software projects. The projects in ngLabs should have, as main mission, to learn about Angular and the technologies which are around the framework.

Each project is classified in one of the next categories:

The process to create a new project in ngLabs is the next:

After the presentation of the project each team goes to a table and starts to work in their project. So basically, the majority of time, what the people do in ngLabs, is to work in their projects.

One of the main worries of the ngLabs members is that anyone gets stuck in a problem. We want to keep the momentum of the project and, for this reason, to have progress in the developments is really important. In the case that someone cannot resolve a problem there are three levels of help that it can use:

If the team partners don’t know the solution, the person with problem can ask to the rest of people who are in the room working in others project. It can also launch a question in our slack. If there isn’t a good answer, the ngSherpas will give one. The fact is that no one is alone in ngLabs. The members of the community will always find support in their partners. For this reason there is no problem is someone wants to start a project alone (it is not advisable but we don’t oppose it).

So, at the end, to work in the project, we only have 20 hours per sprint (in addition of what the team members want to dedicate in their free time in home)

About the planning, at the beginning of each sprint the PO has a meeting with the others members of the team to check the state of the kanban board. The objective is to decide if they need to add a new tasks, to remove tasks or to change the priorities. They also decide who will be responsible of what task.

The last day in the sprint is for the demo and the retro. In the demo, each team shows the rest of us what they have achieved in these 20 hours of work. In the retro, the teams analyze what they can do better for the next sprint and what ngLabs can do to help them. I have to say, without a doubt, that the best of ngLabs are retros. In the end, ngLabs does not belong to me, even though I am its founder. It belongs to the people who do the projects because it is what these people want it to be. For example: In the beginning our sprint lasted a month but, in our last retro, the members told me that they did not have enough time to make real progress, so we decided to extend the time to two months. We used to get together on Saturday, but some people suggested that we should try to hold meetings every Friday and Saturday to see if it is easier for the rest of the members to assist at the meetings. The ngSherpas was also an idea coming from a retro. Therefore, ngLabs is not stable; is a community that undergoes strong changes every two months to try to find the best way to help its own members … and it is incredible.

As I said before, the idea of ngSherpas came out in the last retro. The people who went that day told me that they need a clear reference to resolve doubts, someone who has to have experience developing in Angular. The exact words were “someone who guides us from the bottom to the top.” That’s where the word “sherpa” appears because a sherpa is the person that guides you in the Himalayas from the bottom of the mountain to near the top. The idea was great, the concept fantastic, everything fit in my mind. So in the end, an ngSherpa is a mentor, a person who has experience developing in Angular and comes to meetings to help projects when they get stuck on some issues. It is important to note that a Sherpa does not want to create a strong dependency with any project. They want project people to become independent of it, so a ngSherpa will never implement the solution, it will show ways to solve it. The final decision must be chosen by the project.

Other thing that the ngSherpas do, as an expert, is to classify the new projects in one of the categories that I mention before. They can also prepare the workshop or propose other experts to do it.

A ngSherpa is chosen by its own team partners. When a project is finished, the team choose the best developer of the project, the one who inspires them the most confidence. The ngSherpa has also a category depending of the type of the project that it finished. For example: a ngSherpa for rookies will be one who has become sherpa after to end a rookie project. A project should ask for help to a ngSherpa of the same category.

NgSherpas are members of ngLabs as well as others. Consequently they can attend the workshops as everyone, to participate in the projects or to propose a new one. In fact, if a ngSherpa wants to change category (to become a sherpa of innovation or expert), he has to finish another project in this category and be chosen by his partners.

The main mission of each project in ngLabs is the training. What I’m trying to say is that usually, our apps, don’t try to supply a necessity to create a business. Our objective is to train our self through developing software together. It is good because:

However, it could happen that an app developed by a team fits really well with an opportunity of business. In that case, ngLabs doesn’t want that anyone take advantage of the member’s effort for its own business and ngLabs doesn’t want any reward from the work of their members. For this reason all the projects are under MIT license. If anyone wants to create an app based in one of our project, he or she can do it… as well as everyone in the world. In consequence, in ngLabs, everyone works for nobody except theirself (I’ll explain this in a moment…)

I have already explained that, at the end of a project, a team member is chosen to be a new ngSherpa, but it is just one of the things that happen. When a project is completed all team members must do a troll conference. The troll conference is the event in which a team explains their project (what it does, how it does, etc …). In this type of events there is always an expert angular developer who is the troll. The troll can not speak or do anything while the team is exposing their project. It have to wait until the round of questions is over. Then the troll is released.

The goal of troll is to find problems or errors of any kind (architectural errors, maintenance problems, performance problems, etc …) that the team has not seen. It should also tell them how to solve them or how to improve the software. Of course, this event is not to humiliate anyone. What we want is for developers to learn from their own mistakes. It is the opposite of what we usually do in a conference. Usually, the expert teaches us the right way to do things to normal people. In this case, normal people are telling the expert how they do things. This new point of view of non-expert developers could be good, could be different or could be wrong and, when faced with expert vision, everyone learns something new; the team of developers, the expert and the audience of the event.

After troll event, it is time for the promotion. NgLabs encourages all the people who has ended a project that they should do some kind of promotion of the results and conclusion of their work. This promotion can be a talk in one of the different meetups in the city, articles in a blog, some video on youtube, etc… anything to make known their work. During this promotion, ngLabs don’t want to get any credit. The team doesn’t have to mention the community if they don’t want. It’s their work and they deserve all good things that come from it.

Usually some people ask me why I’ve done a lab (ngLabs is a software lab) just for Angular. Well, the reality is that ngLabs is not just angular. As I said before, in ngLabs, we make open software. It is our way of learning from others. The software has only one reason to be: to be deployed. If you have implemented an Angular application, you will know that the framework is not enough. With Angular you can only build the front. In the easiest case, I’m talking about a Rookie project, you’ll need a web server, so, some knowledge about Apache, nginx, express … will be needed. Each Angular application also has to have a user interface, so to know about UX and UI design is important as well.

If we think of an expert project, the technology stack grows a lot. All applications will need a data source so the team will need to obtain knowledge of, at least, one database (Postgresql, MySql, MongoDB, Firebase, CouchDB). At the same time, a data source means an API to consume it (GraphQL, RAML, Swagger, etc …).

If we are talking about hybrid ( Ionic ) or native ( NativeScript ) apps some sort of knowledge about Android and IOS systems is needed. With isomorphics we have to know express or Koa, PWA needs service workers and, depending of how we want to deploy, it is possible we need dockers and server less system knowledge.

So, yes, we have Angular as a common point but at the end, the number of different technologies that we use is quite big.

In our community people learn from each other by sharing their knowledge. The result of your work is useful as a portfolio that can be added as proof of your skills. At the same time, they have training in some of the most demanded technologies, as well as one of the most successful methodologies to carry out the project as kanban and agile values.

The troll conference compares their form of coding with the vision of expert developers and the promotions of their result make them gain a presence in the software community which usually gets the attention of companies. Certainly, being part of ngLabs is a win to win for everyone.

Add a comment

Related posts:

Our home

Your lawn overrun by coarse wild weed from months of neglect and indifference but you are more worried that I did not fertilise my flowerbed. Your living room, fine leather sofas embellished by…

How I Used the Law of Inertia to Get off My Butt and Make Things Happen

The hardest part about doing anything is starting — especially if it’s something that you don’t want to do. I’m a master procrastinator. Give me a menial but necessary task, and I’ll find five houses…

5 Strategies To Grow Your Healthcare Practice with Dr. Tanya Kormeili

This interview is an extension of the podcast: Healthcare Heroes . NPHub created this podcast to highlight the entrepreneurs, innovators, and advocates inside Healthcare who saves lives every day.