Lessons Learned after 190 Million Lessons Served

Video thumbnail (Frame 0) Video thumbnail (Frame 1286) Video thumbnail (Frame 1886) Video thumbnail (Frame 3203) Video thumbnail (Frame 6353) Video thumbnail (Frame 9988) Video thumbnail (Frame 11603) Video thumbnail (Frame 12657) Video thumbnail (Frame 14132) Video thumbnail (Frame 14971) Video thumbnail (Frame 17209) Video thumbnail (Frame 17840) Video thumbnail (Frame 22382) Video thumbnail (Frame 23762) Video thumbnail (Frame 24741) Video thumbnail (Frame 25682) Video thumbnail (Frame 26637) Video thumbnail (Frame 27508) Video thumbnail (Frame 29795) Video thumbnail (Frame 30450) Video thumbnail (Frame 31229) Video thumbnail (Frame 32023) Video thumbnail (Frame 33524) Video thumbnail (Frame 34309) Video thumbnail (Frame 35004) Video thumbnail (Frame 37352)
Video in TIB AV-Portal: Lessons Learned after 190 Million Lessons Served

Formal Metadata

Lessons Learned after 190 Million Lessons Served
Title of Series
Part Number
Number of Parts
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
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.
Computer animation Computer file
Number Execution unit Computer animation Mountain pass Student's t-test Content (media) Videoconferencing Table (information) Formal language Number
Metropolitan area network Rule of inference Ewe language Standard deviation Touchscreen Multiplication sign Online help Lattice (order) Cartesian coordinate system Perspective (visual) Arm Emulation Variance Ultimatum game Computer animation Integrated development environment Network topology Pauli exclusion principle Moving average Self-organization Website Right angle Figurate number
Game controller Sequel Code Length System administrator Set (mathematics) Arm Value-added network Emulation Product (business) Wave Different (Kate Ryan album) Videoconferencing Moving average Software testing Series (mathematics) Extension (kinesiology) Task (computing) Scripting language Metropolitan area network Surface Software developer Data storage device Database Line (geometry) CAN bus Type theory Arithmetic mean Computer animation Integrated development environment Large eddy simulation Object (grammar) Spacetime Row (database)
Functional (mathematics) Code Multiplication sign Software developer Code Database Bit Database Replication (computing) Cognition Sound effect Radical (chemistry) Workload Computer animation Software testing Integrated development environment Object (grammar) Optical disc drive
Scale (map) Metric system Distribution (mathematics) Analytic set Cartesian coordinate system Measurement Facebook Goodness of fit Event horizon Computer animation Googol Software testing Software testing Metric system Local ring
Scale (map) Distribution (mathematics) Functional (mathematics) Metric system Run time (program lifecycle phase) Distribution (mathematics) State of matter Military base Twitter Measurement Event horizon Computer animation Googol Personal digital assistant Software testing
Implementation Forcing (mathematics) Software developer Multiplication sign Code Sound effect Knot Mereology Software industry Cartesian coordinate system Software maintenance Replication (computing) Product (business) Revision control Human migration Goodness of fit Mathematics Computer animation Personal digital assistant Software Revision control Software framework Software testing Buffer overflow
Proof theory Computer configuration Computer animation Computer configuration Decision theory Projective plane Speech synthesis Whiteboard Line (geometry) Hydraulic jump Computing platform
Point (geometry) Metropolitan area network Consistency Multiplication sign Decision theory Device driver Coma Berenices Cartesian coordinate system Simulated annealing CAN bus Computer animation Integrated development environment Software framework Software testing Software framework Software testing Whiteboard
Octahedron Group action MUD Computer animation Code Decision theory Software framework Software testing Thresholding (image processing) Code
Web page Metre Trail Dependent and independent variables Gender Multiplication sign Computer-generated imagery Workstation <Musikinstrument> Bit Line (geometry) Mereology System call Simulated annealing Human migration Computer animation Hybrid computer Computer cluster Website Software testing Software framework Table (information) Arithmetic progression Partition (number theory)
Impulse response Computer animation Code Gender Software testing Basis <Mathematik> Online help Complete metric space Commitment scheme
Computer animation Student's t-test
Dataflow Mathematics Computer animation
Metropolitan area network Computer animation Multiplication sign Formal grammar Automatic differentiation
Metropolitan area network Message passing Email Computer animation Personal digital assistant Multiplication sign Programmable read-only memory Grand Unified Theory Student's t-test Area Number Social class
Server (computing) Computer file Code Multiplication sign Execution unit 1 (number) Mereology Rule of inference Web 2.0 Medical imaging Latent heat Root Software framework Physical system Gender Coma Berenices Bit Database Cartesian coordinate system Discounts and allowances Uniform resource locator Computer animation Logic Personal digital assistant Speech synthesis Table (information)
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