Presentation Programming

#iOSDevUK: Marcus Zarra – Not Invented Here

Saw woman texting with a T9 phone. Stopped, looked, made sure he saw what he really saw.

Presenting from a phone. First presentation, used a projector. Amazing how far we have come.

Generally known as an opinionated person. Don’t speak in wishy washy words, very boolean. Either believe or don’t believe. If not, just shut up.

In career get feedback, “brash”, etc.

One thing is claiming he has a dysfunction called “not invented here”. Yelled at for wanting to write things himself, not wanting to use other people’s solutions.

Think it’s a problem, being egotistical. Thinking he’s better than everyone else.

In own introspection. Am I really this evil person? Do I need to fix this? Realised no, really don’t. Positive side.

Why he doesn’t like other people’s code. Why he doesn’t like 3rd party frameworks.

Lot of reasons. One that it is not, code quality.

Code quality is a complex subject, not going to put it on one side. Talk on it’s own, if could even fit in a talk.

“All code sucks, eventually. All code suffers from bit rot, no matter what.”

Three points:

  • Reinventing the wheel.
  • Becoming a better developer.
  • Code ownership and maintenance.

Reinventing the Wheel

As an engineer, write a lot of networking code, persistence code.

Whenever start a new project, start from zero. Don’t have a cheat sheet, or a code snippet, or a template.

Write it each time not because like torturing himself, because he knows can write it better. Smarter today than yesterday, especially than three months ago.

Shouldn’t be reinventing the wheel, but iterating the wheel is something that we should be doing. That is what we are really doing when we do that code over again.

Becoming a Better Developer

“Any insufficiently understood technology is indistinguishable from magic.”

Think something is hard, never bother to go out and look. By writing it yourself, disperse the magic. In it’s place you have code you understand.

“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”

Code Ownership and Maintenance

Even though write it today, no guarantee can read it tomorrow. A year from now it’s going to be complete garbage. When write it today, want to be able to read it in a month.

  • Risk management with Apple (they change things all the time).
  • 3rd party framework is like introducing to an unmonitored team member.
  • No guarantee of updates.
  • No guarantee of quality or direction.
  • Risk of App Store rejections.

Happy Medium

  • There is good code out there.
  • Manage your risk: reward needs to justify the risk.
  • Consume the code, own the code, make it yours.
  • Learn the underlying technology before adopting a framework.
  • Stop inheriting other people’s problems.

“You have a problem so you decide to make a framework. Now everybody has a problem”. @secboffin


3 replies on “#iOSDevUK: Marcus Zarra – Not Invented Here”

Ugh. Like I would remember the 5 review iterations and 15 bugfixes that led to those 20 lines of really quite OK code if I had to write it from scratch the next time.

Give me a minute while I work through a small attack of impostor syndrome 🙂

[WORDPRESS HASHCASH] The poster sent us ‘0 which is not a hashcash value.

Comments are closed.