It’s the end of the tech boot-camp I’m working at and I have a lot that I want to pass on to my students before they leave. The first thing I wanted to say is to Immerse yourself into the Tech World. The second thing is to find ways to Work with Others.
It wasn’t until I added projects or experiences to my resume where I was on a team that employers started to take my resume seriously. The majority of interviews had a question that was related to teamwork so these experiences became invaluable.
With that said, here are five paths to working with others that can help you get the experience needed for that first job.
Hackathons are software development competitions where small teams build an application to win a prize. Hackathons come in many flavors and each has potential to teach you something about tech. The following is the few I have been exposed to but there are many more:
- Hackathon built around the hosting company technology. An example is Amazon may want all teams to build something with AWS. These are good on resumes in that it shows experience with technology real world companies use.
- Hackathon geared toward using civic data to benefit a city. An example is Memphis, TN had a Civic Data hackathon where teams use data (think housing blight stats, bus routes, etc.) from the city to improve it. This type is a great conversation starter in that it shows innovation and passion to help others.
- The ultimate Hackathons allow you to build whatever you like and the best projects wins. These types of projects help your resume stand out.
- Hackathons that are created to help nonprofits. An example is the Give-Camp hackathons hosted all over the United States. Teams build websites and similar applications for nonprofits. Imagine explaining a project to help a homeless shelter to an interviewer. Instant respect and you will be remembered.
Most hackathons happen over a single weekend from Friday night to Sunday afternoon. Because of the time constraint, teams race through 72 hours of rush coding, with little rest, and lots of coffee to build a winning application. While this sounds grueling, it can be done. Know your limits, push your limits, but respect your body. Good teams work well, efficiently, are organized, and never ask someone to go farther then they are prepared to go.
I have been a part of international hackathons that are hosted online that stretch for several weeks. These aren’t as grueling but the competition level is higher. Local hackathons have 5-10 teams. International hackathons have hundreds but the prizes are exponentially higher.
Some perks of a Hackathon:
- Opportunity to build lifelong coding buddies.
- Network with experience developers who are watching what you are building. This is a chance to impress them, get to know them, and one day get that golden referral.
- You can learn from and befriend experienced developers. I got randomly paired up with a local hero of mine during hackathon. He politely taught me a new technology and gave me lots of coding advice. That hackathon was a WIN WIN for me in every way imaginable. Months later I watched him give a tech talk at a conference and was able to get a one on one lecture later. A year later I was stuck on a coding issue and he successfully guided me through a solution. That hackathon experience kept on giving.
- LOTS OF FREE SWAG
- Good eating. I have never been to a hackathon where they didn’t feed you like royalty.
- Local tech companies normally send representatives to hackathons. This is a great opportunity to talk them up and swap contact information.
Tips to finding hackathons:
- Join tech communities like Slack, Discord, and Twitter to learn about hackathons when they are posted.
- Visit local colleges' computer science departments to learn about hackathons. Some colleges allow anyone to join.
- Check with your nearest big city for civic hackathons. I learn about mine through their Twitter account.
- Many large cities sponsor tech hubs, startup incubators, and similar initiatives that host hackathons.
- This startup hosts year round hackathons [MintBean.io](https://mintbean.i
One of the best decisions I made in my tech journey was to join the Code Connector non-profit. Benefits I enjoyed:
- I was able to use my skills to build small applications to benefit my community and then later talk about the impact of these apps in interviews.
- Working with the nonprofit allowed me to channel my passion to help others in a way that could be expressed during interviews. I could talk about my leadership role, times I mentored others, and other experiences. Even better, is when someone interviews me who has heard of or been affected by that nonprofit (instant street cred).
- The work with the nonprofit allowed me to bond with senior developers within the group who later invited me into freelance opportunities and mentor me. This helped set me up later for referrals.
My advice is to take time thinking about a few topics you are passionate about and then find tech or non-tech nonprofits you can join. Let them know you are interested in the tech side of things and want to contribute. Be open about your skillset and time limitations. Figure out how you can "happily" assist them. I can't stress enough to be authentic and only do what you feel comfortable doing. As you add value to the organization, record your efforts. Slowly focus on building a narrative of success, learning, and development. Even more important is to strive on working with others and getting that experience of teamwork.
I think developers get more, good and bad, opportunities to work with others from people they know. My biggest advice is to say “Yes” to opportunities while being aware of your time, abilities, and ensuring that the workload is being properly shared.
The bad is sometimes people want you to do lots of unpaid complicated work for free. They have dreams of grandeur and are cashing in based on your sweat and blood. Don’t fall for it. Some of my most depressing moments in life were while building an application for family. While I wanted it just as bad as them, it was tons of stress piled on to me with no help or understanding of the rigors of development.
The good is having a project that you are passionate about because it affects or will be used by someone you know. A team can help you set clear goals, user stories, and testing for the app. They can provide you with the mental support and non-technical resources. Working in a group can greatly speed up development by sharing the workload and each person specializing in different technologies or areas of interests.
My personal example was a hackathon project I did with my boot-camp co-teacher assistant. We built a mental health app. I focused on the front-end while he focused on the backend. We finished the app in time and in a way where we won the hackathon. I couldn’t have done it without him. That teamwork made the dreamwork.
When you actively pursue being involved in communities you increase your chances of being asked to work on side projects with others. When developers in Slack, Discord, and other social media sites see how active you are and get to know your personality then they are willing to ask you for help.
Also think of this activity as practicing your soft skills. Being able to communicate verbally and written is essential to working in a team. That ability to help others is huge in the tech community. Once again, joining communities is practice for the future.
From me watching others, posting interesting things related to the conversation is a great passive way to stand out. Slowly show your expertise on a subject. In time, someone will reach out to you for help or to contribute to a side project.
Think of it as fishing. You need to cast your specific special gifts as a hook to multiple places to catch a fish. That hook needs to be attractive. It can't be ugly, abusive, or so small that no one notices it.
In the tech world, outside of personal projects, open source contributions is the holy grail of teamwork. Open source is designed for teams to build build software. Simply google “first time contributor” or other tags to find projects that are open to beginners. Interviewers and hiring managers love when someone can show a history of open source contributions.
With that said, the benefits of joining a open source team is:
- By reading the code you learn how more experience coders code.
- The majority of the code you write will be reviewed. This is like a 1 on 1 review session designed to make you better. This is something you can talk about in an interview.
- You get a glimpse at how code or a project is organized at scale.
- The number one benefit is having your code seen by others and the software use by others.
I converted several blog posts similar to this one into a free e-book called "Advice for Breaking into Tech". The book summarizes advice from 700 developers about learning how to code and looking for your first job in tech into an easy-to-read narrative.
Click for your free Download