Reactive Conference is bringing you an interview with Andreas Savvides, a Twitter engineer and one of our speakers.

What’s your personal elevator pitch?

I love building software and using my technical knowledge to help make our world a better place. Creating systems with beautiful interfaces that can convey information to anyone, irrespective of their technical knowledge or background, is something I really enjoy. The landscape of front-end development is constantly changing and incredibly fast-paced. Every single day you see something new crop up and inevitably you hear the following words uttered — “It’s the future”. I love learning new things, but I also learnt that not everything can be “the future” — so don’t panic that you have fallen behind when something new appears.

How did you end up being a software engineer?

Being an avid online gamer during my teens, I spent a lot of time in front of a computer — for better or for worse! Naturally, I wanted to learn all about how a computer works and what the process is around creating a game from scratch. I was really keen to take a computing class in high school, but sadly I was the only one in my year, which meant the class was not offered to us as an option. Nevertheless, I went on to study Computer Science at a university and absolutely loved it. Every aspect of building software to solve real-world problems really excited me back then and still does to this day.

What’s the most interesting project you’ve worked on?

That’s a tough question to answer — it’s difficult to single out just one project, as I’ve been lucky enough to have worked on a whole bunch of really interesting and challenging projects at both EDITED and Twitter. I will instead track back to a project that sparked my interest for JavaScript — my Computer Science MSc project. Working as a part of a research group called DIADEM, which aims to automate web object search, I built a system (ProFoUnd) that discovers integrity constraints and “access restrictions” in relation to web search forms by statically analyzing the JavaScript code. I knew very little about JavaScript back then, but my work on this project heavily relied on having a deep understanding of JavaScript as a language. As such, I spent a lot of time working with & understanding the language itself, its features and of course its caveats and shortcomings. When I started working with JavaScript in an AST representation, it put things in a whole different perspective.

Why do you use React and what are the limitations of its use?

To be honest, I was really skeptical about React when it first emerged — I gave it a go at its very early stages and I didn’t quite see the point. I didn’t feel like it gave much over using something like Backbone & Marionette, which was my stack of choice at the time. That was the problem though — I was comparing the “V” from “MVC” to “MVC” itself! So when I started to see and treat React as the “V”, I started seeing its value. What I really like about React is that it’s not an “all or nothing” library; you can use React as part of a larger application architecture, or you can build an app with React at its core. Working and thinking in components is nice — modularity in code is great, but like with all things you need to be careful not to overdo it. Testing React components can still be a bit of a challenge at times. It’s been a lot better since the introduction and constant improvements on ReactTestUtils, especially with shallow rendering. There is plenty more to do in order to make testing a lot easier and more painless, but it’s great to know that this is on the React team’s radar and encouraging people to get involved / contribute.

What issue in the software engineering world should be fixed ASAP?

It’s hard to pinpoint a single issue that should be fixed immediately. This is not specific to Software Engineering in any way, but I am a firm believer that people can do better in all aspects if they treat each other with respect and kindness. The nicer and more collaborative we are, the further we will get. In terms of Open Source, the more we welcome and encourage people to get involved & contribute, the stronger and better communities we will build. React, Radium and Bootstrap come to mind when thinking about accepting and welcoming open-source projects, where people like @zpao, @ianobermiller and @cvrebert respectively each do a fantastic job to make people feel welcome.

How should the tech world address the issue of gender inequality?

To quote HeForShe, “gender equality is not a women’s issue, it’s a human rights issue”. Every single one of us in tech (or any other sector for that matter), irrespective of gender, should be working together towards a more equal world. We can all undoubtedly help by stopping ourselves from being bystanders and actively getting involved in whatever way we can. Support your colleagues and don’t treat them differently on the basis of their gender, colour of their skin or sexual orientation. Diverse teams are the best teams to be a part of — you have a ton more fun, you genuinely enjoy your job and make some real friends for life. I have been volunteering my time for the past year helping Code First: Girls as an Instructor / Mentor in London, developing a curriculum and delivering free programming classes to young women in order to help them enter the world of tech. This is by far one of the most rewarding things I've done in my life.

What will you talk about at Reactive 2015 and what do you expect from the conference?