Top Banner
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Symfony meetup MyBuilder.com
Page 2: 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?

Page 3: Symfony meetup MyBuilder.com

3

Ryan Notz, founder & CEOGavin Love, CTO

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

Ah, who are we?

Page 4: Symfony meetup MyBuilder.com

4

We’re here to talk about stuff

Page 5: Symfony meetup MyBuilder.com

5

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

Page 6: Symfony meetup MyBuilder.com

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.

Page 7: Symfony meetup MyBuilder.com

7

It must seem like

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

Page 8: Symfony meetup MyBuilder.com

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.

Page 9: Symfony meetup MyBuilder.com

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.

Page 10: Symfony meetup MyBuilder.com

10

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

Page 11: Symfony meetup MyBuilder.com

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

Page 12: Symfony meetup MyBuilder.com

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.

Page 13: Symfony meetup MyBuilder.com

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.

Page 14: Symfony meetup MyBuilder.com

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.

Page 15: Symfony meetup MyBuilder.com

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).

Page 16: Symfony meetup MyBuilder.com

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

Page 17: Symfony meetup MyBuilder.com

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.

Page 18: Symfony meetup MyBuilder.com

18

So, how’s it going?

Over to you, Gavin...

Page 19: Symfony meetup MyBuilder.com

19

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

Page 20: Symfony meetup MyBuilder.com

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

Page 21: Symfony meetup MyBuilder.com

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

Page 22: Symfony meetup MyBuilder.com

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.

Page 23: Symfony meetup MyBuilder.com

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.

Page 24: Symfony meetup MyBuilder.com

24

Thank you!