Everyone in tech has heard of RealVNC. As the company that pioneered the VNC internet protocol that is now the standard across the industry, RealVNC is at the forefront of its evolution, with software in over 1 billion devices worldwide.
We spoke with RealVNC’s Head of Engineering Gordon Griffin about what’s next for the company and the kind of people they’re looking to hire.
Where did your tech journey begin?
As a kid, I was a typical geek in his bedroom. I started on a ZX81 when I was 12, graduating to a Spectrum to a PC and learning programming languages. Instead of having a Saturday job stacking shelves in Sainsbury's when I was 16, I was running a software development firm, building systems for friends and relatives.
What was your first programming language?
I got into C, a proper hardcore programming language. When you messed up, you overwrote the interrupt table, and the whole machine died in a spectacular fashion. It taught you to be careful, to understand the basics, and to understand how the machine worked, and build from there.
That's really been fundamental to how I've run my career from then on. I've always gone from “understand the basics” and then everything else builds upon it.
Tell us about RealVNC
RealVNC are secure screen sharing, remote access, cross-platform. We are going through the next phase of our growth. Having been around for 20 years, we invented the screen-sharing game effectively. We are now transitioning into an exciting phase with rapid growth.
You recently joined as the Head of Engineering – what did you find interesting?
I saw that as a very interesting opportunity to be a part of the company’s next phase, to use my experience to help that happen. This is probably the first time I've ever joined a company where my former colleagues have all gone, "Oh, I know them. I've used them." It's got great recognition in the tech community, and it deserves more recognition.
What would technologists find interesting about RealVNC?
What’s particularly interesting about RealVNC and the technology is that we’re cross-platform, and I mean truly cross-platform. This is not a website that also happens to have a mobile app. You go to an online shopping system, and you've got the website, you've got the mobile app, which basically does a cutdown version of the website, but a user is only using one of those at any one time.
The use case for RealVNC is, fundamentally, I'm on my phone connecting to a Windows PC, or I'm on my Windows PC connecting to a bunch of Linux servers and working with those, or I'm on my PC connecting to someone's mobile phone, helping them with that, helping use their mobile phone.
Everything that we do, as we're working on the technology, is cross-platform. Even if you're working on the APIs of the cloud services we run, they are being accessed by Linux, Mac, Windows, iOS, Android, and it must work across the board.
When we talk about working on those different platforms, we're not just compiling our code to run on Windows or run on Linux. We are in the guts of what those platforms do. We are doing things to those platforms that the platform creators didn't intend, sharing screens, blanking screens, shoving keyboard and mouse input across the internet into a machine. The guys that wrote Linux and Windows and the mobile OSs didn't intend for that to happen. So, we need to be really close to those platforms. We're into them in a much more intimate way.
We're fundamentally a security company. A lot of the stuff we're doing is highly security related, relevant to that. Absolutely everything we do has a security slant on it. That should be particularly attractive to a lot of people.
What kind of person do you look to hire?
I am really focused on growth of the people we hire. I’m really interested in understanding what interests each individual, what their ambitions are, and helping them to drive towards that, be it becoming a better developer in one technology, one platform, or becoming a broad developer across many platforms, moving more towards architecture or team leadership and management.
Beyond that, the basic table stakes are understanding of the technology and the language and understanding the tools of the trade. But beyond that, the ability to really understand what's going on, and really reason about that, and understand the why.
That's what a good developer will do. They'll understand the context of the task, and in doing that, they'll bring the right solutions to the right technologies, and they'll avoid a lot of the problems because they'll understand the fundamentals of running a system.
What is it like to be a part of your engineering team?
Most of the work we do is not an individual churning out a particular feature. It is very collaborative. We run Agile in a pragmatic way. That fundamentally means lots of interpersonal communication.
There's relatively few features that we implement that are just done within a team, because it's all cross teams. So there's much more communication. There's much more variety of technology involved. There's opportunities to dip your toe into different technologies. We've had people move from desktop to mobile and vice versa. It's a diverse and interesting use case.