Symfony meetup MyBuilder.com

24

Transcript of Symfony meetup MyBuilder.com

2

MyBuilder.com is an established web startup based in Clerkenwell, London.We help homeowners find the right tradesmen and we help tradesmen find more and better work.We’ve used Symfony since early 2008 and are now rebuilding in Symfony2.

Who are we?

3

Ryan Notz, founder & CEOGavin Love, CTO

accompanied by:Sten “the Estonian whirlwind” HiedelShane “the geese” PreeceJeff “Eddie” Van Campen

Ah, who are we?

4

We’re here to talk about stuff

5

Soooo... do you like... stuff?

6

I’ll bet you get frustrated

...when you’re not allowed to do something (technologically) that you know will be good for your company.

7

It must seem like

...the boss of your company just doesn’t ‘get it’.

8

We’re going to talk about how management sees technology and how a software engineer can win by seeing technology through the eyes of The Boss.

9

Too often, the tech team is not able to communicate their priorities and concerns effectively.

Bad decisions follow.

Bad decisions hurt the company and everyone involved.

You can help prevent this.

10

Good communication is a two way street, and understanding the other side is of the utmost importance.

11

So, how does the boss see it?

1. Technology is a means to an end

2. Tech investment is about cost / benefit

3. Maintenance is a necessary evil

12

1. Technology is a means to an end.

The boss focuses on the end and usually doesn’t understand the means.

Help him or her understand the means and how it will achieve the end.

13

2. Tech investment cost / benefit

If you think a certain project will yield new opportunities, illustrate the cost / benefit.

The expected benefit needs to greatly outweigh the expected cost because you’re going to overestimate the benefits and underestimate the costs.

14

3. Maintenance is a necessary evil

A big maintenance project is a tough case to make. The benefit to the business is difficult to prove or measure, even after the fact. Trust is paramount here.

Never over-state your case for maintenance, upgrade or optimisation. Educate decision makers as much as possible and let them decide.

Case study: Symfony2Guess who was the biggest advocate of moving to Symfony2?

15

That’s because I saw it both as an opportunity (investment) and a necessary evil (maintenance).

16

Why both maintenance & investment?Maintenance: eventually, we must moveInvestment: moving early has opportunities:

• Learning for the tech team• Easier to attract new talent• Performance• Maintenance• Speed of development

17

Make hay while the sun shinesAt MyBuilder, we happen to be going through a particularly prosperous and stable period. We’ve had upheaval and major challenges in the past, and we will have them again in the future. In terms of timing, it felt like ‘now or never’.We went for it.

18

So, how’s it going?

Over to you, Gavin...

19

MyBuilder’s code base140 Propel models37 Frontend controllers91 Admin Controllers~ 700 Frontend & email templates~ 450 Admin Templates5 custom plugins

20

Preparing the codeChange Coding standards• PHP Coding Standards Fixer broke some of our code

• Netbeans 7.2 format multiple files worked great

Add Namespaces • Netbeans fix uses, ok but time consuming as multiple passes needed

• In parallel we wrote a tool that added namespace/uses automatically

21

Mostly a Rebuild, not a migration• Keeping all our models almost unchanged

• Changing our middle layer as little as possible, mostly converting to services

• Total rewrite of controllers & templates

22

Changing how we thinkSymfony 1 and 2 just share a name.....

Multiple repositories and sharing bundles

We didn’t understand how useful and important services were until Richard from Sensio Labs UK spent a few days with us.

23

7 weeks in, still a long way to go!• 16 Frontend Controllers and their templates done

• 0 Admin Controllers done...

• 2 custom plugins done

We’ll let you know how it all went once we are finished.

24

Thank you!