Merken

Lessons Learned after 190 Million Lessons Served

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
OK everybody very have files people today it's got about the of good but what lessons learned after 190 million listeners through fj like the optimum thank you for coming in I'm here to talk about some of before anything else I have to say that I am new to you mean all most of what I'll what I'll describe happened before I write what I'll talk about this there for the work of other people and the lessons however but I think they stand on their own what this is where we are now you it was
founded in 2010 and in 6 years he grew to 11 million students 40 thousand courses you work 20 thousand and instructors in EU languages the 109 million lessons of number I use for the battle was together from a table attracts student watching a review
that lesson 1 it's about preserving the our culture as we grow where
learning company and learning it's in our DNA for any help your organization preserving its cultural is essential to its well-being what I'll talk about this about engineering team or 2 teams have different uh different things they do well we very serious about onboarding new employees the idea is to get out a new hire from the new higher to productive and in
the shortest possible time we use extensive automation have standardized Development Environments there are about environment that's reasonably flexible and if you really want to you're able to deploy our website on your 1st date I did that in the 1st week then I can do it we learn and teach ourselves using our own tools there argued in a courses about the repetitions from the user perspective from the back and to that are given by own team so you can hear about applications as it is described by the people who created we also communicate a lot we have hundreds of people in tree continents and we spend 11 times we all slack we use a chart until was like yesterday literally we just moved we also used from we have the usual standouts grooming sessions we also have handout figure out as we can do so we conducted all hands meetings on handouts or other solutions if we have too many people every meeting room is capable of joining and out we have a big screen camera and microphone so we can join have meetings we can have easily meetings that spend more than 1 in 1 place or right like if it before we commission with the ultimatum the quality checks
we can't commit but we call 0 so we can't commit code with 1 extra line we can't commit code with missing spaces we can't push the rope code that
means difference the basic set of tasks before we are a lot from control brush to commit it's like a so still anyway and you can't manage your code doesn't last very extensive set of tests so yeah absolutely sure that when you merge approach you will not break anything also we also use custom tools custom django admin scripts goes to the generating commands to help prevent accidents so if you want to have series of records in a series of objects in the video store you will not be handed sequel or my sequel price In fact it's very few people who have that kind of answers instead you have you do that true code that's reviewed with someone else that's known to be I want to say but freedom but probably is less to create a new typing sequel commands on the mice equal prior or even though we do we go to such great lengths to prevent that some accidents happen I myself lead to the shared database on my forced me for and companies I was out of the Dublin office from B was surfaces and I deleted 1 of our shared databases not production environment developed environment but thanks to me the whole development team with the suffeces profits of very large actually that had a mandatory of because no 1 could do anything yet there is some room for improvement what we can do
that well we have the cheerleaders were working now to have the individual database for everyone we're just enough data so you can so that you can run your development with meaningful data we also constantly make improvements to our development so we add all the time we had code that makes it easier to develop we have extra checks we have some extra functionalities that were not there before uh personally last week thing you know well last month I added the a bit of code that made sense objects represent themselves in a nice way on the terminal on the prompt it was a horrendously complicated logic and by that I had someone lessons my cognitive
workload so might with my but are somewhat limited brain I could wrap it around a very complicated problem without having to worry about imagining what the objects look like could just bring them on the screen and have a look into the the 2nd thing the 2nd lesson is that as you grow you start to you you have to look all the time should we should be measuring everything anyway when you drop you will start measuring measuring it invoke so and then replication
would have generates uh collects metrics about themselves about itself we collect those method In the huge not Facebook huge it's still a pretty impressive scale for that we use stuff like simply uh bit DogOnt shortly this is not aware of this is considered something important to us these applications are good enough so you don't have to develop them again these guys are so for a little longer than a century for our alerts local analytics Muslim prompt this expect constantly monitor also we have a huge user base where that comes the possibility of doing extensive tests in experiments where you enable some feature and you can track from the text of the user base
the apes to travel of of people coming you have good quality data and we can actually new
how something will impact us well before we they at the whole user base this way surprise or minimize which is good and what I can which surprised that also allows users to have early warnings but if something starts to be here if you see the
distribution state of execution time given function and you have a peak at like 100 ms then you start developing a peak at 0 ms you know something is wrong so you can watch those distributions on to like the about and to this day there must be a timely we must receive it uh soon after its collectively we can we must be able to see it immediately are this large user bases all it's convenient because it generates a lot of the data we can analyze but it also amplifies any trend very quickly and you see it's really not good for you if you only know what caused an outage will go through a week of certain you don't want that we want to know if possible before going too fast the yeah I suspect you'll like this 1 it's about questioning and uh being a bit of willing to abandon this approach let
me say that they Netscape in this case delay that new version by 3 years they did it by making the single worst strategic mistake that any software company and make they decided to rewrite the code from OK this is joint force who knows you're supposed to
be what traditional know him he's a pretty clever guy are too great a lot of stuff use dealing like travel or StackOverflow squeezes that overflow here come on no I don't believe you know everyone and that OK descended in an article that this things you should never do that everyone should read even if you want to disagree European later like yes we moved from PHP we had a large PHP applications built on a custom made framework created by designed internally by phone the who here has a chance to build their own framework who thought at that time it was a good idea cool regrets that now OK where did but this is a problem because new hires has to be trained on the framework we have never seen and it takes a long time and Tyson expensive resources times engineer that's already trained on entering genuinely tied the knot yielding useful things useful things for the business useful features of things users are demanding so that specific always have very little text with the lack of tests maintenance becomes what can remind you uh and the fear of breaking stuff and not seeing it until it goes into production or worse yet under the corrupts use of data will drive you to about a very careful approach you will always you end up opting for safer changes instead of using instead of writing some more maintainable more elegant more performance growth you might even be be tempted to replicate side effects of the previous implementation of the fury you break something you're not seeing and obviously this makes developments slower work and more expensive so what did they do and I say they because I arrived right after the the migration was finished so I didn't even see that happening on it's such a shame of love to see that
but to be able to delete some speech because so what did they do uh no they didn't jump for the 1st technology or the technology was the most they actually create projects and evaluated evaluated the various options the bigger small proof of concept project with each of those and with what they learned the guided decisions they looked into how easy it was developed for that but from what the knew how well the platform encourages good practices and how easy it it would be be to 1 board new engineers
yes so this is a serious problem it's not a a lot of resources was put behind it but in this 2nd lines they agree on Goals they did that because because if the company dependent because actually there but I am I know you probably have guessed which technology they chose because they wouldn't be here talking about that I would be 1 new Conf for something or some other conferences selling stuff instead of here but what you you got what
and what a beautiful environment time and I have the luxury of working with a a well we got some modern all gender-based applications and it runs in Python 3 . 5 engine 1 point we are considering the move to general 1 . 9 it also allows us to board engineers much weaker because drivers of opinionated framework and you don't have to teach every decision we made every decision you made a lot of decisions
already Baikonur we have 80 per cent of test coverage
that's not perfect we can do we probably will improve the 1 of
the things is that we can't commit cold we can't merge codes if we merge the code coverage goes below a certain threshold I have versus decision of the prize myself In the end it's for group with fall that we had also a lot of new features we have
a more consistent codebase which is what a punitive frameworks frameworks off for and while there some of course this and the thing that was migrated their some partition where HP engineers who exist some table names are the bit also some members of the interesting and a do we have some special through time so that and some parts we have to find 2 flight genders
opinions and let me tell you generally is very persistent in fighting back who wanted to find that so you want come some reason and the and what we did we learn from them well the migration call while still with 2 years 2 years we started sampled engineering team dedicated to it was done incrementally feature by feature and there's a motivational thing on that you're doing the team involved in the team responsible for the migration a track the progress by counting the lines the actually deleted this is why I'm wearing this station they call themselves the the the 2 meters which pride this that I borrowed the teacher I didn't believe in which be like so all the time the website was up and running and it was so as you would browser pages you would see and I a hybrid PhD General Hisham showing you your page showing the data you were used to also from since everything was
changing minds of this will minds that would have to change so that's where the ultimate automated checks come from so instead of ending up with 4 and and that's a very good basis being forced some things that they consider mistakes the learned from the pitch people and the works against the impulse
to allow the the gender code base to be like that there's also lesson here this is about the importance of the mission the mission start you we are learning we exist to help anyone learn anything that's quite this also means that anyone can
teach something to anyone else we all have things we like to talk about a lot of patience we
all know all about stuff that you would like to teach other people if you could or the of stuff would like to know more if only we could find a person who could what is the impact about 1 3rd of the students on starting drawing their own business using
LDA knowledge they acquired through the blood flow from the we also have lots of people who became full-time instructor to instructor cool basically
change careers from being something of teaching that something they like love to do should be the 1st step use the proportions of story of all you can be changed the lives of those people and alter 1 of those stories not 1 of that's on the that change those sheets of well cover the story as it was told to me by my colleague Aaron who actually knows this smiling nice guy these Smith the analyzed
century as a copyright he wrote of ads for companies like a formal BBC idea in and after this lifetime career he decided it was time to retire and to keep himself using those his curiously winding down this company his career he got involved in
the and you decide to start little I can start teaching people to write a proper copies well it turns out the probably didn't
retire because as of now I guess Todmorden 6 50 by 50 56 thousand students
I myself was very impressed with his number because I was once a teacher and my largest class like 50 students 50 60 students all 4 cost 2 20 classes 20 we collect if I were to get close to what is this time did after here it would take me for 500 years to do that this is the Annex the 500 that's probably but when I read the stories when I read the messages our internal e-mails sent forward that our students and I see that our mission is very very important In the end everything we do everything we do it through the meat and everything we all do here at your Python is about the people is about community it's about people it's about teaching it's about learning and sharing this is what we do thank you at fj old 1 more thing on this you In case you might cost if you use the important this 4
0 code you'll get a fortress and this discount fused
any questions OK the beginning of this kind of thing get 80 I know nothing about gender but he said that you have defined the framework back Gyoza look at an example like and I not the 10 Jan unit of framework so it assumes you want to do stuff in certain specific ways I know it's no longer the case but the good example I can bring this from I think a long time ago underlying matter that situation I wanted to I was doing in image bank for portal and we wanted to save the images in your original in the way that they would be duplicated with which which meant we would change the use the file name that was applauded 2 different ones and they require that they would place it on a different folder then what gender wanted to do it took me like 1 week to build the application and 3 weeks to build the logic to allow the application to save the file where we wanted them to and it was really really got at that anyone else hi you said that the jungle and we old speech because coexist it's sometimes right to you probably couldn't to of Interspeech also can expand this a bit more like you probably couldn't use internal jungle wrote system and other features like how did you may still do is due to the court for all systems coexist the Django and PHB shared the same database with the same the that that's why do we have some strange table some parts of some all the parts of system you overall thing was done both on the web server an agenda locations so some some of the Urals will direct you PHP application some the same due to the general education Is that what you want all up after you lunch fully jumbled and you have to do some cleanup because yes absolutely this is hard coded some of the wealth and there as the as the pitch because was being removed and the rules the century uh the code itself it was deleted from the consideration many more questions so is plant but I can clarify the rooting what we did is we had an engine x front-end and we had roots customer to giant rooting table and the that was selectively with traffic to the diner laughter on them back to the PhD at me too slowly to the to those roots in more more beautiful to know and especially shipped over without doing big bang release so things went wrong we could just simply add to the park and went back to the HP up again than so and you will latent topics that thing you can do the few
Elektronische Publikation
Computeranimation
Videokonferenz
Einheit <Mathematik>
Zahlenbereich
Formale Sprache
t-Test
PASS <Programm>
Content <Internet>
Zahlenbereich
Computeranimation
Tabelle <Informatik>
Web Site
Pauli-Prinzip
Selbst organisierendes System
Kartesische Koordinaten
Computeranimation
Schlussregel
Ultimatumspiel
Netzwerktopologie
Verbandstheorie
Rechter Winkel
Perspektive
Programmierumgebung
Figurierte Zahl
Hilfesystem
Touchscreen
Standardabweichung
Subtraktion
Fortsetzung <Mathematik>
Raum-Zeit
Code
Computeranimation
Videokonferenz
Task
Datensatz
Flächentheorie
Datentyp
Skript <Programm>
Softwareentwickler
Speicher <Informatik>
Maßerweiterung
LES
Gerade
Softwaretest
Dicke
Datenhaltung
Systemverwaltung
Reihe
Objekt <Kategorie>
Arithmetisches Mittel
Menge
Gamecontroller
Programmierumgebung
Lineares Funktional
Bit
Datenhaltung
Soundverarbeitung
Programmierumgebung
Code
Computeranimation
Datenhaltung
Objekt <Kategorie>
Beanspruchung
Softwaretest
Informationsverarbeitung
Code
Datenreplikation
Radikal <Mathematik>
Softwareentwickler
Softwaretest
Facebook
Linienelement
Güte der Anpassung
Linienelement
Stellenring
Kartesische Koordinaten
Analytische Menge
Computeranimation
Softwaretest
Maßstab
Distributionenraum
Messprozess
Maßerweiterung
Ereignishorizont
Distributionstheorie
Lineares Funktional
Objektverfolgung
Linienelement
Rechenzeit
Computeranimation
Softwaretest
Twitter <Softwareplattform>
Maßstab
Stützpunkt <Mathematik>
Messprozess
Ereignishorizont
Aggregatzustand
Softwaretest
Soundverarbeitung
Mereologie
Knoten <Mathematik>
Mathematisierung
Güte der Anpassung
Versionsverwaltung
Implementierung
Kartesische Koordinaten
Biprodukt
Framework <Informatik>
Computeranimation
Softwarewartung
Software
Forcing
Pufferüberlauf
Code
Migration <Informatik>
Datenreplikation
Softwareentwickler
Versionsverwaltung
Softwareindustrie
Wechselsprung
Konfiguration <Informatik>
Beweistheorie
Sprachsynthese
Projektive Ebene
Systemplattform
Gerade
Whiteboard
Computeranimation
Entscheidungstheorie
Konfiguration <Informatik>
Softwaretest
Punkt
Druckertreiber
Simulated annealing
Framework <Informatik>
Kartesische Koordinaten
Programmierumgebung
Framework <Informatik>
Whiteboard
Computeranimation
Entscheidungstheorie
Schwellwertverfahren
Framework <Informatik>
Codierung
Gruppenkeim
Code
Computeranimation
Entscheidungstheorie
Web Site
Bit
Simulated annealing
Systemaufruf
Partitionsfunktion
Framework <Informatik>
Computeranimation
Homepage
Spezialrechner
Weg <Topologie>
Arithmetische Folge
Geschlecht <Mathematik>
Migration <Informatik>
Mereologie
Endogene Variable
Arbeitsplatzcomputer
Meter
Hybridrechner
Gerade
Tabelle <Informatik>
Hinterlegungsverfahren <Kryptologie>
Softwaretest
Geschlecht <Mathematik>
Antwortfunktion
Basisvektor
Code
Hilfesystem
Computeranimation
t-Test
Computeranimation
Mathematisierung
Datenfluss
Computeranimation
Formale Grammatik
Automatische Differentiation
Computeranimation
PROM
Klasse <Mathematik>
Dezimalsystem
t-Test
Zahlenbereich
Flächeninhalt
E-Mail
Message-Passing
Computeranimation
Umwandlungsenthalpie
Bit
Datenhaltung
Kondition <Mathematik>
Schlussregel
Sprachsynthese
Kartesische Koordinaten
Physikalisches System
Elektronische Publikation
Mathematische Logik
Framework <Informatik>
Code
Computeranimation
Eins
Benutzerbeteiligung
Einheit <Mathematik>
Geschlecht <Mathematik>
Mereologie
Server
Wurzel <Mathematik>
URL
Bildgebendes Verfahren
Tabelle <Informatik>

Metadaten

Formale Metadaten

Titel Lessons Learned after 190 Million Lessons Served
Serientitel EuroPython 2016
Teil 50
Anzahl der Teile 169
Autor Bánffy, Ricardo
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/21212
Herausgeber EuroPython
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Ricardo Bánffy - Lessons Learned after 190 Million Lessons Served What we learned along the way - processes, organization, technology and people - from 0 to 11 million students, 40 thousand courses and 20 thousand teachers.

Ähnliche Filme

Loading...