Pundit – place for programmers.

As I mentioned in previous post, I am taking part in competition which involves two main activities:
First – running a blog – more about this part you can read here.
Second – create a software project which will drive activities on blog.
What project I want to realize in next 10 weeks? How can this project influence your career?
How would development process look like, and what tools I want to use?

Objective

I want to create a platform where programmers can meet and learn from each other, by developing their projects.

How would it work in practice?

Experienced programmer places his project in application. He describes what is it about (domain), used technologies and further development plans.
Then less experienced programmers offers their help. During work on project, person who own this project teach them about used technologies, architecture, and domain.
In exchange his project gets done faster and could be better, because of different views of each participator.

It is high level model right now, but gives insight into Pundit idea.

Ok. That’s nice, but why should I care? How would it be useful for me?

Benefits

If you are at the beginning of your career, you need to learn a lot. This platform will help you boost your skillset by:
– Gaining software development experience.
– Broading knowledge about technologies you want to learn.
– Enabling connections with people that want to help you develop yourself.

In the other side, if you are expert on some fields, you can also benefit from this platform by:
– Opportunity to speed up your project by involving other people.
– Delegate the execution of repetitive tasks
– Possibility to experiment with teaching methods.
– Establishing connections with people that want to learn and grow up quickly, people that could be priceless in long term cooperation.

But what if you aren’t somewhere between? This platform will give you opportunity to benefit from both groups advantages.

Fine, but how would I develop this application.

Project roadmap.

In next 6 weeks I want to develop Minimal Valuable Product which could be introduced to first users and generate feedback.
At the beginning of this process I will try to get to wider group of people with idea of the Pundit project.
Their opinions would lead to write User Stories (descriptions of the software functions) down.
After gaining requirements phase I will move to development phase.

What tools would help me to achieve goals?

Technologies

There will be two main languages used in this project:
– C# which will be used to build application logic and services.
– JavaScript for managing user interface.

To avoid problems arising from differences between development and production environment, I will learn how to use Docker.

To make process of delivering software easier I will find out more about Continuous Delivery.
So, now it is a time to start first phase – spread idea to other people, and listen their feedback.
In the meantime I will play with Docker, and show you results.