Community Driven Development

When talking about development I mostly mean personal and educational development. So this post is not about a new fancy way of writing software.

Why Community

I personally felt the power of a community on my way to the position I’m currently at. I started working with zero practical experience at small company in Germany. It was a good way to get into the business, but very soon I realized, that there is an other world out there. So I started experimenting with Symfony. At the same time I heard a conference talk by Lukas about the Symfony CMF. As content management was my daily business, I tried to dig into that Content Management Framework. I admit, I couldn’t understand how it worked. My first attempts on implementing it had been a disaster. But then I started committing to that ecosystem. It had not been my first contribution, but it was the first that ever got merged into something bigger. But that is not the point. While working on my own CMF component and committing to the main packages, I had an impressive learning experience.

When Working on such an project I learned a lot of the internal processes of Symfony. I really had helpful but demanding guys on every review. And indeed I would like to thank David and Wouter. With their help I made my biggest step in my personal development. Instead of declining a pull request, I got a lot of helping words. Those words contained more and better advice than a documentation can ever give.

So I became a core developer of the CMF. Currently I prepare a new major release with the same guys. We are planning to serve before Christmas. And again I learn. I currently don’t work on a Symfony application in my job. But with the work for the community I stay in touch.

Not your Story?

I believe, that not every open source project can bring on the same success, but most of the community driven projects do. Almost every bigger project has got chats, user groups or meetups and sometimes their own conferences. That can be an easy starting point. When using those projects in daily business, you should visit the community one way or the other. You will gain insights you will never get by simply reading documentation. Those visits combined with public speaking is the first contribution to such a project. There is no code or documentation involved yet, but it gives every internal contributor some self confidence. Realizing that one or more people use the code you wrote or contributed to is a really good feeling. Trust me. I stand in front of more than 500 Symfony developers and asked who knows or got in touch with the CMF. And almost the complete crowd raised their hand. I can’t really describe what that did to me. I is absolutely amazing.

Why not starting to commit?

Most often it starts with a bug or missing feature when using an open source project. Instead of ranting you should fork, fix and push. Maybe you realize why that bug had happened or the feature hasn’t been implemented yet. It is easy to yell for a specific behavior of an application or library, but the implementation of it can be more difficult than expected. Libraries used by lots of developers need a special kind of extensibility. Contributing to those libraries is the best way to understanding those concepts. And doing so, it also helps to get aware of the work, that is needed to get a feature on the road.. That said I have to add, that the code isn’t the only possible contribution.

The Documentation often needs some effort. So how often did you say “This isn’t documented well”? Fork, fix and push! Same answer here.

It is open source. It is implemented by a community of moms, dads and other people, who sacrifice their free time. There is no service hotline you can call and shout “I paid a lot of money for that, so it has to work the way I want.”. In my opinion there has to be a kind of compensation. The more you take, the more you should give.

Commit while your job

Yes! You should discuss in you company about a way of contributing to open source projects. It is not only about reinvesting. It is mostly about bringing company’s developers forward. As I described some lines above, I learned so much contributing to open source projects. Employees can too. Instead of spending a lot of money on workshops, get in touch with the community, contribute and learn. It is much cheaper. And what can be better marketing for a company selling experts in Project X, than having contributors to the same project on your team?

Conclusion

There are several ways of learning programming language specific skills, but contributing to and working on open source projects, you will also meet kind people and get a lot more information than just reading documentation.

Explore your local communities

Since moving to Munich in April I started attending various tech meetups. I had to wait for the next PHP meetup till the end of May (because the previous one was held late in March) but it was totally worth it – around 40 people attended, pizza and beer were tasty and the talks were about interesting topics. By chance the next meetup was, because of last minute speaker cancellation, a chance for me to have a lightning talk about HomeBrew PHP. I’ve attended other PHP-related user groups such as Magento (as a speaker) and Symfony. There is also Laravel group which I plan to check soon. Later in October I started my own UG about Phalcon framework

 

To sum it up: if you are new to the area just visit meetup.com website, chances are high there are established user groups for various interests including PHP. In case there are none, feel free to start one (and add it to the PHP.UserGroup as well!). Don’t feel a stranger, embrace and share the knowledge, meet new people and just have fun 🙂

 

PHP as a language and as a community had a great year and clearly has a bright future, lets all keep up the pace in the 2016! I wish all the readers a nice Holidays season

The PHP revolution in 2015

If you were a PHP developer, you can state that 2015 was an epic year! Many things occured this year that had small or big effects in your role as PHP developer.

20 Years of PHP

First of all 2015 is the year we can celebrate 20 years of PHP as Rasmus Lerdorf released his first version of PHP/FI on June 8, 1995. Back then PHP was nothing more than a bunch of C classes that allowed Rasmus to build dynamic web applications in an easier way than was possible with CGI driven Perl sites. Little did he know that his contribution would change the world.

Today PHP is responsible for more than 80% of all web sites on the Internet, maybe even a bit more if we were able to look behind firewalls and proxies. Businesses depend heavily on PHP for their main source of income (selling products or services) or have PHP become part of their business intelligence (ERP, CRM, CMS) or even beyond regular computer usage (e.g. license plate recognition, traffic monitoring or even control bridges).

I only got in touch with PHP in 2001, but I’ve seen the technology and the community behind it grow into an awesome ecosystem where there’s a general behaviour of sharing and doing good. I feel myself privileged to be a part of this wonderful community.

Major Version Milestones

Only last month we could already enjoy the release of Magento 2, the major e-commerce platform build on PHP, Drupal 8, the leading CMS platform build ontop of Symfony Framework, and Symfony 3, the leading PHP framework to build robust, dynamic web applications.

It’s not done yet! Members of PHP core have completed and tagged PHP 7.0.0 on December 1, the biggest milestone change since PHP 5 dating back in July 2004. If you want to know what’s new under the hood of this release, I can recommend getting the free e-book “Upgrading to PHP 7” by Davey Shafik.

The years ahead

With these new releases available, and the global trend to connect everything together over the internet (IoT), we will see more API’s being created to streamline all of this. With PHP 7 you get extra power and performance to compete with other technologies. 

Improved security tools to encrypt privacy data, hashing of passwords and secure communications between services and devices makes PHP a technology that will provide jobs and opportunities for decades to come. If you’re a student and like adventure, PHP might give you an exciting future!

Get on board and start building the future today!