Merken

Level Up with OSS

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
and you can and the planning is Courtney urban I'm a platform engineer with code mantises on and that's an open source project so I'm also an open-source maintainer and 2 years ago there was not a platform engineering I with an administrator and a non-profit and when the administrator I don't mean like systems administration like I T stuff I mean I managed volunteers I planned events I occasionally use Excel spreadsheets it was a terrible time I'm so I've moved on and I'm writing code now and I can honestly say that there's no way that I would have my current position and my current knowledge and skills without having written open source code and contributions and I myself taught developer by which I mean that I didn't pay anyone to teach me people taught me I just didn't get paid for it I'm so sorry I but I n and some of that like 3 learning that I got free learning that I got was through writing open-source code so I think that it's incredibly beneficial to your career to you're learning to your growth on and so that's kind of why I'm really interested in getting people to write more open source code also their autonomy maintainers up there that just don't have the manpower to maintain project at the level that they'd like on and you can be the change that they deserved so the 1st thing you wanna think about when
you are getting ready to and make some open-source contributions Pick a project or what your goals are right and there are lots of different reasons again to open source of recommend you have 2 different kinds of goals of personal something for yourself that has nothing to do order a little to do with your career right and then a professional that is maybe related to your job your current job in the future job something like that and those schools are going to die in the decisions that you make an end to end the projects that you choose and what you're willing to put up with and we're not willing to put up with and so some of the goals are listed here new technologies like getting to know any technology getting to know how to link up rails with an angular from enter what have you and version control going really good idea and get help getting really good at different process he's and working with the distributed team is a skill that's a skill you know being able to communicate from a distance and get your point across on color views maybe you just want someone really experienced a look at your code a really good way to do that is to give them the code that helps the brain not just like give them a link to something that you're working on but visibility so making sure that other people know that you write code getting to know people in the community and also helping out the community Rate getting back to project that you've already worked with that you depend on I'm getting back to some nonprofit projects was talking about a 2nd and just in general and your goal should be about you in your needs right so your balls are particles of 1 of my goals was on getting to know rails desired and no it when I started contributing to rules projects so I learned a lot about how and what I want to do now is
just save yourself yes the you can do open source code if you've been holding back because you're afraid even holding back because you don't think you know enough you you OK of a 2nd but what I'd like you to do right now is just look around and find someone else's eyes right in the practice look around going to be a little bit like catholic peace be with you would make the awkward eye contact and give that person a lot about and the like you got just now that you have similar allowed frame a case you have permission to write open source code all I do it if you haven't done it before I just someone has given you permission to take that permission I 1 of the and through this events in a couple
minutes just a couple of thinking about all the ways that you can contribute open source but a lot of these don't involve code rate but reports on a lot of times people put up an issue in they're like OK so this thing doesn't work well that's not really helpful to the maintainers the people writing code rate so find an issue if you come across a about on your own do a little research share some links rate do something to push it forward take a video of the bug happening that super helpful take effect on documentation details a lot of times people assume want you know I had set up my computer or my computer right well that's not really helpful to everyone so if you come across an issue with segmentation making sure that there is documentation unsurpassable assume that coders more than they do right maybe they don't mention that hey this is a different version of Ruby and maybe most code is right now at an older version you might wanna use a Ruby version manager and translations of you know multiple languages that someone else's website to work on multiple languages are training seed data so that there's a lot of data for other buffer new developers to work with so that they can kind of see examples of the codebase as they exist in real time as opposed to for example the was the bunch of projects having only 3 projects is that keep you from being able to solve the issues so be having 25 projects really clearly makes it easier for everyone else had some tests 1 writes enough to do it on design ideas views as you'll see in my slides I am not a designer I think that there which is and I respect them for it and and I think that you know design share that with someone who did not I'll cold reviews rate so go to a simple request the already existing if you know the code if you're familiar with it and comment on those code almost pull request that already exist and keep someone else from having to do that 1st pass rate help someone else improve their pull request before it even gets to the people who were on that team and share ideas for features you can promote a project that you maybe don't have time to work on but tweet about it a lot about it star upon get held that takes a couple seconds in your still hoping that projects track and get help so watch it and look for notifications about things that you can help with and at the library were about to be real by some user need help with that right so I would suggest you don't do that without talking to the to the person firstly 1 that but update their at the library agenda they're using from an older version and fix any syntax errors that there are in the code so that the code is more maintainable and easier to read fix typos that requires almost no code knowledge whatsoever so fixed tables that you see on a website and finally will talk mostly about this for the rest of the presentation i'm code right maybe write some code that would be nice
if and so the 1st thing you would do is find a projects and choose which 1 you wanna work on and you can do that by just searching get have but there are also a lot of tools that you can use so could not touch the company that I work for a has social good projects that an it that are open source so open source social the projects you can search by cause and find out something like if you're really dedication to really into an open data that find it find by cause and search for a project that you can contribute to an help that organization that open hatch has a lot of like little small bite size projects civitas wanna do something really quickly and they have a lot of different languages they support get back you put in your get have username and it will suggest reposts you based on work you've already done in your existing profile that super cool at 24 pull requests it's like advent but not chocolate so you write code and you do this a pull request every day for 24 days in December leading up to christmas and make some presents for open-source maintainers later is kind of just the project 24 pull requests and co triage for really really bad ASR repose on get have and then they suggest to use if you really want take on like a struggle projects do that but also it here is when your professional goals like i wanna work for X company look for the open source projects because their developers are running the open-source projects and then they'll be looking at your code we who you think they're going go to when they're trying a higher but somebody that they already kind of worked with from a distance so there's a company that you really like look to see if they do open source and try to contribute to some of the open source code it also gives you a sense of their workflow it gives you a sense of the team and their communications and their dynamics so that's really helpful and not things other developers you know other developers they may have some suggestions they might have projects they're working on my reach out to the way connected people so if 1 of your career poles of personal holes is networking they find somebody and help them out of the project effect on the next thing you wanna
think about is the task the issue that you wanna work on in get habits issues and and we want do here depending on how you're feeling right you should probably make sure it haven't been solved already sometimes they don't get closed until something gets incorporated but I would check the pull request as well and is nature and and then if it hadn't been completed already just comment on it to say that you're working on it so that it doesn't get solved before you finish writing I if it having it pull it out your code pulled in is really a point you make sure that you comments and and make it really clear that that's something that you're working on and then you know that that comment is a commitment right to push that fast forward in whatever small way you can so if you work on it for a you know a couple hours you'll get through it and then you don't ever comment again saying like 0 OK I think that there's someone else can taken on well now it's just not gonna get that so consider your comments some sort of a commitment if you don't solve the issue you can always take the research that you've done the things that you've learned and comment on the issue again with that information and say I was able to get through this but happy to pass it on to someone else that's helpful that's a step forward stop thinking that you're going to like solve everything fix a full feature and think about the small steps you can take to impact the project and the help of a and maintainer and know that as somebody who maintains open source the project any contribution you make is helpful to me as long as like you're in a good spirit about area like a learning space right anything that you do is helpful adding a comment doing some research that work that I don't have to do with someone on my team doesn't have to do we were hungry for it so don't again like don't be afraid to reach out and kind of put something out there just also don't be really aggressive about it right so if you have a feature idea then you like a it's a week words the feature and that's not to be very helpful it's not gonna win you good graces OK I another thing to think
about before you start working is the community so make sure that you know cause you you probably need help there probably the people on the team that know more about the code than you do person just supporting it for the 1st time and so what you're going to do is make sure that you know where that community is made the slack channel maybe it's a hip check community maybe it's a form somewhere maybe it's just an e-mail from 1 guy right find out what the community is and be aware that on and also try to get a sense of what the community is like before you get started that might also be a part of your decision factor and so for me it was really want to have a community that would be responsive that would be and it would be very kind because I was kind of in a place like Hong and doing but I'm scared and so it's good to know what that communities like before you have been I would also say that you might wanna talk to other coders you know to look for a good community OK another part of the community is like that level of responsiveness so maybe looking at close pull requests and see how long it took on the process took and that'll help you say your expectations the and so you will want to contact the community when it comes to you any big changes that you wanna make changing a big library on making a new version of a adding a brand new feature is that haven't been discussed it is listed as an issue those are things you might wanna reach out were 1st it again if it's important you have your code pulled than to the to the code base but depending on your goals depending on where you need but don't wait for permission either people are busy open source maintainers often are not working full time on that project so Dolly for permission but do you check it so can again today that the technical bits of this now and since most people here seem pretty good with gay and get have there's no way that I could possibly teach get in the time that we have right now we're gonna kind of speed through so the 1st thing you wanna do I get
help 14 projects rate and and this is just a workflow I know now that not everyone uses the same get help workflow this is a solid 1 that you can use and I am I would recommend a lot of times in the project itself in the documentation the information about how to best uh go about contributing to the project so this is a workflow that works this is the workflow that I use and but it's not necessarily the workflow that best for the project that you are working on again as a starting off for the project and freedom version in your own get have accounts about on get help and then you're gonna want clone your version of the of the project your down to your local computer and know that installing the projects are going through the steps that are listed in the documentation or with rails like a lot of us are pretty familiar with from a set of rails project so maybe there is no documentation if you've taken that risk which part 2 yeah and and you decide like I know how rails project works I'm going just set this up and make some contributions and there's no documentation which should be your 1st pull request but but just know that like you can look at the readme . and file or the contributing . and files were pretty standard find the documentation the wiki that community whatever is and and go through the steps that are listed there you know that this is the worst part of open-source contributing to the installation process is little worst part so if you are feeling like I'm the only person who's ever come across this Anna and now I will never be able to achieve my needs with regards to open source I don't it's normal to struggle it's normal had errors in the likelihood is that the person who created the project the team that's working on the project has it set up and has had no problems so if you had an error above that's really important information for that person to know or for that team to know because they might not know that it's that other people are hitting this 9 and a lot of people are hitting on just walking away and that people who could be contributing could be coding who are so what you wanna do is know that you're going to struggle pushed through the struggle right down here is that you get the the issues for anything that comes out that you are on that broken and if you can fix it right down the solution right make a pull request to the documentation that adds information that was missing before and and then the last thing is that if it if you fail if you're not able to get installed those issues are still way to move the project forward and as move on to your next best choice right and it'll be OK and maybe they'll fix it and maybe I'll come back so do your installation and get through it don't get discouraged and then what you wanna do is celebrate right make your mind
OK so you did it at the really big deal so if you get a Protestants dog like that's a big
deal celebrated take a minute
rates we about it also a case of
use both sets get commands that you'll 1 no I forgot the workflow of like this is not my code base rate of moving past the Twitter clone that only exist on your computer to someone else's code base up in the cloud so you know on a set a remote arm which means that you wanna make sure that the headquarters version the like the official version is linked to your code as well so set a remote of like upstream route headquarters the Nanao whatever you like that is focused on that is that link to that headquarters version of the code array and then as your coding make a branch name the branch something relevant to the code you're writing and so don't work on master is the take away yeah name the branch something write some code commit on and then push back up to you were fork which should be called origin naturally and originally and may be changed it on and and then make a make a pull request through get have . com and this is again a workflow obviously In the last part is Poland rebates is gonna be something you wanna do it as you continue to work on a project so we've already discussed how the install process stops so you have in the project and the community and you got installed like Rademacher workload do get connected that helps you build that relationship right so hold down and from the upstream to your master and make sure that you were a master at that you're always branching off of your master to make new code changes and your Master's always up to date with headquarters and then read this is what you'll use if like let's say you work on something for a long time and so it's been 4 weeks and maybe that could be based the original code base has changed so you wanna read against that original code base and I'm saying all this just to say that you should know these 6 commands and how to use them and and if you don't like this is the this is the process that take as you work on a code base that's not your own or something that you're more closely tied to prior
to the next episode code just this is a good that way to do it that way a hand just understand as you're working in as you're working maybe you pick the task that a little bit beyond you may be picked a task that requires you to another part that's a lot of video pictures have that and is a little bit of something new right that you have to research that is going to take you a long time so just make sure that you maintain your motivation and that you don't give up because it's a waste of your time right so pushed through time and see it as a learning experience not as like that I an obligation or you know I made this commitment and I need to write this code is see it as like OK i'm gonna learn something from this some way or another and that really changes the way that you think about it and find someone to hold you accountable developer if you get stuck find someone to pair with do your research before you reach out to the community for help so go into the community with the sense of like OK and 1 2 3 things that I tried that didn't work can anyone help me yeah right and that's just like basic developer courtesy is do some work before you ask for help and have some responses when people start asking questions and and then just know that like like I said everything that you do is some amount of progress so your pull request you
written the code so you push it that you click the little button to make the poor request and get have Austin now in your poor class please so just make a pull request and submit an empty pull requests this is not helpful to anyone please list the the changes that you've made in detail if you made a fun and change of any sort even if it doesn't even if there's no difference maker before after screenshot especially the fun and change like CSS changes or not I don't mean anything to the eyes of the developer and there's no reading the mind in terms of like what would you change the way you made a difference different so screen just a really helpful and if you need something and it's like a little weak or a created different bug right back in the pull request right that's OK if you have ideas for future in improvements or were and you know it's like have done I mean not have done that had a good stopping place but there's still some work to be done make some lists of like do the to do list of here some new tasks here's some things that you might want to add to this later here's a feature that might be greater to depend on us and put that in there and maybe make issues for them and just don't do too much at once so sometimes you'll start working on the codon and be like actually we should refactor all the CSS to better fit the needs of the of the other from and developers will that the different poor quest that's not related to the task that you've chosen right or researcher change syntax research and things around you that separately he things very agile rate different on each each pull request should change a very specific thing because that allows the maintainer to say OK you did this 1 thing really well as opposed to saying like what did is 1 thing really well but then did this other thing and I don't need that and now I can't really separate out which 1 I need a much wider so be really clear about what you've done and make sure that it's a very box stuffing gray I fixed this issue 1 poor request 1 change the you think that that's important for request that was important for me because I was in a learning place and I want people to review my code and was was saying specifically like I'm to the back that's really important and that's a lot to other developers right and so I would say in the pull request because sometimes it can be a little touchy you want people to contribute to your code so you don't necessarily want call them out in and I don't wanna call rude is and I don't want ever people's feelings so the same really specifically like hey I'm really open to feedback about this I can see that there are some places that are weak like please let me know whether something is working or not as opposed to using you know the the opposite or the other option is like just ignoring the poor class right now let me know and I'll fix it I'm here to fix that this is not just a one-time drive by rate and so make sure that you're it's really clear that you are open to feedback on and constructive feedback uh make changes if the requested of you and this is more about again building that relationship and then like I said do your own research I fix things when you can make sure to clarify things if you have to and take it as a learning experience yeah the case so
and the last thing is taking all of this work that you've done and how you make it work for you whether it's been pulled into the code base and that rate so we're gonna be patient with a way for people to work through and we're in wait for people to get to the code into response you and but ultimately the code that you've written is could that you've written it's yours and exists out in the public realm unlike a lot of code that you may be right for your employer so and so what I would say that each pull request is a problem that is solved it might be a little problem there might be a big problem but the problem is solved so especially if you get a place where you are writing bigger things or fixing bigger problems and it becomes like its own little bubble that you can take 2 interviews in and use bound for people to see like this is the code there this is how I write code this how I solve problems these are widely to these changes this is where I got hung up at the story in and of itself that you can use uh in an interview with a potential employer and need up what have you and I actually when I was leaving the nonprofit world I went on to become a teacher assistant at the camp and on I got hired because I walked through 1 of my open source code pull request and had talks about all the teams that made in the things that I needed to learn in order to be able to make them and then wide on certain things right so pull request is its own little bullet point like make a blog post about something that you a pull request you done tweet about it added to your resonated substantial enough like you can in you focus on this code at work at work that you've done and similarly and uh the people that reviewed that code that work that you've done can become references if you play your cards right right so all those people there really a code commenting on your pull request maintainers like myself you know if you are building a relationship and if you are using another mode using a pull request user-mode example quest Vossen confetti balls agree 1 cut us off some clap is good do it do it do it but you don't get your personality across through the communication is that you can follow them on Twitter chit chat with them like be active in the community to be island the hype about their projects you know and that's a good way to build connections and I don't mean like a smarmy where a few like the contributor that you don't and you know whatever and here's some code by and but you can build those relationships over time and get to a place where and where now you have references in the community that maybe you wouldn't have otherwise and those references know your code it's not like you metadata exchange business cards Pollock they're really into your Twitter stream they know your code they know the work that you do so that's pretty awesome and if you add value to a product over time you can also become like a comment maintaining it would have a higher level of of responsibility but this might not translate into anything like on the internet at but it will translate into something like being able to commit directly to the code base potentially or being able to review other people's coder being given responsibilities and again furthering that relationship that you have with people that you're writing code for and then and I would say it to make sure that your tracking all the work that you do so if you're writing issues about bugs and you're writing like these expensive kind of examinations of about well that's the way it it and if you are doing code reviews on other people's pull requests like that's only developer levels that you know and if you are an yeah here and if you're writing code like your developer even if you're changing careers area from a different background and I I just think that like make sure that all work that you're doing you know that that's work that you've done it exists it's it's there in the world whether somebody acknowledges that whether you get that request emerged in or not as so build relationships work with the same product over time can be really awesome nothing is like as well things you're relations of people matter kind in the community that you're in if the community itself is isn't kind find another community it's not worth it you know I Ch work overtime to make sure that people get to know you take advantage of opportunities if you want to and if you can and 1 of the best things for me about the open source projects word that I don't have to come up with the idea and somebody else at propagating and terrible the idea part and like taking something from scratch but being able to just pick up a problem in a larger in a larger pool and with more meaning was really nice so it's a great opportunity to work together and to collaborate and and you should fill those religious to take advantage of it the and so be kind to yourself right open source code and worst comes to worst like I said mountains of those and so if you wanted to submit of organs of emotions we often have a hand so that's it thank you very much
the the the the the the the the end of the
Ortsoperator
Open Source
Mathematisierung
Automatische Handlungsplanung
Systemverwaltung
Systemplattform
Strömungsrichtung
Systemplattform
Ereignishorizont
Code
Computeranimation
Übergang
Softwarewartung
Tabellenkalkulation
Code
Projektive Ebene
Softwareentwickler
Bit
Subtraktion
Sichtenkonzept
Punkt
Prozess <Physik>
Rahmenproblem
Open Source
Versionsverwaltung
Schreiben <Datenverarbeitung>
Schlussregel
Binder <Informatik>
Bitrate
Ereignishorizont
Code
Computeranimation
Entscheidungstheorie
Open Source
Prozess <Informatik>
Rechter Winkel
Code
Projektive Ebene
Kantenfärbung
Partikelsystem
Versionsverwaltung
Offene Menge
Informationsrate
Gemeinsamer Speicher
Formale Sprache
Versionsverwaltung
Computer
Computeranimation
Videokonferenz
Softwaretest
Code
Translation <Mathematik>
Softwaretest
Objektverfolgung
Softwareentwickler
Sichtenkonzept
Physikalischer Effekt
Profil <Aerodynamik>
Bitrate
Softwarewartung
Rechenschieber
Polstelle
Rechter Winkel
Projektive Ebene
Programmbibliothek
Message-Passing
Lesen <Datenverarbeitung>
Tabelle <Informatik>
Fehlermeldung
Telekommunikation
Web Site
Subtraktion
Selbst organisierendes System
Kombinatorische Gruppentheorie
Code
Puffer <Netzplantechnik>
Multiplikation
Vererbungshierarchie
Programmbibliothek
Abstand
Softwareentwickler
Hilfesystem
Soundverarbeitung
Diskretes System
Open Source
Zwei
Binder <Informatik>
Programmfehler
Programmfehler
Echtzeitsystem
Offene Menge
Verkehrsinformation
Bit
Prozess <Physik>
Punkt
Mathematisierung
Versionsverwaltung
Abgeschlossene Menge
Hinterlegungsverfahren <Kryptologie>
Raum-Zeit
Code
Computeranimation
Übergang
Task
Fehlertoleranz
Open Source
Erwartungswert
Bildschirmmaske
Endogene Variable
Programmbibliothek
E-Mail
Hilfesystem
HIP <Kommunikationsprotokoll>
Physikalischer Effekt
Open Source
Güte der Anpassung
Teilbarkeit
Quick-Sort
Entscheidungstheorie
Softwarewartung
Flächeninhalt
Rechter Winkel
Mereologie
Projektive Ebene
Wort <Informatik>
Information
Prozess <Physik>
Open Source
Likelihood-Funktion
Versionsverwaltung
Elektronische Publikation
Bitrate
Wiki
Computeranimation
Menge
Rechter Winkel
Klon <Mathematik>
Mereologie
Projektive Ebene
Information
Auswahlaxiom
Hilfesystem
Fehlermeldung
Sichtbarkeitsverfahren
Prozess <Physik>
Mathematisierung
Versionsverwaltung
Verzweigendes Programm
Routing
Computer
Bitrate
Binder <Informatik>
Code
Computeranimation
Beanspruchung
Menge
Twitter <Softwareplattform>
Rechter Winkel
Mereologie
COM
Vorlesung/Konferenz
Projektive Ebene
Streuungsdiagramm
Klon <Mathematik>
Rückkopplung
Bit
Subtraktion
Quader
Klasse <Mathematik>
Mathematisierung
Term
Code
Hinterlegungsverfahren <Kryptologie>
Computeranimation
Videokonferenz
Task
Arithmetische Folge
Endogene Variable
Softwareentwickler
Hilfesystem
Touchscreen
Mailing-Liste
Bitrate
Quick-Sort
Konfiguration <Informatik>
Programmfehler
Softwarewartung
Rechter Winkel
Mereologie
Telekommunikation
Punkt
Web log
Selbst organisierendes System
Mathematisierung
Schreiben <Datenverarbeitung>
Code
Computeranimation
Übergang
Spezialrechner
Streaming <Kommunikationstechnik>
Dämpfung
Endogene Variable
Notepad-Computer
Softwareentwickler
Einfach zusammenhängender Raum
ATM
Open Source
Relativitätstheorie
Biprodukt
Bitrate
Chipkarte
Programmfehler
Videokonferenz
Softwarewartung
Arithmetisches Mittel
Twitter <Softwareplattform>
Flächeninhalt
Mereologie
Projektive Ebene
Wort <Informatik>
Ordnung <Mathematik>

Metadaten

Formale Metadaten

Titel Level Up with OSS
Untertitel Develop Your Rails Dev Skills Through Open Source Contributions
Serientitel RailsConf 2015
Teil 21
Anzahl der Teile 94
Autor Ervin, Courteney
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/30678
Herausgeber Confreaks, LLC
Erscheinungsjahr 2015
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Whether it’s through bootcamps or sheer willpower, hundreds of freshly-minted developers have used Rails to begin their careers. But all of the well-formed Twitter clones in the world are not a replacement for experience working on an active project. Enter open source. Open source contributions hone crucial web development skills, like version control; comprehension of an full code base; and even an understanding of agile processes--not to mention being a clear indicator of your hirability. Join us to learn how to push through any intimidation and strengthen your portfolio with open source!

Ähnliche Filme

Loading...