Asking for help is challenging but is typically worth it
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Recently I’ve been thinking on the subject of asking for help. In short, it’s hard to ask for help. It involves admitting to yourself that you can’t solve the problem alone, opening yourself up, hoping that another person will understand you and guide you in the right direction. Thus it can be painful if your request for help is misunderstood, met with criticism or ignored. Regardless of these obstacles, I think that the potential rewards make it worth it.
I mostly encounter the situation of asking for help in two scenarios. One is about work, mostly R programming. The other one is about personal issues. There are plenty more, like spelling, cultural references, word definitions and academic citations.
Thank you!
— ???????? Dr. Leonardo Collado-Torres (@fellgernon) November 10, 2018
I’m always learning more English! Last night it was “yule” via @BenLangmead and others#DeepLearning? ???? pic.twitter.com/kX9JTnSBAn
PCR was invented by Kary Mullis in 1984. He won the Nobel Prize in chemistry for it in 1993. real-time PCR (qPCR) was developed about ten years later and originates with this paper: https://t.co/gpIOr3s7PG
— Lior Pachter (@lpachter) November 10, 2018
Programming context
In the context of R and Bioconductor, and programming in general, it can be scary to ask for help in public forums such as a GitHub issue page, the Bioconductor Support website, the RStudio Community website, etc. That’s because you might get a very short reply that can seem unhelpful if it involves terms you are not familiar with (though it might be a precise reply). There are also issues with online communities that I won’t get into. Over the years, I’ve tried to help those who will potentially answer my questions by:
- Double checking the documentation1.
- Providing information to reproduce my problem: sometimes doing so makes me realize my mistake.
- Trying for a while (>20 min?) to solve the problem by myself which involves googling quite a bit. However, sometimes I’m not aware of the correct search terms.
- Avoiding sounding like I’m demanding help, asking for help immediately or requesting the same person for help lots of times in a short time window2.
I’ve also tried to highlight my main question, though this can be hard when you are not sure what’s wrong.
When I get a short reply that seems unfriendly, I try to be appreciative of the time this other person took to reply to me. The terms they use in their reply can be important clues on what to search on Google next.
Language matters and I hate it when others make me feel dumb instead of guiding me to the right documentation/website, while others might dislike receiving tons of loose ended questions. Ultimately, this process requires patience on both sides and I highly value efforts by others that try to make it easier for both the person asking for help and the person responding. See for example:
- Help me help you. Creating reproducible examples – Jenny Bryan
- Get help – tidyverse version
- Getting Help with R
- How to ask for help for Bioconductor packages (which I wrote)
Here are some my recent requests for help with replies by others:
- ENCODE-DCC ATAC-seq pipeline
- bioc-devel macOS Mojave building from source issue
- rJava with R 3.6 and macOS Mojave
- bioc-devel NAMESPACE issue
I still make mistakes by not been clear enough sometimes, that’s why I typically say: “please let me know if you need more information” or something along those lines.
Personal context
Asking for help in a programming context is hard because you are leaving your questions public (most of the time): that way you can reach multiple people that can potentially answer your question, and the people answering the question want them to be public with the hope that the answers will help others. Asking for help in personal context is different, since it tends to be in private.
This might just be me, but I’ve had several situations in my life where I’ve opened up and asked a group of individuals for help. For example, I recently started a conversation with several friends about ways to limit alcohol consumption. It was scary at first to bring this topic up, but the friends I talked to about this subject had also been thinking about it and it lead to some great conversations. I have other examples listed in my timeline3 on occasions where others have helped me with career advice.
One story that I want to share now is about grad school. I was a first year student and I had an accident one Friday in February. I knew immediately that I needed a surgery to repair my shoulder. I already had experience with orthopedic surgeons in Mexico whose quality was widely variable: it took my family years to find one we could trust for my first surgery. In my first year at a new city and country, I didn’t have my family’s network support. So I reached out via email to the faculty that I had met in person with the hopes that one of them knew a good orthopedic surgeon. This was a personal help request, so I didn’t use the Department wide mailing list. The response was excellent, and not only did some faculty help me find an excellent orthopedic surgeon, but also get an appointment with him for Monday. After my appointment on Monday, I replied to the same set of faculty thanking them for their support.
Later that week, one faculty dropped by my office to reprimand me for emailing all the faculty. I assume that this faculty thought I had emailed the whole Department. This situation shocked me and made me feel awful. My mind started racing and I wanted to clarify the situation with the faculty member. It was taking a lot of my internal courage to approach this faculty member and a second faculty member noticed that I wasn’t well. This second faculty member listened to me4 and later invited me to have dinner with his family.
A Department staff member also helped me during these weeks and pointed me to the Johns Hopkins Student Assistance Program where I got help (2 or 3 sessions). Getting professional help was great; some things I remember were that they explained to me that I was mourning since injuring my arm was like losing a piece of me (given my injury history) and they also explained potential cultural differences that lead to the situation with the first faculty member. Once I calmed down, I did email the first faculty to clarify what had happened.
This was a rough situation and probably my toughest moment in grad school, or at least among the top ones. I also value it as a learning moment and it fueled me and continues to do so in some ways. For example, it motivated me to organize Cultural Mixer events (see the ad for the third event), with the hope that they would help us understand each other better5, as well as creating the Biostat Social mailing list (now defunct but replaced by a Department Slack). I also think that the reactions to my request for help were overall positive. The balance for sure is positive although there was a bit of negative in the mix. I wish others would just get positive reactions with zero negative ones, but there are no guarantees.
Closing thoughts
With this post I’m hoping to invite others to reflect on situations that involve asking for help. I also hope that others break their internal barriers and ask for help when needed. Echoing words of others, asking for help takes courage. Given the potential rewards, I encourage you to ask for help from your family, friends and colleagues depending on the situation. Simply knowing the term(s) for what you are searching for in code or for what you are feeling (for example, imposter syndrome) can help a lot. Also being directed to professionals, like JHSAP in my shoulder story, and the proper documentation manual, like the R admin devel manual, can propel you in the right direction.
Best of luck walking the uphill path of asking for help!
Acknowledgements
This blog post was made possible thanks to:
References
[1] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.8. 2017. URL: https://CRAN.R-project.org/package=knitcitations.
[2] G. Csárdi, R. core, H. Wickham, W. Chang, et al. sessioninfo: R Session Information. R package version 1.1.1. 2018. URL: https://CRAN.R-project.org/package=sessioninfo.
[3] A. Oleś, M. Morgan and W. Huber. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.10.0. 2018. URL: https://github.com/Bioconductor/BiocStyle.
[4] Y. Xie, A. P. Hill and A. Thomas. blogdown: Creating Websites with R Markdown. ISBN 978-0815363729. Boca Raton, Florida: Chapman and Hall/CRC, 2017. URL: https://github.com/rstudio/blogdown.
Reproducibility
## ─ Session info ─────────────────────────────────────────────────────────────────────────────────────────────────────── ## setting value ## version R version 3.5.1 (2018-07-02) ## os macOS Mojave 10.14.1 ## system x86_64, darwin15.6.0 ## ui X11 ## language (EN) ## collate en_US.UTF-8 ## ctype en_US.UTF-8 ## tz America/New_York ## date 2018-11-13 ## ## ─ Packages ─────────────────────────────────────────────────────────────────────────────────────────────────────────── ## package * version date lib source ## assertthat 0.2.0 2017-04-11 [1] CRAN (R 3.5.0) ## backports 1.1.2 2017-12-13 [1] CRAN (R 3.5.0) ## bibtex 0.4.2 2017-06-30 [1] CRAN (R 3.5.0) ## BiocManager 1.30.3 2018-10-10 [1] CRAN (R 3.5.0) ## BiocStyle * 2.10.0 2018-10-30 [1] Bioconductor ## blogdown 0.9 2018-10-23 [1] CRAN (R 3.5.0) ## bookdown 0.7 2018-02-18 [1] CRAN (R 3.5.0) ## cli 1.0.1 2018-09-25 [1] CRAN (R 3.5.0) ## colorout * 1.2-0 2018-05-03 [1] Github (jalvesaq/colorout@c42088d) ## crayon 1.3.4 2017-09-16 [1] CRAN (R 3.5.0) ## digest 0.6.18 2018-10-10 [1] CRAN (R 3.5.0) ## evaluate 0.12 2018-10-09 [1] CRAN (R 3.5.0) ## htmltools 0.3.6 2017-04-28 [1] CRAN (R 3.5.0) ## httr 1.3.1 2017-08-20 [1] CRAN (R 3.5.0) ## jsonlite 1.5 2017-06-01 [1] CRAN (R 3.5.0) ## knitcitations * 1.0.8 2017-07-04 [1] CRAN (R 3.5.0) ## knitr 1.20 2018-02-20 [1] CRAN (R 3.5.0) ## lubridate 1.7.4 2018-04-11 [1] CRAN (R 3.5.0) ## magrittr 1.5 2014-11-22 [1] CRAN (R 3.5.0) ## plyr 1.8.4 2016-06-08 [1] CRAN (R 3.5.0) ## R6 2.3.0 2018-10-04 [1] CRAN (R 3.5.0) ## Rcpp 1.0.0 2018-11-07 [1] CRAN (R 3.5.0) ## RefManageR 1.2.0 2018-04-25 [1] CRAN (R 3.5.0) ## rmarkdown 1.10 2018-06-11 [1] CRAN (R 3.5.0) ## rprojroot 1.3-2 2018-01-03 [1] CRAN (R 3.5.0) ## sessioninfo * 1.1.1 2018-11-05 [1] CRAN (R 3.5.0) ## stringi 1.2.4 2018-07-20 [1] CRAN (R 3.5.0) ## stringr 1.3.1 2018-05-10 [1] CRAN (R 3.5.0) ## withr 2.1.2 2018-03-15 [1] CRAN (R 3.5.0) ## xfun 0.4 2018-10-23 [1] CRAN (R 3.5.0) ## xml2 1.2.0 2018-01-24 [1] CRAN (R 3.5.0) ## yaml 2.2.0 2018-07-25 [1] CRAN (R 3.5.0) ## ## [1] /Library/Frameworks/R.framework/Versions/3.5devel/Resources/library
Sometimes I simply don’t understand the documentation, or I’m not aware of the best documentation for my problem.↩
Doing any of these typically won’t get you anywhere. The person(s) responding to your help requests is(are) also busy!↩
Or tried to because I couldn’t contain the tears.↩
Among other great reasons, I’ll write a blog post about them sometime soon.↩
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.