Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting the Most From Your Coding Community

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Getting the Most From Your Coding Community

Lightning talk on utilizing your resources, doing your research, and asking great questions to learn how to code with the help of your community.

Avatar for Garett Arrowood

Garett Arrowood

May 16, 2016

More Decks by Garett Arrowood

Other Decks in Technology

Transcript

  1. Getting the Most From Your Coding Community Garett Arrowood linkedin.com/in/garettarrowood

    [email protected] @garettarrowood Thanks for having me. Before we talk about ways to best utilize our professional community, lets clarify…
  2. Why Why? Why do we want to leverage our programming

    community? Community One great benefit is that utilizing a community makes us part of that community. And community offers new friendships, provides a support system, and gives us a sense of belonging. Not to be underestimated when you make yourself vulnerable by learning something new and exposing your ignorance. But another great answer is that our community knows a lot more things than we do. After all, there a many in a community, and only one of us. And since we all want to grow, learn, and become experts at our craft, there is a lot to learn from our peers. They have answers and we have questions.
  3. Getting the Most From Your Coding Community So this talk

    is titled “Getting the Most From Your Coding Community.” But a lot of its content will feel more like a talk called: Getting All Your Programming Questions Answered Getting All Your Programming Questions Answered (Pause) I will divide it into 3 parts.
  4. Where WHERE to go with all of your questions. When

    Where What you do WHEN you are ready ask. How When Where And HOW to get those questions answered.
  5. Let’s start with the easiest section. Where to go with

    questions Where to go. If you are listening to me give this talk right now, you know about technology meetups. Out of curiosity, is there anyone here that did NOT learn about this event from meetup.com? (hands) There is no end to the amount of events you can find and attend on meetup.com. These are the places where you get to ask your best questions. The ones that continue to feel unresolved in your mind. It is smart to take some short notes at these, because you do NOT have a chat history to look back over.
  6. www.meetup.com/ www.hypepotamus.com/ events/ If you cannot find everything you need

    on meetup.com, you can check out Hypepotamus’s event page. It may pick up something meetup misses. Does anybody have other places they look for recurring Atlanta meetups? Slack is an excellent tool for getting guidance. tech404 Personally, I have gotten more help from Atlanta’s Tech404 Slack group than any other place. If you live in Atlanta, and you’ve ever had a question about code, sign up right now. But that’s not the only place to go.
  7. Android United Angular Buddies iOS Developers Tech Masters #FrontEndDeveloper SAAS

    Alliance Ruby Developers tech404 There is no end to the amount of tech communities on Slack. There are developers online, ready to answer your well-written questions 24 hours a day… There is always a place to go for help. www.slacklist.info/ To see a list of some the many Slack groups out there, type “Slack Groups” into Google, and click on this link. Stack Overflow may have been the first place that came to mind for programming questions. And it can be be a great resource. But I’d advise that if you are in your first 6 months of learning your 1st programming language, only use stackOverflow as a research tool.
  8. Most know why I say this, but let me be

    precise. Nothing deters a new learner more than feedback that implies their question is in some way stupid. We make ourselves vulnerable when we ask for help. Since StackOverflow often points out why your question is badly phrased due to lack of understanding of underlying principles, it can do unnecessary harm to a beginner’s confidence and motivation. Local Meetups Slack Groups StackOverflow WHERE? Alright. This list was not comprehensive. I didn’t even mention IRC, Reddit, or other means of finding Hackathons, Conferences and Special events. But using these resources could easily fill up all of your available time. When you are ready to ask Next we will talk about WHEN you are ready to ask those questions. But perhaps more precisely:
  9. When you are ready to ask You Might Not be

    Figuring out all you need to do before you use up your question quota. Research Have you done your research? When starting out, it is very hard to answer this question. So let’s break down some ways to get prepared. Documentation Have you read all the documentation about the tool or term you are having problems with? If it’s a question about a programming language, go to their docs. If it’s a question about an open source tool, go to their github, which probably links their docs. Question about a framework, go to their documentation.
  10. Documentation StackOverflow Did the documentation not make sense? Or your

    having trouble identifying the exact problem? Try typing your question into Google and hitting the first StackOverflow link. Was it a question about an error? Do the same thing by just dropping the error into Google. Or, just go to the StackOverflow site and search related questions from there. Documentation Blogs StackOverflow Still no luck? Jump back to Google and start browsing some blogs posts that look related. If they are long, use command F to jump around. Be as resourceful as you can. Documentation Blogs StackOverflow Source Code If you feel fluent in the parent language of your code issue, sometimes going straight to source code can be very helpful. If you have had success figuring things out this way before, you might even skip directly to this.
  11. But Garett, every search leads me to a bunch of

    other confusing terms I’ve never seen before, and I can not place where my problem fits into this huge pile of resources. I’ve felt like this many times. Hopefully, since you’ve done your research, even if it didn’t answer your question you NOW have a much better understanding of what you don’t know. Sounds like you might be ready to ask a question. Oh wait. Let’s do some rubber ducking first. I actually didn’t know what rubber ducking was for the first 4-5 months of learning to code, so let’s go over it real quick. Rubber Ducking “Rubber ducking” is a reference from “The Pragmatic Programmer” in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. You might want to couple this with writing out your question as detailed as possible.
  12. What am I saying? You may discover that it is

    really hard to vocalize or write your problem. When I realize I am typing something I don’t understand, that often leads me to a new Google search, takes me down my research cycle again, and leads me to a new solution to try out. www.debugschool.com/ www.p5js.org/tutorials/ debugging/ If your question involves debugging, here are just a couple great resources for strategies to approach your issue. I’ve nutshelled some approaches from these sites in this talk. (Pause) Now you are probably ready to ask your question. Sometimes you’ll feel like you don’t have enough time for all that research and want to cut to the chase. That’s your call.
  13. Keep a List When starting out, one of the best

    things you can do is keep a list of all your questions. Keep adding to that list, and keep working toward getting all those answered. This is super helpful when building a language architecture in your mind. Where Alright. We’ve talked about WHERE to go with questions. Where When WHEN we are ready to them.
  14. Where When How So, HOW do we get all of

    these questions answered? How do we frame these queries and utilize our coding community? Meetups The way you may ask questions in person, like at a meetup, depends on the style of the get-together. Meetups Presentations If the meetup contains presentations, like this one, wait until everyone has landed at a hangout afterwards to ask anything about personal projects. This can be a excellent time to get some career advice too.
  15. Meetups Hangouts If the meetup is simply a hang, just

    like after a presentation, you can receive some good detailed instruction. Before you launch into the your list of quandaries, be sure to ask your acquaintance if it is OK getting technical. Often the organizer of an event is eager to share their knowledge. Meetups Mentoring Then there are the Meetups that are all about getting your questions answered. This is where keeping a list of questions is vital. But meetups can be far away. You may be working, have a family, or simple be too exhausted from the days activities to drive downtown.
  16. Online In which case, you go online. When asking questions

    online, you want to be as detailed as possible, yet still boil your question down to just the essential information. Have you heard of the X/Y Problem? X/Y Problem Online The X/Y problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y should work, but instead of asking about X, you ask about Y. To avoid falling into this trap, always include information about the broader picture along with your attempted solution. Online Complicated What if you have a pretty intricate question? Best thing to do is create a gist of all your associated files. Alternatively, you could set up a JSFiddle, Codepen or Plunker of the issue. The goal here is to make your question as easy to reply to as possible.
  17. Online If you are using Slack to ask questions, which

    I hope you are, spend some time getting to know the interface. I’m always surprised to see people who are on Slack everyday, yet don’t know a lot of its basic functionality. `inline` vs. ```snippet``` Know how many ticks it takes for inline code, vs. a code snippet. `inline` vs. ```snippet``` click icons to view details Check out unique channels and pinned posts to get more information about the channel’s theme.
  18. click icons to view details `inline` vs. ```snippet``` edit your

    posts Absolutely edit your posts for spelling and grammar errors. There is no reason to clog up a chat feed with asterisked fixed spellings. Just Edit your post to show the attention you are putting in to your inquiry. Clean code / clean questions. click icons to view details `inline` vs. ```snippet``` edit your posts /experiment with /this If in doubt, create a new channel and experiment with the various tools Slack has to offer. For instance, you can edit your preferences, direct message someone, add a giphy, mute or leave a channel, invite someone to join, and even set reminders for yourself and others using backslash commands. click icons to view details `inline` vs. ```snippet``` edit your posts /experiment with /this courteous multiple postings One great trick for getting a quick response in Slack is posting your question in more than one group. Not channel, but group. When someone starts giving you a response, be sure to go back and delete your other postings, as to not take up anyone else’s time.
  19. click icons to view details `inline` vs. ```snippet``` edit your

    posts /experiment with /this courteous multiple postings But the most important thing when getting assistance in chat room is to be responsive. Give your helper your undivided attention. And do NOT take it personally if they leave or get distracted. They don’t owe you anything, they are probably working and you’re lucky for any help as it is. Online Let your responder take you wherever they want, even if it opens up a lot more questions or issues with your code. You don’t have to take their advice. But you are taking the time to ask questions to fix or improve your work, and you might have to backtrack for awhile to get to the root of your misconception. Face-To-Face/ Online Regardless of your platform. Be attentive in your feedback. If you don’t understand something, be specific about that misunderstanding and immediately address it. For example you might reply, “I understand X, Y, and Z, but I don’t know what you mean by Q.”
  20. GOLDEN RULE Afterwards, be grateful and be genuine. Thank everyone

    who participated, whether they were helpful or not. Because being successful in any field means building good relationships with all with whom you interact. The Golden Rule - treat others how you want to be treated - is always great to keep in mind. get.slack.help/hc/en-us/categories/ 200111606-Using-Slack www.catb.org/esr/faqs/smart-questions.html How to Ask Questions the Smart Way Here are some links that helped me compose this section of my talk. The first link is where you can go to learn a million more things about getting around Slack. The second is a great article by Eric Raymond called “How to Ask Questions the Smart Way”. It goes into great detail about this skill. And that’s it.
  21. How When Where Get familiar with your local meetups, Slack,

    and StackOverflow. Do your research and rubber duck before you ask your questions. And be considerate and thorough when talking with your peers and colleagues. Garett Arrowood [email protected] linkedin.com/in/garettarrowood @garettarrowood Full-Stack Developer for I’ll post these slides in the Javascript channel on Tech404, and wherever else they might me wanted. Thank you for having me!