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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.”
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.
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!