iOSCon is a very relevant event for our mobile dev team who are responsible for developing, testing and improving the Ocado iOS and watchOS apps. The conference, designed specifically for iOS developers, is a jam packed event brimming with hot topics including efficient uses of Swift (the programming language developed by Apple), product design, accessibility and client web API technology, just to mention a few.
Our developers are working with these systems daily, so stepping out to listen to how others approach and implement mobile development strategies can in turn offer inspiration and a new take on the way we develop our own iOS apps. Attending events on relevant technologies also allows us to keep up with best practices and learn from others’ experience using specific systems. This means we are then better placed to continue building upon our own apps to achieve the best possible user experience and functionality.
As a company at the cutting edge of technology, it is fundamental we are open to new ideas and strive to continuously learn more in order to continue developing. Keeping up with modern techniques is critical and also offers a shake up to our current methods and practices, providing the fresh ideas that keep us at the top of our game.
For those of you who couldn’t make it to iOSCon 2017, we asked Ji Song (software engineer and iOS developer at Ocado Technology) for his top five highlights after attending the event in March:
Yusuke introduced Protobuf, which provides a faster type-safe web API solution. Protobuf is a binary serialisation format which provides a robust alternative to methods like JSON and XML, used for backend to frontend communications and APIs. Apple recently open-sourced Swift-Protobuf, a protocol buffer plug in for Swift. This talk outlined how developers can use Protobuf in service and client apps and outlined the potential benefits it could offer over alternative methods.
This talk demonstrated how test-driven development (TDD) can be carried out easily and efficiently within Xcode Playgrounds. TDD can be trying and time consuming, but using a playgrounds interactive environment can make TDD run smoothly. This method also offers an easy way to test third party frameworks. Worth a listen if you believe the playground could offer a fun alternative and make your testing… well, less testing.
Pawel illustrated the power of using generics in Swift, which allow codes to be reusable and readable. This talk offers both basic and advanced examples of generics in everyday use.
This talk gave an insight into how combining different levels of caches ensures a clean code. This abstraction isn’t possible using languages like Objective-C and Java, however with Swift’s strong type system it becomes a possibility. Using the Swift language feature also enables us to make the caches generic.
Dependency injection was named as one of the best modern practices at WWDC 2016, however there are few resources for those using Swift. Yoichi, the original author of Swinject, introduced two useful dependency injection approaches; dependency injection container and cake pattern. These two methods help us manage complex dependency graphs and also provide an easy way to test code effectively.
If you enjoyed these videos why not have a browse through the rest of the skillcasts to see what else this year’s iOS Con had to offer.
Holly Godwin-Thompson, Technology Communications
With thanks to Ji Song
Holly Godwin-Thompson April 25th, 2017
Posted In: Blog
conference, iOS, iOSCon, skillcast, Skills Matter, Swift, TDD, Xcode
‘Public speaking is not for me’ – we often hear this from our colleagues. A fraction of them say ‘maybe one day’, however this day usually never comes.
Having just delivered my first keynote speech at a cross-government conference for product managers, I decided to review the cost and benefit (aka return on investment – ROI) of public speaking. It’s worth noting that both the cost and benefit change over time, so the very first time you go on stage will differ from the next.
The first public speech
This is the one everyone is dreading most and not even thinking past. Just imagining a 100+ strangers staring at you on the stage is scary! In my case, looking at an empty room full of chairs definitely felt frightening some time ago.
So, what’s the investment*?
- Finding the right conference: 1 day
- Putting slides together: 3 days
- Practicing the talk: 10+ times
- Travelling to the place: up to ½ day (and then back)
- Sleepless nights: 3+
- Shaking hands / heart palpitation / sweating score, before entering the stage: 10/10
- Risk of slides not looking or behaving like anticipated: High
- Likelihood of getting out of breath because of talking too fast: 9/10
- Number of ‘uuummmss’ during the talk: 2 per minute
- Risk of forgetting what to say: High
*All the ‘numbers’ come from my own experience.
Anna addressing a crowd
Yep, that’s not cool and it’s a lot of effort to give a speech at a conference. Why do people do it then?
Onto the benefits. The short-term ones:
- Cost of the conference ticket: £0 (hurray!)
- VIP treatment from event organisers: Included
- Awareness of your company during the talk: 95% of the audience
- Level of endorphins in your brain when you leave the stage: overflow
- Number of people wanting to discuss things with you immediately: 5+
- Number of Twitter/LinkedIn notifications after the talk: 20+
- Number of ‘Nice speech’ comments for the rest of the day: 10+
- Ego size at the end of the day: XXL
But this is just the beginning, there are also long-term benefits of public speaking.
Practice makes perfect, as they say. That’s true – the more you do public speaking the lower the cost and the higher the benefits are. Let’s compare the initial investment to the very recent speech I gave. This is after a year full of public speaking events – at the busiest time, there were 3 big events in 1 month. The biggest audience so far: 700 people (well done me!).
- Finding the right conference: 0 days (the conference organisers find you)
- Putting slides together: 0-3 days (you can re-use your slides from previous events)
- Practising the talk: 10+ times (no change)
- Travelling to the place: up to ½ day (no change)
- Sleepless nights: ½ (simply because you don’t want to oversleep)
- Shaking hands / heart palpitation / sweating score before entering the stage: 2/10 (healthy stress)
- Risk of slides not looking or behaving like anticipated: Low (over time you learn that ‘less is more’ and simplify the slides)
- Likelihood of getting out of breath because of talking too fast: 1/10 (you are now taking your time while your audience digests what you just said)
- Number of ‘uuummmss’ during the talk: minimum (slightly higher than in a normal conversation)
- Risk of forgetting what to say: Low (and even when you do forget – you improvise confidently)
The short-term benefits don’t change as such, but there is already a difference in ROI, as the investment is getting lower over time. There will be always some cost involved and it will always increase slightly when you prepare a brand new talk, but the tendency of the investment is decreasing (see the chart below).
The benefit curve has the opposite tendency, but the reasoning is different. It’s the cumulating long-term benefits that make it grow in time.
First of all, public speaking is a great personal achievement, which stretches your comfort zone massively. And if you manage to do it in a non-native language – that’s a bonus point! Your ability to communicate and improvise grows with every speech. That’s a very useful skill for a product manager.
At every event you get a fresh perspective from professionals who are trying to solve similar problems to yours; this includes other speakers who are more approachable if you are a speaker too. Their questions often trigger interesting ideas, which you can then try back at work. Some of them will work, some not, and this is, in itself, a good idea for a conference speech.
Preparing a new talk forces you to think retrospectively – what have you learnt so far, what’s worth sharing, what do you wish someone told you before you started this piece of work? Getting feedback from others might help you correct the course of your strategy or reassure you that you are doing things right. Both are very useful.
Some of your new contacts might invite you to their workplace for a knowledge exchange session. Always say ‘yes’ to that – it means meeting even more interesting people. Growing your professional network is always a good thing, you never know which side the inspiration will come from!
Also, you put a face on your company’s name. It’s not a dry job advert any more, you give away some insider views and help people imagine working for your company. Some of them will then research your workplace and apply for a job. You might never discover this unless the successful applicant comes to you directly. This is what happened in my case. Meet Krzysztof Sowa, who met me at my very first speaking event.
“In November 2015 I had an opportunity to take part in the Product Development Days conference. There were three parallel agendas: business, management, and UX. The last one was the most interesting for me. I remember one story from that afternoon in particular, about how one product owner met the users.
It was surprising that one Product Owner took their development team and spent days interviewing the users. Early ideas, which were based on assumptions, evolved into validated product.
This was the first time I heard about Ocado, and I thought I’d like to be part of the company. Six months later I applied, and a month after that I was discussing new solutions with Anna – a great product owner!”
I am really enjoying representing Ocado Technology ‘out there’ and would like to encourage you to give public speaking a go. If you don’t feel like you want to represent your workplace – maybe it’s time for a change?
Anna Miedzianowska, Product Owner
Anna Miedzianowska January 24th, 2017
Posted In: Blog
career, conference, experience, product management, public speaking, talk, tutorial
We are very excited to announce that Ocado Technology is now a 16-BIT Community Sponsor for Skills Matter. Over the past decade, Skills Matter has grown into Europe’s largest community of coders and developers, gaining momentum in London’s thriving tech scene.
We are delighted we can count Ocado Technology as one of our sponsors and supporters, and are very much looking forward to working with everyone in Ocado’s brilliant engineering team to see if and how we can organise opportunities to share some of the expertise and skills gained in creating the amazing solutions built for this innovative UK business. We know many members in our community are really looking forward to learning and sharing more with you! If your team has cracked a complex engineering challenge and discovered new technologies or approaches whilst doing so, please contact the Skills Matter team with any ideas for a talk and we’ll support you all the way, from proposing your talk to getting on stage. – Wendy Devolder, founder and CEO of Skills Matter
Ocado Technology and Skills Matter have a common vision of innovation-based software engineering that brings smart and creative developers together to learn, share and develop new ideas and ways of working.
Many of my colleagues have attended Skills Matter conferences, meetups and courses in the past and have been very impressed by the passion, experience and engagement that defines their community. Below are two recent examples where Ocado Technology and Skills Matter have worked closely together for the benefit of the software community:
droidcon London 2016
droidcon is one of the best places to meet members of the Android community, listen to expert speakers, find out about all the latest Android advances and see fantastic new technologies. This year Ocado Technology sponsored the droidcon London 2016 party, and Andrew Lord gave a lightning talk on ‘Lambda expressions – An overview for Android developers’.
Other speakers included Chris Banes (Designing the design support library), Huyen Tue Dao (A New View: Layout Editor + Constraint Layout) and Chet Haase (Really important things about the business of technology).
All the talks are now available online – simply go to the event programme and log in.
µCon is a UK-based microservices expo and conference. The event took place on 7th – 8th November 2016 at CodeNode in London. Three hundred engineers and teams gathered under one roof to talk about serverless architecture, protocols, data science and deep learning, kafka, microservices integration, TDD and API, security, AWS, Zipnik, Spring, Lagom… and much more! There were also keynotes from Sam Newman, Adrian Colyer, Russ Miles and Anne Currie.
Clayton Wells, software engineering team lead at Ocado Technology, presented ‘The asynchronous uncoordinated continuous delivery of 35+ microservices’. He detailed the e-commerce element of the new Ocado Smart Platform and explained how we’re building a resilient architecture that is designed to scale based on different customer requirements.
Alex Voica, Technology Communications Manager
Alex Voica December 7th, 2016
Posted In: Blog
Android, AWS Lambda, CodeNode, coders, community, conference, developers, Droidcon, engineering, expo, Learning, microservices, mucon, Skills Matter, software, sponsorship, talks