How to get to work on Facebook, why the world's largest social network has such a terrible interface, when Zuckerberg arrives at KPI and how to study programming correctly - we talked about all this with KPI [@politehnik] from Facebook office in London
Alexander Kotlyarsky [@ w1nter].
Hi Sasha. How are you doing in London? We do not take you away from work?')
Hello! Things are going great, spring has finally arrived in London, and instead of a dark gray sky, we see the sun every day. You are not distracting from work, but I'm a little tired after the hackathon, which has just ended.
OK, then let's go. First question: how did you get on Facebook?Last year, representatives of the FB came to Kiev to conduct a hackathon. It was the second "global" hackathon outside the states. I went to their presentation, they told me how they work, about internal culture, etc. For the first time I thought that Facebook is hiring people, and very, very small, but still there is a chance to get there. And most importantly - this is exactly what I want!
Then there was a hackathon, I didn’t take a prize there, but after a month the recruiter came to the contact. And away: three technical interviews, several non-technical, checked my recommendations. Then a phone call that I received an offer, then a problem with an H1B visa, then an offer to the London office.
And why the proposal to London, and not to the headquarters in California?When I received the offer, the quota of working visas to the States (
H1B ) was over, there were two options: wait a year or start in London. I, of course, chose the latter.
Tell us about your programming experience. What qualifications can I get in?Turbo Pascal (where without him) mastered in the 9th grade, took part in school competitions on "computer science" (exactly in quotes). The university began to do it more seriously, freelance from the 2nd course, on the 3rd he went to work as a programmer. He took part in university competitions, but there were no special achievements. He did it rather for fun.
I want to note that I was lucky with the interview. I was perceived as New Grad'a (only from uni) and the threshold was somewhat lower. Usually, as I was told, the tasks and requirements are difficult for people with experience.
The necessary qualifications - I would say, to understand the basics of Computer Science, to be able to quickly solve problems, to understand what can be done better and faster, and what is impossible at all. There was no specific requirement for a programming language; interviews are usually conducted in the “language” of the candidate. A lot of attention is paid to the written code.
Have you had any language problems? And generally with adaptation in a foreign language environment.With language double problems. At first it was unusual to be in an environment where no one understands either Ukrainian or Russian. I am very glad that in the 5th year of study at KPI I went to English courses - those 6 months gave me more than the whole school and university. I also sometimes talked with employers from other countries (freelancing). And double problems because in the UK they say quite differently than in the USA. Still getting used to their accent.
What is the internal kitchen fb? Give insights about Palo Alto, Zuckerberg, office organization, corporate culture of FB.Acquaintance with the headquarters began in October 2012, when I was sent there to bootcamp (training course for noobs). The campus is huge, a bit like KPI - a wide road and buildings on both sides. On the territory there is everything that you can imagine - eight catering establishments (of course free: two large canteens, pizza, burrito, hamburgers, sushi and a sweets shop), a bank, a hairdresser, a bicycle repair, a first-aid post, a hefty monitor on the whole wall.

About the organization of work - programmers are sitting in wide open spaces, each has a corporate laptop (Mac or PC), a 22 + monitor. The furnishings are a bit like a garage - wires and ventilation shafts hang from the ceiling. Walls, ceilings, stairs - all painted in graffiti. Everywhere you can find amazing things - from inflatable bananas to bar counters and gaming machines.
Zuckerberg makes an impression of a very purposeful person. Despite his position, he is very simple - he sits in openspace with everyone, walks in jeans and regular sneakers, drives an inexpensive car. Saw him several times in the dining room, where he stood in line with others. If you didn’t know by sight, you wouldn’t say that he is the CEO of a global company. Every Friday, Zuck (Zuck) conducts a Q & A, he can ask any question.
All corporate culture chips will occupy a medium-sized book. To begin with, the culture expressed in words is no longer a culture - it needs to be seen and felt from your own experience.
One of the most important elements is HACK - an approach to software development and not only. This is one of the terms that I find difficult to explain. The idea is that by focusing, the programmer can create something significant in a very limited time. Scrames, adjiles, estimeyty and "working hours" I forgot how terrible a dream. Every six weeks we have an internal hackathon where everyone can work on what they want. Usually, new features and useful internal systems are born during such events.
A programmer’s manager can only be a programmer. After the bootcamp, everyone chooses which team to go to and work on.

Another feature is that we all use FB, it is deeply integrated into all tools. This gives a very important social element - colleagues cease to be just names with an email address, and open up as interesting personalities. Especially when you communicate with them through half-planets.
An interesting observation about the Tasks Tool is an internal taskbar tool for working with tasks. I remember how several years ago we tried to launch the
Redmine task management system in a Kiev IT company. There were many rallies and discussions, people painted crazy workflow charts, and there were so many debates about which states are necessary for tickets, how transitions should work and who has what rights to projects!
Facebook is an international organization with about 5,000 employees. In the internal system, tasks have only 2 states - Open and Closed. There are no divisions of access rights. Here it is, a simple genius! Of course, the Tasks Tool is just an example, but I hope it is enough to follow the trend.
And a few random things: the chat rooms are called completely insane names (my favorite ones are AF KATYPARRY, BENDZANDRIN FAULT TOLERANCE, SON OF PING AND PONG, JUST CANT GIT ENOUGH, STARSHIP TROOPERS, SPAM SPAM SPAM AND SPAM) We spend one working day a year playing games in nature (game day), on the roof of one of the IPC buildings is a QR code that can be scanned on Google Maps, in the code-review system you can use memes and gifs.
Is it not forbidden to hang in social networks while working? Do you have any sites blocked (for example, VKontakte)?Facebook, especially Groups, we often use for work. My abstract average colleague spends about 2-3 hours a day in FB.
No, the sites do not block :)
Are there many of ours (Ukrainian, Russian)? Is there a KPI student?There are even more than I could think! There are about 20 + Ukrainians in Menlo Park and three in London (two of them are graduates of KPI). Butkamp in October, I passed along with another KPIshnik. There is even a group of "Russian-speaking" in the FB (about 80 people).
Do you have enough time for your own projects? For example, Google employees are even obliged to spend part of their working time on their projects. How with this in? Give a link to your projects, if any.The place of the Google 20% of the time is occupied by the hackathons, where you can work on anything. At the last (tonight!) I made a
small game (HTML Canvas / socket.io). Own projects in the state so that you can share the link, not yet. From time to time I work on an application for iOS (about which I will tell you another time), I take courses at
coursera.org .
Immediately the question in the topic: when in FB there will be a NORMAL application for mobile devices?To begin, perhaps, from the very beginning, FB was not a company that develops applications for mobile (such as, for example, Path or Instagram started). All software development processes were oriented towards the Internet, with which you can move very quickly: I noticed a bug - I sent it with hotfixes, I wanted to experiment with features - this can be done in almost real time.
To quickly go mobile, in 2011-2012 our app was 90% written in HTML, which allowed us to spend more than one hundred iterations. Then began the process of rewriting the native code. In mobile development, things are not as simple as on the Internet — application distribution channels are controlled by Google and Apple.
iOS app is pretty good, with Android, the situation is a bit worse. The reason, of course, is the large variety of devices and versions of system software, as well as the complexity of the FB as an application. By the way, the team that optimizes Facebook for Android works in London.
And what exactly are you doing in the FB? What do you develop (backend / frontend), what tasks do you solve, what tools do you use?When I moved to London, the iOS team was not here, and I joined the Internal Tools. We are developing tools by which two thousand engineers can easily manage a site with a billion active users. I work on both the frontend and the backend, I use HipHop (PHP dialect,
open-source by the way ), HTML / JS, sometimes Python.
Comment on the words of Durov to work in corporations.To each his own. In this case, I agree with Durov: corporate life, outsourcing, all sorts of scars and ajails in most cases make an interesting routine out of an interesting profession. People just forget how to play and write fan code.
On what conditions would agree to work in the VC?I remember the day when I went to the presentation from the FB, in front of the hackathon. Then I literally felt how everything in my head fell into place, I realized that the values ​​and culture of FB is what I need, and I want to work with these people. I would agree to work in the VC, if I felt the same correspondence.
And how in FB look at VK? Is he perceived as a serious competitor? For example, drag-n-drop images in the FB appeared relatively recently, and in the VC it ​​was already a long time ago. Does the FB follow successful decisions of competitors?Of course, VC is perceived as one of the main competitors in the territory of the former USSR. It is very difficult to conquer this market, because a) FB was originally created for the Western mentality (note, for example, with which FB fanaticism relates to privacy), b) VC has free music and video, “ours” are not used to paying for content.
I am impressed by the minimalism and functionality of the VC interface. And although drag-n-drop is very convenient, I doubt that at least 1% of the billion users of the FB use it (by the way, we need to check it out). As they often say here - focus on impact.
And since I started talking about interfaces. A question that can not be asked: who is developing a web interface FB? Why is the most popular social network of the world has such a terrible interface in terms of usability?There is no surprise here: the web interfaces are developed by designers from Menlo Park, then the engineers implement it and conduct a large number of experiments. I will not comment - I am not a great specialist in design and usability. FB is a large and complex system, it is very difficult to express it in a simple, functional, and most importantly, understandable interface for everyone (at the expense of the latter, it is impossible at all). And also people who don't like something usually talk about it much “louder”.
OK, we ask it at Zuckerberg. By the way, is it really to be brought to KPI? I would give a lecture on "How to take over the world."I think it is almost unreal. He works a lot on things that are crucial for the company, and a visit to Ukraine is hardly in the first lines of his list of priorities. Other representatives of the FB - much easier. I spoke with people who organized the hackathon in Kiev, and they are interested in repeating it again.
Will wait.If it's not a secret, what is the level of wages on Facebook? Compared with Kiev (at least approximately - well, there is 1.5-2 x average salary of the Kiev Siniora).It is no secret, the level of RFP can be easily googled, and the
results are quite relevant. The figure, as for Ukraine, is significant, but it says nothing without context. Taxes (30-35%) and the prices of life rise in proportion to wages, so I do not expect to wake up a millionaire in a couple of years.
What do you advise young programmers? How to effectively study programming skills that swing?The most important advice is to find tasks that are interesting to work on, ideas that you could spend all night on implementing just because it is exciting. You can try the Olympics and hakaton, but it is also important to be able to find them in everyday life. Here you have the first challenge - how to turn a boring laboratory into something amazing? Can it implement it in a new programming language for you, or use unseen visualization tools, or fit it into 1 KB of code? Often interesting ideas come when to set yourself difficult, and it is better in general unrealistic tasks. And when the multiplication of matrices turns into the development of an interactive game, your skills begin to grow imperceptibly and very effectively.
The next tip is to do something together. Studying in a group is much easier and more fun, and teamwork experience will come in handy in the future. Do not be afraid to share ideas.As for specific skills and technologies, this is not so important. In the West, they appreciate T-shaped developers, that is, those who are very well versed in one technology and at the same time have a wide range of others. In addition to programming, I advise you to master the basics of graphics and design, this one is often useful.
And the last. Programmers are very lucky, they are wizards of the 21st century. They can transfer thoughts to another continent in a split second, create real things from nothing, animate objects. It's pointless to spend your unique talent.
How did the training in KPI help you? What time of study here do you value most? What would change if you studied, for example, at NAU?It is difficult to answer hypothetical questions. I think that I was very lucky with the university. KPI is a unique combination of student spirit, a beautiful campus and talented people. I think it is not a secret to anyone that Ukraine is “slightly” behind in terms of technology and IT training base, but I am grateful to the teachers who contributed to my development.
And I am infinitely glad that I got to the hostels, where I found wonderful friends and learned a lot. Invaluable experience. Often with a smile I remember those times.
What else did you want to say, but we didn't ask you?By FB, I considered myself a fairly good programmer, but now I understand how much is still to come!

From the translator,
Facebook office
in Menlo Park in charts on Habré.
Update: Sasha [@ w1nter] has already joined the community and will be happy to answer your questions in the comments.