13 Social Media  “[T]oday’s programmers, developers, and code enthusiasts have fully embraced social media. Social media is an incredible vessel for collaboration, sharing, and information discovery, and there are now many great tools that aid in web and software devel- opment.” Ben Parr, mashable.com In today’s world, there are many different types of social media that appeal to various audiences. As a programmer, you will find that some are more equal than others when it comes to networking or being used as learning tools. This chapter will cover the how, what, when, where, and why of using social media to further your goals.  Micro-blogging Examples: Twitter, Minds.com The basic idea of these platforms is to follow people and organizations that are interesting to you. While you write 280-character (micro-blogs impose a character limit) posts about whatever is on your mind. The platform then becomes a dynamic RSS feed where you are shown content that is relevant to you based on what you talk about and the people you follow, including news, opinions, dis- cussions, etc. Right now, Twitter is by far the largest micro-blogging platform so it’s a good idea to have an account there to connect with people in the industry. As the saying goes, ”Twitter is for the people you want to meet.” Connecting with People In order to network effectively, you will have to ask people to connect with you. As you start meeting people at events, you should exchange Twitter handles (your Twitter name that begins with an ‘@‘) with them. If you give a talk at a meetup, ask people to follow you on Twitter. If you have business cards or a personal website make sure you include your Twitter handle with your contact infor- mation. It will take some time, but you will start to see yourself building professional connections if you keep working at it. This isn’t only important for seeing current industry news; Twitter can help you find jobs and other opportunities. When a com- pany is looking for talent, many people post about it on Twitter. There are also programs, classes, conferences, and other opportu- nities that people will Tweet about and that will come up in your feed. I’ve personally received several freelancing jobs from people who found me on Twitter. Content Here are some things you should be posting on Twitter: •Blog posts you write •Projects you are working on •Things you are learning •Articles and videos you find useful Making your content discoverable largely depends on smart usage of hashtags on Twitter. Many people and organizations follow, or scroll through feeds of, these hashtags, so you have a much higher chance of people seeing what you posted by using them. Make sure to use appropriate hashtags on most, if not all, of your Tweets. Some examples are adding things like #JavaScript, #webdev, and #nodejs to the end. It’s helpful to know that once you start typing a hashtag, Twitter will automatically make recommendations of how to complete it, allowing you to see a filtered list of popular hashtags (make sure you spell it correctly). When to Post Since the Twitter feed can really suck you in and turn five minutes into an hour of scrolling, it’s good to limit yourself and only log in at scheduled times of the day or while you have just a few minutes to spare. For better time management, you can also sched- ule your Tweets. I personally use a free service called Buffer for this, but there are many other sites that do the same thing. It works by connecting to your Twitter account, then you type your Tweets into the Buffer interface to be posted on Twitter at a specific time in the future. This also helps if you have several things you want to Tweet about, you can just write them all down and schedule them to go out at different times in the future. Community Right now, Twitter has a great developer community: you can see current news in almost real time and Tweet about all the things you are working on for people to see. If you do not have an account, you should sign up right away. The goal is to build your online brand and tell people that you are serious about programming by Tweeting, blogging, etc. If you already have an account, try to make it development-focused as much as you can. It’s okay to Tweet an occasional cat or family picture, but you should try to leave out the politically charged or possibly offensive stuff. You never know who is going to look you up online when you start applying for jobs. Try to Tweet at least every few days about what you are working on and quickly scroll through what influencers are Tweeting about to stay current. Do not be negative or demeaning, orshoot people down. Keep things short, sweet, and positive. TIP: Taboo Topics People can misunderstand what you are saying or easily take things out of context on Twitter (the platform is known for this). A few hundred characters or even a series of Tweets is not always the best medium to convey certain opinions or deep thoughts. If you think something you are about to Tweet might be out of place, ask someone for a second opinion before you post it. If you do end up accidentally saying something that people find offensive, sometimes it’s best to just delete or rephrase your Tweet to eliminate fu- ture confusion. Q&A Sites, Forums Examples: Quora, Stack Overflow, Reddit, freeCodeCamp Forum Stack Overflow is incredibly useful for finding answers to your programming questions, but it can sometimes be brutal if you are asking a question as a beginner. I recommend participating in the freeCodeCamp forum when you need to ask a coding-related question and only using Stack Overflow to search for answers. Both platforms allow you to earn badges and reputation points and progress through levels of trust in the community which can lead to more connections and opportunities in the future. People have received job offers from their outstanding answers on Stack Overflow, but as a beginner, this is highly unlikely. You are better off spending your time studying and building portfolio projects rather than trying to write detailed answers. Quora is another popular Q&A site in the programmer community. There are lots of great answers and information on the site and they also allow you to build a reputation and get labeled as an ”expert” on any topic once you answer enough questions, but keep in mind this status does not mean much when it comes to finding a job or growing your career. If you see a question and can con- tribute some quality information, do that. Then log off and get back to your studies. Reddit is a great tool to use for discovering new technologies and ideas that might interest you, learning concepts, or showing off something that you built. You will have to engage in discussions, not just promote yourself. The site is divided up by topics into ”subreddits” and there are many of these that relate to programming. Some subreddits to check out: learnprogramming, program- ming, dailycoding, and freecodecamp.  Chatrooms Examples: Discord, Gitter Most large open source projects will have a related chatroom either on Discord or Gitter. Both of these apps are free to use and popular in the open source community. For example, the React.js and Vue.js projects both have Discord chats and freeCodeCamp has a popular community on Gitter. These chatrooms are great for having discussions and are even divided up into rooms that make it easy to post resources, make announcements, and post other content that you do not want to get lost in the main chat feeds. If you are learning a specific framework like React, that will be a major part of your resume and why someone will hire you, and joining a React-related community chatroom can help you stay up-to-date with announcements, events, updates, problems, etc. Interviewers are always impressed when you know what’s current in the technologies you work with.  Other Social Media Examples: Facebook, YouTube Facebook is a great place to find local coding groups and events. It’s also a place that tempts you to waste many hours scrolling through your home feed. To mitigate this problem, I do not have the Facebook app on my mobile device and I use a browser exten- sion to block access to the site from my computer unless I specifically remove the block. When I need to use Facebook, I unblock it temporarily, check the groups and events I want to check, then re-block it. This helps me stay focused on what I really need to get done instead of mindlessly scrolling. Speaking of mindlessly consuming content, many people have a similar problem with YouTube. It is easy to have the intention of watching just one tutorial, then realize twenty minutes later that you are already a dozen videos deep in the rabbit hole. If you are struggling with this, I suggest using an internet search engine like Google.com or Duckduckgo.com to look for the videos you want and playing them through the search engine rather than going straight to YouTube. This will help you avoid navigating through screens of distracting suggested content in order to get to the video you really want to see. None of this is meant to dissuade you from using YouTube. There are many, many great programming channels and tutorials hosted there. Also, video content is a great medium for explaining concepts in lieu of having an in-person professional mentor. There is a large community of programmers that create free tutorials for learners exactly like you. Some good YouTube channels to check out: The Coding Train, freeCodeCamp, Traversy Media, learncode.academy, and, my own channel, Faraday Academy (for- merly Coding with Gwen). TIP: Avoid Wasting Time on Social Media “The tycoons of social media have to stop pretending that they’re friendly nerd gods building a better world and admit they’re just tobacco farmers in T-shirts selling an addictive product to children. Because, let’s face it, checking your “likes” is the new smoking.” Cal Newport, Digital Minimalism I already mentioned some tips about focusing, but I want to reiterate here that social media time is not learning time. It’s infin- itely more valuable to focus and build a project than to interact on social media for hours. If you feel like you might have a problem with wasting time on certain sites, I suggest you keep track of how much time you spend on each site per day and review it cumula- tively over the course of a week. An app like Rescue Time can help you with this. (Disclaimer: you might be shocked by the results!) I also highly recommend you read the book, Digital Minimalism by Cal Newport where he gives advice on how to overcome digital addictions. Conclusion Do not underestimate the value of social media on your career but do not waste time on it either. Use the tips I’ve outlined in this chapter to help you use these platforms effectively. Action Steps:  1.Sign up for Twitter and start connecting with people. 2.Update your Twitter description to include your learning/career goals. 3.Build a profile on LinkedIn or give your current one a makeover. 4.Ask at least one person to review your social media profiles and LinkedIn to make sure it’s professional and paints you in the right light. 5.Use Facebook to search for coding groups and events in your area.