Merken

Keynote by Searls

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
JVD thata-hat and should thank you Mr. rules only non theory was just to feel free to call me either and
this is what life is like in 2001 things the whole social media when they work so I'm not stuck with it forever I work for a political test snowball were celebrating the who's on issue of worldwide software software you can learn more about the offered that your all the time
with presentation is how the program at its original word
workflow to about word word meaning what programs are the structure behavior loading a how we program our thoughts and actions
and when I look back on my experience learning as a pure science students the tiny things like data structures and keywords that he and they go analysis in cryptography and not very much about how are handled work and build schools
nowadays are you actually analogous on the more market practical skills like when standards and system tooling and languages and frameworks are not so much time to think through problems and so also really right of
and you might think that's the job of thought leaders to the word art is right there but really thought leaders really talking a design patent solid principles agile and tested in development or those are nice there's that there framework activities but it's pretty discrete-time mostly about how people interact not so much time to think through friends so it's
reasonable to ask you know when we actually learning well as programmers who teaches us how to think and if you're lucky you have 10 years in your career
you'll stumble upon also will show you know the only connectivity to that any of us talk on the other hand few where you work for 20 minutes and take a minute break it's really awesome but honestly it kind of feels like me put 10 years of hard
services and the to get a you know your dollar plastic and insulting the best the best that we have all so share
somehow we all learn what programs on but I would hazard a guess that most of
us know you really taught us how to program
looking over there Google search out program and terrible results
starting with the traditional way of teaching people program you start with nothing and summary
shows you a completely finished example of finished product what the program should be and then as for connecting and it's good what have fun and every single computer science is saying that I have no words like you really resemble the horror on our comic
refer since rules and then let it it and I spend entire weakens
think that lot and time of the year I know it's serious blank and no idea how to write code and the exact moment that I realize that there is also of philosophical activity that happens mostly in our heads across the ring remounted quite a lot from their education since I was in college I know now we are in the just 1 big finish example really broken up
into 2 or 3 steps over the course of a
book a screencast but very rarely does the pros of the explanation actually explain the thinking economy that thing more really all of its in my interviews before you're able to imitate you know you and example applications from
a book but our intentions stands out because I think the most and also just imitating other programmers we see somebody successful and well known who is trying to do things like they seem to be doing things and that's how we handle learning it by now you
can see that this is endemic in our society as programmers because we're really bad how questions of I as online with the created new method which I break this thing up and the more than 1 thing you know you get really unsophisticated responses like method should be
about 3 lines on it the we have my wife Joyce or she was 1st grade likely as she was told by a teacher that
sentences were 2 lines long and so then dutifully for the next several years until she was corrected he just stamp the period at the end of every it and that's funny because he's not adult and yet here we are with the size of this new ideas like and that it should about 3 lines long noble and you will be on but let's say in
spite of all this somehow you write a really good program 1 then you really can't really happy and I ask you OK so what actions with productive productive that led to that point but what not led you there which was thought processes were successful or unsuccessful would you answer those questions and that most of us would
be able to use these to rampant insecurity from how we educate
programmers to the work that we do in the column that keeping the overall industry now 99 per
cent of the work that i've done as a professional programmer can be boiled down as the business person trying to get a spreadsheet on to the internet the and yet if you can take years or so until we become yearly competent programmer next clearly something is wrong in how we teach people to program and its industry it's 16
or 17 years old but were still searching for silver bullet we always externalizing the problem and hoping the next languages greater library process is there suddenly make programming explicable and it never works out the think about that
situation you know yeah everyone's here making stuff up as they go or pretending they understand who's gonna succeed in that environment it's genuinely rolling people and people with the overconfidence of having been told that the brilliant all life so imagine that you know look like other programmers and you walk into a room and you lack the privilege of having been told that you brilliant by society this is a terrifying line of work to walk into because no can actually explain how the program and I think that if you wanna make programming more diverse and inclusive industry we really need to solve few and it's obvious that the industry has no idea how software works because it constantly analogizing it's literally any other industries like construction or like this and any because of that they control the handle things we do understand like estimates and make people work and where they work instead of like a true none of that which is like how we think isoprenyl person how we solve problems
so on we fix it welfare theoretically yesterday the know DHH offered us 1 solution
it but I'm going to talk about a different 1 time of feedback
because programmers through compilation protesting were used in establishing the back groups made forward progress and making the same things inside our heads improving as developers or a practice
this today by reflecting on the actions taken really successful or not and how to improve our actions you can use the same thing for feelings actually reflect on your emotional state so you can reinforce positive emotions or mitigate negative ones and spoiler alert you can actually think about thinking the introduced better thought processes that turn out to be more productive and this is
really a good programmer enlightened but I realize that was starting from scratch your
readout walk before we can run and ask yourself what we do it seems that our so emotionally mature they struggle even talk about feelings as well so
we have indeed crappy personality tests like the Myers-Briggs Type Indicator idea African-American Myers Briggs just know that it's the worst type system here few and reason we on it could put people in
silly block like unity day and ISO he and the implication is that there's only 16 types of people out there but we know that this is is much much more what we're starting from 0 to 16 start something pretty good on so that's why today I am pleased to announce the
words type indicators and instead
of pontificating to you today about how to program dictating and this is the magical way this is the silver bullet instead I'm a humbly take my own test showing you how I feel and my inclinations in my personality and when I'm done over the course of my career to reflect and improving result in better outcomes of a programmer to do that we need an example
feature so let's make 1 up like I work at a company test double we have always been a
distribution company but we're still learning that that does not mean evenly distributed but also the
flat organization you might think that there's obvious spontaneous relationships that form of course
that's not accurate that we all have our sign pairs and we also known to an account manager our current topics like 1 of those
19 such input ball games but
there's nothing wrong with that we're say say to people on the team was really 1 learning on but there's nothing systemically it's going to get those 2 people talking again necessarily so somebody
crazy idea why don't we have virtual coffee dates on the team and this randomly assign people to talk to people talk to each other and who otherwise wouldn't be
alleging expression from that node so the handshake problem which which is calculates the number of potential relationships of any group of people and there's just tons of and so what the system should do is just sending e-mail every week to pair up people who might not otherwise be talking to 1 another and tone go spend 15 minutes on this will hang on neural and chat about something that happened in our work
and our output my test the testing both the speech and again this morning as a group
and the 1st bucket manner put us in sensitive versus fearless in the 1st
question is I prefer hearing all requirements up front even if I can't talk a little right away I strongly disagree with that I get overwhelmed really easily to add to a long function feels like more code just means that it's absolutely I II and III of additional complexity can imagine adding another case
the reality for of being assigned to new projects and teams no way in new projects the slides or I often feel paralyze was staring at a blank wondrously yeah diarrhea and then influence
so that is sensitive or fearless pretty obvious in this case I'm sensitive information sensors that I'm overwhelmed easily
on so think about the future all about interior create pairs that's not so hard but I do have to go and send the e-mail as a look of all these people from a database right and careful not to but would repeated randomized appearance and I've never I repeat me to be here which you now some process that there's a lot of work so I'll I want think about all that as what books in the core problem so inclination is slowly just do that put it around it being part of the problem and do my little test-driven development bank and you really good about that in the code so order control and it's going to college and I realize that the methods indigenous white line or somebody else
might say hey this is you know you just means is doing all this extra redundant work it's actually handled elsewhere my inclination was overcome
that paralysis that I felt and finds a productivity by just putting the blinders and
electrons that radical often enough and they can
reflect actually in original how I work as a programmer so I just showed you was often called bottom-up programming but now I practice top-down what's better for you you might also call outside where I think from the perspective of the controller at the top level entry point and I started there I asked what do I need lines of the previous pairs your brain is focus that way the caller knows exactly what inputs are available without outputs that along is also way like minimize like waste because it has the broader context in terms of you know like or what not causes median surrender or can be emitted
by the other aspect of being sensitive is that I'm really afraid of failure and we work outside and
this do have to juggle all these different concerns at once which can again be overwhelming and
so what I try to use solution to solving like my inclination just open up an
editor and prove that I can write this codes start with the model and make a method I don't low-dimension users and loop over them I stupidly learning and a handshake analyzed at tuple of like you represent appearing in Ireland slammed through some Mailer and not there really is a group that could do it and so I will remind you remember randomize and you don't need not the 15 15th per cent every week and you know so that it prevents
re teacher happening but weak to weak and I'm terrified because like I think this is a really dense 180 more complicated and
I am very familiar with this part of the as a result try keeping
myself this partner and recall as a sphere of radius failing I'm afraid of being things that I don't how to break down so I solution is on whether you're by breaking things down systematized way give myself somehow and practicing over the
last few years iterating an approach to testament element I call discovery testing has rarely upper in breaking the scary problems into smaller more manageable ones it works with why star which is the
test of the top level thing so I went single test case on book the thing and I ask myself a crucial question what's the code that I wish I that I can differ and this work out too well something defined hand something in German shapes and hand something the mailman and persistent that I use my testable library which in really is unique our signing treaties for fake things and I set up a something sightseeing finds hands the following its you listening to symbolize the hands and the assets and the thing Germans shakes assigned understanding of new media spend 6 is on the test set I need to be able to actually assert that I a lot although sigh handshakes and I persist and that is the unusual looking test you on your answer but what it does is it perfectly specifies the behavior of that top level units and so I get this test the past and I never have to worry about that top level again it back to the must and
all the files that shakeout from just getting access to past now I have to be clear you know it worked out for me I know exactly what I need to do I can start making forward progress so I start off with a bit scary thing but as I got that test identified units and I would need actually part of the
work instead of 1 big scary thing in our warm 1 adjustable problems that I can focus on any of them are scary I'm my back pocket a tool that I can use to like reducing and break things up even further this
2nd but cannot talk about is inventive versus esthetic so chris questions German
my my tie question like mark and build the right thing then to build the thing right and this is another important but I'm more implementation focused pressure to experimenting with new tools frameworks and build systems not at all like I do spend a lot time in open source humans expressly so I don't have to worry about network question 3 I write visually appealing code down the syntax and symmetry absolutely and what I really like treaty symmetrical cone question
Poisson boring all the Laconia project is structured similarly I disagree I really like consistency in so that we
inventor or s that why I think it makes new assess and 1 part means that it is
then refined taste now the problem with taste is that nobody knows what
it's and that the until somebody on your team says you know what I Preparatory
functions all these well little small units that you keep create and then like this looks like
us the and that face it very wide there's and all test was
obvious in history of like and the spring
the infinitely many ways to solving the
problem we knew something to constrain ourselves so some patterns to follow to just not the analysis paralysis from and that's why I think that throws a
much better analogy writing software then construction is In fact I think the program
is just communication to the next developer is
going to pick it up and it's just hard because it has to happen to this filter that's just formula for an interpreter or compiler to understand so right here in
this scene that I reflected right I
take it to me as a protein that meaning writing code that's meant to be run by myself as opposed to another human because
the other developer they're not in the room so I tend to write code that I think that I wanna read this self-centered designed
so if I sort of look at design patterns on the agreements music services factories
repositories and if you're really really having done all this but then somebody
else can list out all the files I just created online data stream from their perspective is that the impenetrably complexes of why some of these objects video idea how things are gonna work and so
now I hear that critique they got a pretty good money and I found this happen
antimatter team whatever I remain realize I gotta start working differently to make Michael Moore discoverable unapproachable for other developers and now the things much differently it
started with realism programs are directed graphs so all of these units are really
kind of nodes in this graph and all of the edges of vertices are either punching holes so the locator pulse of services positive positive outcomes Napa which instantiates hands service also Charles that thing that inherently
you can think of programs where we have some taste share some constraining out principles
at me share like for instance in this repository recalled the service we would always I can't you know that's that's a dependency cycle we realize there is a risk involved in Europe a general idea overflow there and so most
of the programs that we write as developers trying to be acyclic digraphs and remember my
purpose here is to prove that I'm right I want to tell dispersion of small units is better than 300 lines objectively and
to do that I thought in the liberated constraints making it a refinement is further i can solve this problem and anywhere I landed was I want to express all of my features not just general graphs but it's Chinese because of a train is just a special subtype of a
graph you can take this exact same menagerie of units and organize it its relation work your value objects on the left and punching future behavior on the right and now it is true that I have a new interaction it stands out military because can it's just got 1 child so that service located yes I can probably get rid of that and somebody asks you what they're looking for is how to compare 2 hands they can search the tree much more easily and quickly then it just a gigantic directory of files and and find what they're looking for so more discoverable the other aspect of my study design
animals so when you look at our at
UC into car it drives me think about what its function is and why it exists when I look at our and
all I see is that in the next and as a
minimalist my productivity goes up when things are tiny and symmetrical and terse and goes down when things are quite a inconsistent and what the software is supposed to be doing is the social complexity everything it actually does is
incidental complexity all the stuff in comparison with those in writing a program you your writing the poetry African configured dependencies and framework accusing
their courses whatever the act was supposed to do the style rules and use immigration build systems the press unnecessary stuff as a minimalist under personnel the predators always choose away to try and minimize the amount of personal complexity in the system and trying to maximize the time the team spends on whatever is really important that always tweaking my own style
but when you start writing of being future beta inside my model objects but then separated not the separate units but then we make them Paul walls but maybe ultimately landed model methods use offline leading the debate the finer point for the data released 6 of 1 half a dozen the other kinds of arguments
and they represent a sort of track his
earlier isolated style rules there is there is a table is known complexity because subjective and so it changes around arbitrarily and arbitrary decisions breeding consistency and 0 it turns out that inconsistency and other forms and complexity and so groups and
because someone error organized code this way
on Tuesday this way on Wednesday that ran then by Thursday and this is the best way to organize and everyone's going get mad at me because I just linear 36 custom little styles all throughout the system so I temptation to
continuously improving stuff actually brings inconsistencies and creates bigger mess elsewhere so reflected on how
I think what would happen is chased the local optimization at the expense of like in global optimization of what's best for the overall project and I had learned to avoid this oscillation my design a really require mean just realized I spend the entire private spinning my tires and so instead I decided I is lock-in these decisions and say we're going to think this style whether or not it's better worse doesn't matter so we can try to carve out time to be productive this and better at that x flexing their muscle I could recognize worms in my wheels earlier has been 1 my time the productive was away from me and both mean loss but also really consistent my applications in way that human really strongly to arbitrary decisions of things that that really matter and when do especially
with your incidental complexity it brings the essential complexity in a shop releasing you can also change religious focus Mr. more commonly rappelling said you that part
but it is 19 verses leery
of question 1 publishing metrics like code coverage is always a good idea in I think radical transparency often backfire pressure to writing and
commit messages today will pay off in the future art secret I don't actually know messages so during its
authority as it's smarter use of time under pressure disagree I think pressure skills cognition for software is generally
through over time and you're not doomed past so what that
make idea where only realizes the pretty obvious test in my case I'm weary of it all started to my distrust of all of you
it because most genes operate in a
pressure cooker there under pressure to get as much stuff done as fast as possible and as a result of the rains turned all the known results in really really bad outcomes in fact is not very fair a pressure cookers because pressure from the server useful purpose on soft other analogy
few where displays we use for all the remaining jobs that were worth and again not being created not resulting in cone 1 person and things I don't trust
and I don't trust product honors alone but on just and back in the waterfall there is you know product area will specify 300 below point and everything they ever wanted and enforce them upon us and saying this is
awful likely away at least it was once they got
articulate everything they wanted front of users us who did you know how to handle that much complexity
Solomon Adelson stuff can gave us a little bit about what we said no sir you only get 1 index card time and in fact
that's the only 20 points and I made the pointing and so on that's earlier that becomes available I think it's time points in any system can be
gained and really sad product and I know I will slide of of this is not like this is a little protein well you guys can do that right you time I will say only after we can you know and then we realize is much more complex than thought and by then they're out to lunch and we're left holding the bag so just product honors right so I'll just even less than predators as other developers and it's because of their will a
future we neglect to realize a very basic fact operations can only hold so much stuff and then once and so I think in another centers bias for inciting features just whenever number of things they can hold hand in time and naturally the conclusion that we draw about how they are objects in method should be in the same missiles
then a weakness the things in 1 place it seems like a simple solution but then
passes a somebody says pain and a couple additional aspects to this feature you know it has to do this unless as well well so that means that the other stuff like brain is finite we can't you know keep it on our hands at once anymore but units making makefiles as long as we want so we just you know recurring painting cost of unique can slam in those additional activities in the future but it creates a blind spot for us where you know another way of thinking about whether the persistence you know bonds can creep in through that door and you
want this way yeah passes freezing
unions are just gigantic and they look like this in a room with funds and linked data 100 is that in an ideal phone call sign they can help improve our tests of course this is a testing problem right it's like complexity management problem it's hard for me when I see the
cycle repeats over and over again selected distrust handling rowing a cynicism and that's 9 and in fact it but I realize that the root free all of us really struggled to predict how complexity is going to change and guess the complexity of stuff and I do it too and so what I wanna do is is is is change the question and instead focus
on how to prepare myself and other people boarding and will increase of complexity is there
any maintains system almost any number of complexity develop over time it's just a matter of what that graph looks like and so like Pascal I mean up sources wager in my head yeah sure complexity might remain constant work might go up and now we can keep writing these brain size units or a much smaller ones and a complexity doesn't change you know no harm no foul it is really matter how we factor within that we have a lot of evidence that these larger units cause problems and the nice support small ones and they can actually accommodate some additional complexity without too much pain that when they want every
feature I break things up into itty-bitty tiny units the power people criticize me and you know if you think of my answer small don't worry because I trust you're going make bigger right and we can it's a great way to struggle with like
trying to make a follow similar responsibility principle have and we have to do 1 thing this makes it really really easy in fact this is what the
Treaty of functionality cash account as in this example that every single unit served exactly 1 purpose present or follow 1 of 3 roles that kind observer years of practice the parent nodes are delegator
objects they don't really have any logic programme seemingly just like 1 in condition or something they mostly just break up the work and handed out to other and the way that I happened enzyme I use this tester in design where use DB identifying they got ones you know was the code I wish I had that that would actually do the real work the we
want to an action arises these linking
nodes so this is where the core logic of the application it takes inputs and transforms it somehow but you know the the pure functions so you don't need test nobles you just are actually testing real logic these are the kinds in unit tests that everyone likes to right and so like functional programming for people who don't want to think too hard about functional programming I makes it very accessible because you can still do it in your room in your languages
and the latter right values and I objects in this
rapidly in the data mining is hold onto at hash array and that enzyme and are only allowed to elucidate the data and answer questions about the data as opposed to doing feature work they're not they're actually build features instead I think that was the sludge that flows through the plates of my future then the types and those methods intentions and at all this abstraction
doesn't ultimately pay off and even if the feature doesn't change along the future the very worst case and very discoverable system of carefully named things that are on using small incomprehensible those are the worst outcome in the world but at the aspect here is that I
distrust myself so I knew more than all of you I it's because I worry about the
future and you know I'm not supercontinent today these skills I mean worried that my future self will be able to program leader for some reason and
so what I'm writing a feature space of the thing all think about how to build that and out of kind of messenger model for myself in the form of better tests and documentation unit messages things to try and help and my future self who's
wearing sunglasses is told change that
feature is really frustrating because what those testing is now a bunch of other stuff to do every time a change and I changes of would much rather just stop fraction be able to write new code so I kept trying to new myself things by by by writing a lot of extra tennis and adding it all this quality in the beginning but actually try my hands and
reflect way beta quality into my applications without creating an
undue burden for my future self and so I started working a little bit differently because of this is
actually a functionality interim manager comes in and says you acquire a taste of some major
fiasco all handsets have happen to 3 people the traditional way to solve this is
to carefully read the existing code and rule change has changed the code and try to make a smaller mass as possible and I say small of mass because any time the purpose of a piece of code this has been true things on we changing it carries carries with that technical now in confuses the story of and existed because it's changed over time so instead of trying to make my code disposable on what that
means is that when I look at this tree I search for all the affected units by the change in the 2 years serving change and so I find the smallest sub-tree that encapsulates such interactions in various right there and then was something unusual and blow it all up I'm
not going out electron Summary future self as the you will see that top model thing and understand what the contractors onto the is is very dry martinis solution and as opposed to just changing the units that implement geologically the old way and thus lack of technical that sigh trust and dried up a new solutions in fact in future also there had more experience than present-day us that probably have a better understanding of business building or to write better to in the future and we can work that help to you today so as a healthy way work it doesn't mean that I try
not to reuse code too much of my physical because they any code reuse like vehemently that's called in 1 place and it is really hard change them because you have to considering 9 different scholars and wanting something really haven't thrown away replaced so I tried to is too much code but and also of course we let go of this idea that maintainable code has to live for that you know is as opposed to that this incremental rewrite in the smallest part of your processes away OK technical know that you know without stating a read a fun for when you finally get to the factor and in doing that actually myself happier his future leaders does not want his job to be you know fixing all just on Jakey test every time he changes or wants me to write code for a living and so this is this process by making like you know just a part of life while working through features is a great way to keep your team's happen in about the last
market here is economical versus the world on question 1 vanishing code
quickly then wait until everything is tested and I feel like I just bailing out water in the case Due to principles on his father's esteem waste much time on and it's possible to assure that thinking the rest of us during most seems like a sufficient
understanding the dependencies I absolutely no no 90 per cent us have no clue how most of our code works in cations
repair educator everyone a teenager separate coding styles are actually strongly disagree this is silent development is going Conway's Law of style so
is that the economical around well of course
makes me so so area is saying that the cells to I have because we make up the quiz you can make a fella you want it is a surprise accumulated
a confession made control 3 are and then I'm doing this of free
stuff Ausonius assignments free puppies
all I read is extra work and better in our industry makes me think extra work is open source of Enceladus keypad near her
next time know asking for free labor from open source container image's yelling a puppy instead because who knows the puppies and to an open source is going because just like
properties we have to learn how to use a regular house changing and following and and and it's not just this panacea that we can pull off the internet and instead have balls of ourselves end if
that open source has above it you know if the erasure we can't fix it ourselves but in practice when I can understand all that stuff will probably have to rely on a maintain on experts to come and fix them later and finally we
have you know like 1 seen are graph of objects and so on very consistent i everywhere and we slammed and third-party API that's I create a certain amount of and painting is not going to look like all of our other objects in fact what third-party has really nasty habit of making references all over our codebase which makes it really hard to change or replace or upgrade the third-party dependencies over time so I temptation
all these negative things about open source and buttons this is why don't have about the 1st of all again much of my work practice concentration but you I try like boy using open source and that's what my gut tells me you that's increasingly untenable
these days designing reinventing wheels counts so and change I thought about open source instead to mean protecting myself from its blast radius as opposed to avoiding entirely that when I do that as I might wrappers of all the third-party code that I like to invite
Miriam 1 the streets finds hands you on the
left there's a wrapper object starts is just overwhelming delegated to know what doesn't do anything interesting when it comes to encode all of our understanding about that dependency is the carpet under which we sweet all the stuff that we have to do to make that third-party dependency happy and integration testing but only a proportion how suspicious I am of breaking otherwise I trust that itself is tested well know like meaningless in direction but energy and trust me that it's not 1st it this is a recall and find
scenes in in a in a talk will look at I just told
you not to trust other developers you don't trust me I understand that like that is unnecessary let's say that instead of using that call
was inequalities and all the stuff that way much more directly or annulus interaction with need of the hour test on so this is our original test media would at finer and Santamaria real users and create a database of course validation failed so now I have to and 1 of 1st some it's not under arbitrary thing out and make this work but I can also get rid of something here and impasse real users into the understanding of in united in integration test as opposed to a unit test and ask yourself now when we just need because the value of this task is to the crystal clear its purpose was to break the work up in the war clear responsibilities and now what is it it's at this conference the database making sure that the thing works but only 1 3 quarters of the compounds are that doesn't seem right that there seems wrong to me and it's really don't obviously wrong when this becomes more complex as if we add a couple like only search for full-time active employees now and are tested in watermark as a soldier like branches so we need to move to a test cases to cover everything announced abundantly obvious that we slice things wrong and so when I fear change complain
you actually instructions in to objects typically that thing that's it's not right that they're making not and I have to manage actions and no instructions on whether it's a new probably mixing the levels of abstraction in your system because life with
rappers is a much easier if I look in that same
thing died in what that record looks like yes and they want it looks like it was in direction by Monday is more complex there is you know it's easy to write a test for this by this place like complexity go and over time you know it might become a little bit more complicated as distance yourself further here with like a transformer do a type that new owners of a poster you know enacted records
and so let's say i r Boston there's several change of Active Record the sequel Jim traditionally this would really panic everywhere in the world is 11 billion references Active Record all of your system but when you're writing wrappers carefully the third-party dependencies you're actually proved to be preparing for yourself an adapter interface sitting in 1 specifies exactly how you use that dependency gene answer questions like what is it possible to switch to the search energy then you can create an alternate implementation and when both in parallel for a while it so much much better way to working like founders
doorway to maintain that still have all that convenience of open source is sucking induces libraries while maintaining control over how you work out so whereas
introspective about this stuff is I you run the risk of explaining the universe through you yourself in fact you asking them a
worked on product with new will like their way alright codons it's my way and all the 4 so my inclinations doesn't work really hard to convince you all of my weight is best and look the same as altruistic going and what will be better programmers but it's not it's selfish where real users I'm afraid I'm going to have an outer sum may tell me that I can write code my favor way more and
reflect on that unit work come up with the perfect wearing coming hand to you I want to run the risk of having you on that same on time so that would be going so that's why I'm getting out of the silver bullet this it's
so you know I talked a lot today about how I program by cellular now a whole new kinds of useful for what I really mean here is only 1 the idea of pausing intersecting about how you act feel and think while you programming so that it becomes more explicable to you and then you can articulate and other people who will and share you might have resulted we also thought ourselves more than just create chaos our teams and I
think that's actually Eichenbaum concerns let's is talk about that because earlier I said if you like now all those arbitrary decisions upfront you can spend more time being productive that's true individually but it's also true esteems and that's why we have disagreements about the teams mission aggressively polis forward because the earlier you have that discussion and say OK now we will use the summer courses will follow this style you can agree that some early like in know entertaining more productive and in fact if you look at the average you where what I said earlier were just imitating other
programmers so postings actually like the
idea of normalizing in fact some of the like it too much when you create an idea of doing things differently and I don't wanna rock the boat you know I wanna like you do my own thing up here are go off the reservation political so instead we tend to was the lowest-common-denominator 0 on teens and that's not good but as I you anymore right
because after today are you really thinking about how the actions you take out the through your feelings into the your thought processes and and your next to the driver to moline lines you Gecamines some of whom will be sold and some of them will be buying which is literally what the other portraits of here from the sale and some of these faults we look at this scene
yesterday on very strongly held opinions on different ways of doing things with the on and comes with our approach of the new idea have a system were testing it and figuring out whether to adopt or reject it so they're not afraid to try new things and that's why I think that really just vector
developers right there we're acting images just look like they're talking at the weight for all the the connection will look into impact on each other as they were a
natural and real today is that if make it as the industry to normalize the concept of metacognition as sovereign so that we can explain how to program this fall plays might start making a whole lot more sense check and
that this other progress yeah so
I I I I appreciated finally they if you're looking for a company to work with with the support you understand journey have been consider I check in a solid that's our updated plan was like to work with us a testable major company that like is looking for additional developers on team helping consider working with us we join in the eyes of other teams just as additional developers with an interest in helping everyone get better as we go I and you learn more about this on our side by the way I really mean this this is a real thing I actually tracing out like a hundred copies and my dancing special commemorative edition entity come up and say I'm everyone has a lot of testable stickers I if you I don't want him sitting in person you can actually go test that will not come slashed SALT II and philosophical meaning dual formant you of our are yesterday actually did not on minimal fossula calculate you're on your program typing e-mail you right away so you will check that out to can most of our land all I'm really thankful for this opportunity and for your time this 1 thank you have half a quick
biases UN by
Softwaretest
Videospiel
Software
Software
Hypermedia
Schlussregel
Physikalische Theorie
Computeranimation
Kryptologie
Gruppenoperation
Gebäude <Mathematik>
Formale Sprache
t-Test
Computer
Physikalisches System
Kombinatorische Gruppentheorie
Analysis
Framework <Informatik>
Computeranimation
Datenstruktur
Kryptologie
Wort <Informatik>
Booten
Optimierung
Datenstruktur
Standardabweichung
Analysis
Einfach zusammenhängender Raum
NP-hartes Problem
Stereometrie
Programmiergerät
Prozess <Informatik>
Stereometrie
Kontrollstruktur
Wort <Informatik>
Softwareentwickler
Framework <Informatik>
Computeranimation
Resultante
Programm
Algorithmus
Gemeinsamer Speicher
Textbaustein
Virtuelle Maschine
Applet
Hasard <Digitaltechnik>
Einfache Genauigkeit
Dienst <Informatik>
Biprodukt
Optimierung
Computeranimation
Dienst <Informatik>
Whiteboard
Weitverkehrsnetz
Skript <Programm>
Wort <Informatik>
Optimierung
Informatik
Term
Algorithmus
Hash-Algorithmus
Unterring
Momentenproblem
Kreisfläche
Applet
Skript <Programm>
Schlussregel
Optimierung
Code
Computeranimation
Schreib-Lese-Kopf
Programmiergerät
Benutzerschnittstellenverwaltungssystem
Raum-Zeit
Gamecontroller
Endogene Variable
Kartesische Koordinaten
Gerade
Computeranimation
Heuristik
Punkt
Gradient
Frequenz
Gerade
Gerade
Computeranimation
Programmiergerät
Punkt
Prozess <Physik>
Tabellenkalkulation
Optimierung
Biprodukt
Computeranimation
Internetworking
Schätzwert
Videospiel
Konstruktor <Informatik>
Programmiergerät
Prozess <Physik>
Software
Formale Sprache
Programmbibliothek
Gleitendes Mittel
Optimierung
Programmierumgebung
Gerade
Rückkopplung
Programmiergerät
Prozess <Physik>
Ortsoperator
Compiler
Gruppenoperation
Gruppenkeim
Computeranimation
Eins
Negative Zahl
Arithmetische Folge
Softwareentwickler
Aggregatzustand
Schreib-Lese-Kopf
Softwaretest
Magnetbandlaufwerk
Programmiergerät
Datentyp
p-V-Diagramm
Physikalisches System
p-Block
Computeranimation
Eins
Physikalisches System
Dämpfung
Typentheorie
Datentyp
Vorlesung/Konferenz
Indexberechnung
Softwaretest
Resultante
Distributionstheorie
Programmiergerät
Datentyp
Datentyp
p-V-Diagramm
Wort <Informatik>
Indexberechnung
Geneigte Ebene
Computeranimation
Datenmanagement
Symmetriebrechung
Virtualisierung
Spieltheorie
Vorzeichen <Mathematik>
Selbst organisierendes System
Virtuelle Realität
Ein-Ausgabe
Computeranimation
Softwaretest
Addition
Lineares Funktional
Vektorpotenzial
Datentyp
Gruppenkeim
p-V-Diagramm
Zahlenbereich
Sprachsynthese
Physikalisches System
Komplex <Algebra>
Code
Computeranimation
Knotenmenge
Arithmetischer Ausdruck
Code
Addition
Funktion <Mathematik>
Sensitivitätsanalyse
Prozess <Physik>
Texteditor
Datenhaltung
Code
Computeranimation
Rechenschieber
Touchscreen
Rechter Winkel
Test-First-Ansatz
Mereologie
Gamecontroller
Speicherabzug
Projektive Ebene
Information
Ordnung <Mathematik>
Geneigte Ebene
E-Mail
Gerade
Telekommunikation
Programmiergerät
Punkt
Relationentheorie
Biprodukt
Kontextbezogenes System
Ein-Ausgabe
Term
Computeranimation
Übergang
Einheit <Mathematik>
Perspektive
Ein-Ausgabe
Gamecontroller
Minimum
Geneigte Ebene
Optimierung
Gerade
Funktion <Mathematik>
Loop
Beweistheorie
Codierung
Randomisierung
Gruppenkeim
Geneigte Ebene
Computeranimation
Softwaretest
Resultante
Radius
Softwaretest
Kugel
Mereologie
Element <Mathematik>
Computeranimation
Eins
Softwaretest
Bit
Shape <Informatik>
Einfache Genauigkeit
E-Mail
Elektronische Publikation
Systemaufruf
Code
Hoax
Computeranimation
Übergang
Netzwerktopologie
Softwaretest
Einheit <Mathematik>
Arithmetische Folge
Einheit <Mathematik>
Vorzeichen <Mathematik>
Mereologie
Hypermedia
Programmbibliothek
Datennetz
Open Source
Gebäude <Mathematik>
Implementierung
Physikalisches System
Symmetrische Matrix
Framework <Informatik>
Code
Computeranimation
Systemprogrammierung
Druckverlauf
Framework <Informatik>
Rechter Winkel
Symmetrie
Code
Symmetrie
Drucksondierung
Softwaretest
Lineares Funktional
Einheit <Mathematik>
Code
Mereologie
Vorlesung/Konferenz
Projektive Ebene
Widerspruchsfreiheit
Computeranimation
Quelle <Physik>
Konstruktor <Informatik>
Telekommunikation
Interpretierer
Compiler
Computeranimation
Ausdruck <Logik>
Demoszene <Programmierung>
Software
Mustersprache
Optimierung
Softwareentwickler
Analogieschluss
Analysis
Dokumentenserver
Anwendungsspezifischer Prozessor
Entwurfsmuster
Applet
Dienst <Informatik>
Elektronische Publikation
Komplex <Algebra>
Code
Computeranimation
Videokonferenz
Netzwerktopologie
Objekt <Kategorie>
Dienst <Informatik>
Perspektive
Faktor <Algebra>
Code
Gruppe <Mathematik>
Datenstrom
Faktor <Algebra>
Softwareentwickler
URL
Programm
Ortsoperator
Graph
Dokumentenserver
Dienst <Informatik>
Ungerichteter Graph
Antimaterie
Computeranimation
Dienst <Informatik>
Knotenmenge
Einheit <Mathematik>
Puls <Technik>
Funktion <Mathematik>
Einheit <Mathematik>
Faktor <Algebra>
URL
Softwareentwickler
Optimierung
URL
Programm
Nebenbedingung
Wellenpaket
Gemeinsamer Speicher
Dienst <Informatik>
Ungerichteter Graph
Computeranimation
Dienst <Informatik>
Einheit <Mathematik>
Pufferüberlauf
Rechter Winkel
Faktor <Algebra>
Dreiecksfreier Graph
Optimierung
Softwareentwickler
Gerade
URL
Instantiierung
Beobachtungsstudie
Graph
Dokumentenserver
Relativitätstheorie
Interaktives Fernsehen
Dienst <Informatik>
Elektronische Publikation
Computeranimation
Netzwerktopologie
Objekt <Kategorie>
Dienst <Informatik>
Einheit <Mathematik>
Rechter Winkel
Faktor <Algebra>
Verzeichnisdienst
URL
Lineares Funktional
Software
Paarvergleich
Optimierung
Biprodukt
Konfigurationsraum
Komplex <Algebra>
Framework <Informatik>
Computeranimation
Parametersystem
Punkt
Gebäude <Mathematik>
Konfigurationsraum
Gebäude <Mathematik>
Schlussregel
Physikalisches System
Komplex <Algebra>
Systemaufruf
Computeranimation
Schlussregel
Objekt <Kategorie>
Systemprogrammierung
Informationsmodellierung
Einheit <Mathematik>
Framework <Informatik>
Code
Schlussregel
Kolmogorov-Komplexität
Physikalisches System
Komplex <Algebra>
Systemaufruf
Widerspruchsfreiheit
Quick-Sort
Code
Computeranimation
Entscheidungstheorie
Entscheidungstheorie
Weg <Topologie>
Bildschirmmaske
Widerspruchsfreiheit
Modul
Tabelle <Informatik>
Fehlermeldung
Einfügungsdämpfung
Code
Minimierung
Wurm <Informatik>
Kartesische Koordinaten
Projektive Ebene
Pendelschwingung
Widerspruchsfreiheit
Widerspruchsfreiheit
Computeranimation
Entscheidungstheorie
Message-Passing
Druckverlauf
Linienelement
Code
Mereologie
Mathematisierung
Komplex <Algebra>
Fokalpunkt
Message-Passing
Hinterlegungsverfahren <Kryptologie>
Code
Computeranimation
Resultante
Softwaretest
Autorisierung
Software
Druckverlauf
Informationsverarbeitung
Software
Server
Gasdruck
Analogieschluss
Computeranimation
Punkt
Flächeninhalt
Prozess <Informatik>
Datensichtgerät
Biprodukt
Biprodukt
Komplex <Algebra>
Computeranimation
Drucksondierung
Bit
Punkt
Rechter Winkel
Automatische Indexierung
Anwendungsspezifischer Prozessor
Punkt
Physikalisches System
Softwareentwickler
Biprodukt
Computeranimation
Chipkarte
Objekt <Kategorie>
Addition
Nichtlinearer Operator
Kanalkapazität
Einheit <Mathematik>
Einheit <Mathematik>
Softwareschwachstelle
Toter Winkel
Zahlenbereich
Kolmogorov-Komplexität
Computeranimation
Softwaretest
Datensatz
Datenmanagement
Rechter Winkel
Vorzeichen <Mathematik>
Dreiecksfreier Graph
Gefrieren
Systemaufruf
Ideal <Mathematik>
Wurzel <Mathematik>
Fokalpunkt
Komplex <Algebra>
Message-Passing
Computeranimation
Graph
Physikalischer Effekt
Mathematisierung
Zahlenbereich
Kolmogorov-Komplexität
Quellcode
Physikalisches System
Komplex <Algebra>
Computeranimation
Eins
Einheit <Mathematik>
Konstante
Softwareentwickler
Schreib-Lese-Kopf
Lineares Funktional
Kanalkapazität
Ähnlichkeitsgeometrie
Kolmogorov-Komplexität
Computeranimation
Knotenmenge
Einheit <Mathematik>
Rechter Winkel
Einheit <Mathematik>
Endogene Variable
Vererbungshierarchie
Luenberger-Beobachter
Quick-Sort
Leistung <Physik>
Softwaretest
Lineares Funktional
Programmiergerät
Mathematische Logik
Komponententest
Gruppenoperation
Formale Sprache
Kartesische Koordinaten
Ein-Ausgabe
Optimierung
Mathematische Logik
Code
Computeranimation
Eins
Objekt <Kategorie>
Knotenmenge
Softwaretest
Funktion <Mathematik>
Konditionszahl
Ein-Ausgabe
Speicherabzug
Quick-Sort
Funktionale Programmiersprache
Objekt <Kategorie>
Decodierung
Rechter Winkel
Abstraktionsebene
Mathematisierung
Datentyp
Hash-Algorithmus
Physikalisches System
Quick-Sort
Computeranimation
Data Mining
Softwaretest
Informationsmodellierung
Bildschirmmaske
Einheit <Mathematik>
Merkmalsraum
Mathematisierung
Optimierung
Code
Message-Passing
Computeranimation
Lineares Funktional
Bit
Betafunktion
Mathematisierung
Mathematisierung
Ruhmasse
Kartesische Koordinaten
Schlussregel
Code
Computeranimation
Datenmanagement
Softwaretest
Code
Quick-Sort
Netzwerktopologie
Arithmetisches Mittel
Telekommunikation
Informationsmodellierung
Einheit <Mathematik>
Gebäude <Mathematik>
Mathematisierung
Gebäude <Mathematik>
Koordinaten
Quick-Sort
Hilfesystem
Computeranimation
Softwaretest
Videospiel
Prozess <Physik>
Prozess <Informatik>
Code
Erneuerungstheorie
Mathematisierung
Mereologie
Code
Computeranimation
Trennungsaxiom
Wasserdampftafel
Programmierstil
Softwareentwickler
Gesetz <Physik>
Code
Computeranimation
Kontrollstruktur
Freeware
Flächeninhalt
Open Source
Gamecontroller
Zellularer Automat
Vorlesung/Konferenz
Computeranimation
Expertensystem
Arbeit <Physik>
Freeware
Kategorie <Mathematik>
Open Source
Computeranimation
Internetworking
Objekt <Kategorie>
Open Source
Konzentrizität
Geräusch
Negative Zahl
Große Vereinheitlichung
Graph
Open Source
Lateinisches Quadrat
Computeranimation
Softwaretest
Radius
Open Source
Desintegration <Mathematik>
Code
Wrapper <Programmierung>
Computeranimation
Richtung
Integral
Objekt <Kategorie>
Energiedichte
Wrapper <Programmierung>
Quick-Sort
Softwaretest
Komponententest
Desintegration <Mathematik>
Datenhaltung
Kreisring
Mathematisierung
Verzweigendes Programm
Validität
Systemaufruf
Interaktives Fernsehen
Wrapper <Programmierung>
Computeranimation
Integral
Task
Softwaretest
Ungleichung
Reelle Zahl
Endogene Variable
Hypermedia
Videospiel
Softwareentwickler
Elektronisches Wasserzeichen
Softwaretest
Videospiel
Bit
Abstraktionsebene
Gruppenoperation
Transformation <Mathematik>
Physikalisches System
Komplex <Algebra>
Wrapper <Programmierung>
Computeranimation
Übergang
Richtung
Objekt <Kategorie>
Datensatz
Datentyp
Videospiel
Abstand
Kontrollstruktur
Open Source
Mathematisierung
Mathematisierung
Implementierung
Fortsetzung <Mathematik>
Physikalisches System
Fortsetzung <Mathematik>
Computeranimation
Datensatz
Energiedichte
Datensatz
Wrapper <Programmierung>
Gamecontroller
Ablöseblase
Programmbibliothek
Quick-Sort
Parallele Schnittstelle
Schnittstelle
Programmiergerät
Gewicht <Mathematik>
Gewichtete Summe
Geneigte Ebene
Grundraum
Code
Computeranimation
Einheit <Mathematik>
Unordnung
Computeranimation
Relationentheorie
Programmiergerät
Mittelwert
Computeranimation
Entscheidungstheorie
Demoszene <Programmierung>
Druckertreiber
Prozess <Physik>
Gruppenoperation
Gerade
Computeranimation
Einfach zusammenhängender Raum
Subtraktion
Gewicht <Mathematik>
Vorlesung/Konferenz
Vektorraum
Physikalisches System
Softwareentwickler
Bildgebendes Verfahren
Arithmetisches Mittel
Softwaretest
Addition
Arithmetische Folge
Code
Automatische Handlungsplanung
Dualitätstheorie
Optimierung
Softwareentwickler
E-Mail
Computeranimation

Metadaten

Formale Metadaten

Titel Keynote by Searls
Serientitel RailsConf 2017
Teil 08
Anzahl der Teile 86
Autor Searls, Justin
Lizenz CC-Namensnennung - 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/31256
Herausgeber Confreaks, LLC
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik

Ähnliche Filme

Loading...