One more great year has passed. It was a year of various investments we undertook, following the strategy we set in 2014. Things have not been going as fast as we wished, but that was to be expected. In a service-based business it is hard to execute things that are not related to everyday client work, but hey, it doesn’t mean we should retreat.
Every year I check what I had written the previous years and it is becoming really interesting to follow the progress we have made. I can also see a pattern almost (one month give or take) aligned with each calendar year. I remember that 2010 was a bit of a struggle and we were just starting to work abroad more, but in 2011 we did well with 60% cash flow growth and not hiring many people. That enabled resource growth in 2012 when we went from 8 to 13 people. We also finished that year with 60% export ratio. As usual, growing in numbers resulted in decreased efficiency, followed by the year of consolidation - 2013, in which we achieved 20% increase in cash flow with the same number of people.fc
In 2014, we did well again, with 25% cash flow growth and 75% export ratio without any extra people. As a result, 2015 was the time to invest in resources again, most importantly in people. This was one of the goals set last year. We also focused more on building our toolset and learning the technologies we use. Of course, we engaged in the community persistently as ever. We even maintained cash flow growth of 25% with 80% export ratio. Superb!
Investment in people
Starting at the end of 2014 and by the end of 2015, we hired 6 people with 2 students working for us whenever they had free time. That is a huge growth, from 13 to 21 - the biggest growth of the crew, relatively and absolutely. There are books written on how to scale a business people-wise, but it is not easy to execute all these advice. It takes a lot of time and a lot of focus. We succeeded nevertheless :)
We found that a good formula at this stage is establishing the mentor-junior pairs that would sit together and work on the same projects. That way a junior gathers experience in the best way. This, of course, limits the growth speed, since you can have only as many juniors as you have seniors, otherwise the seniors would be spending too much time helping more juniors.
Meet our team :)
Besides giving the juniors a good place to work and learn, we also gave the senior crew a chance to grow by visiting several conferences, doing workshops, open sourcing code, etc.
Monthly reports are being produced in the News section of the site, so I will not list all these engagements here since it would be a huge list. Let’s just mention a few conferences.
We:
- organized yet another eZ Publish and PHP Summer Camp in Rovinj, Croatia
- sponsored WebCamp Zagreb and Shift Conference in Split, Croatia
- presented at SymfonyLive London
- spoke at the eZ Conference in NYC and DORS/CLUC in Zagreb
- visited FOWD in NYC, dConstruct in Brighton, SymfonyCon in Paris, Kerning in Faenza, SOLIDay in Belgrade
A good working environment is important, too. We cherished our home-like office near the Jarun lake, but it got too crowded. We had no choice but to find a bigger office space - and we did! We moved to the new office at Savska 182, Zagreb in the week between Christmas and New Year’s Eve.
Investment in partners
As much as we value our team, we value our partners as well. From business partners Keyteq, Prime and eZ Systems to implementation partners Effectiva, Locastic, Infomar and others, from doing work together and doing the best in syncing our efforts to give the best client service to organizing events like eZ Publish Summer Camp or the Netgen Winter Meetup. All this is intended to nurture our relationship.
To strengthen our partnerships with Effectiva and CJ Design even more, we are now sharing the same office space. We believe this will boost our joint efforts.
Investment in community
Community engagement is deeply rooted in our company’s DNA. We encourage giving back to the community, being it eZ Community, Symfony community, or our local PHP community. We always aim for more, but still manage to do a lot during the year.
Our biggest community investment is the eZ Publish and PHP Summer Camp. It is a huge effort that isn’t financially profitable, but we value it because of its community benefit and significance.
We also open sourced a few things this year:
- eZ and Sylius integration
- our Vagrant setup for eZ Publish
- Netgen variant of the eZ Publish Community 2014.11 kernel
- eZ Platform Search extension
and we worked on our existing repos and released new versions like TagsBundle 2.0 and eZFormsBundle 1.2.
Our blog activities slightly increased to 28 blog posts over the year, out of which 4 blog posts were related to The eZ Publish Show, the last episode of which we had a few days before Christmas. Well, at the least it was the last under that name, it might be continued under some other name. We will see :)
A big community effort was setting up Slack for eZ Community. It’s picked up nicely since June and now we have around 230 users registered. It is also possible to invite someone or yourself and, since December, to search the archives.
Investment in R&D
Even though the eZ Platform was released recently, there are still lots of best practices missing to build typical content-rich websites based on the new stack. Certainly, almost everything can be done in Symfony framework and Twig templating engine, but the idea is to reuse the solutions for typical content use cases on each project, that is not to reinvent the wheel all the time, and also to implement the typical features much faster. This is why we developed our toolset over the years based on legacy stack and eZ Flow. It consists of numerous small features and components that we reuse on each project, but the cornerstone is the way we handle layouts and blocks.
We refactored the frontend part of that toolset in the new Symfony-based stack by the end of 2014, improved it during 2015, and used it on several projects. It is still based on the legacy administration, so it is cumbersome and complicated to use and the layout and block management parts are not flexible enough.
As a part of our strategy, we decided to invest much more time this year into creating something new and simple to use, but flexible enough. We are in the middle of development and hopefully will have a demo in a few months. The focus is on how to make implementation and management of site-wide layouts and blocks much simpler.
We will share some info about this when it is ready.
2016!
As mentioned in the intro, it seems that we have a 3-year cycle and that 2016 will be a year for consolidation. We will concentrate on making the bigger team work more efficiently, but at the same time we want to innovate tools and services we offer to our business partners and clients. So, an interesting year is starting :)
Our main goals for 2016:
- Be more productive with the similar number of people
- Finish the first version of the layout and block management component and start using it on projects
- Engage persistently in our communities and beyond
Very straightforward, isn't it? :)
Let’s go!