This post was co-written by Corinne Warnshuis & Yasmine Mustafa
ladyhacks-hackathon

A picture from the first Philly women’s hackathon, LadyHacks.

The main goal of most of the tech-related groups in Philadelphia is leave a measurable impact on their members. Whether it’s to educate, network, build/create or grow, they revolve around strengthening the community.

Are you part of one of these groups? If not, take a look at the plethora of choices listed on Technically Philly. Running one of organizations takes time, dedication, passion and love from volunteers. In this post, we’ll provide specific ideas you can utilize to assist your favorite technology group as an individual, company, and even as another tech group.

As an individual, here are some ways you can help:

  1. Volunteer: Every meetup requires setup of some kind – whether it’s setting up the space, picking up refreshments, or coordinating with the space host – the list goes on. On top of planning the event itself, the organizers are usually tasked with these logistical tasks. Get involved by sending group organizers an email or a tweet offering your help. It may mean showing up a few minutes early or staying a few minutes late, but it’ll make a big difference. At Girl Develop It for example, we’re always looking for teacher assistants (TA’s) to answer questions and reinforce what our students are learning. A well-organized event is usually a result of the volunteers, and it’s a job that makes for a great experience.
  2. Lead a session: Sign up to lead a talk about a topic you’ve just learned or something you’re passionate about. You don’t have to be an expert. We’ve found the best teachers are those who have practical experience in the industry, have a specific skillset, and can impart real world experiences and industry best practices to the students. If you’re not comfortable with public speaking, look out for “lightning talks” – five-minute talks – to begin. Getting up in front of a crowd of people is the best way to become a better presenter. What is in your repertoire that you can share?
  3. Host a project or hack night: We all need to make time to learn something new or dedicate time to a project we may be procrastinating on. At GDI, we hold project nights for our students to practice the new skills they’ve just learned. Typically, they’re at a cafe with free WiFi like Chapterhouse or Good Karma. You can help by taking the initiative to suggest a Meetup to your group (a lot of groups on meetup.com let you do that directly), garner interest, and meet to go through something that interests you, study with a group of people, or develop something. It’s also a great way to make new friends. Company sponsorships provide more incentives to groups by allowing them to subsidize their costs, streamline signups and of course, host affordable events.

As a company, here are some ways you can help:

  1. Volunteer your space: We’ve had a lot of great spaces for our workshops, such as Indyhall and WHYY, but we are always looking for more to increase our options for hosting classes. Do you have a conference room you don’t use weeknights? A training room set up with a projector? Let the tech community know by leaving a comment or contacting those that are relevant to your interests.
  2. Sponsor food: This is an easy one. Pick up the tab for pizza and drinks or send a check for a specific amount. Many groups allow 5 to 10 minutes for the sponsor to speak about their company or a position they want to fill. It’s the best way to grab the attention of a bunch of developers in one room.
  3. Make a donation to a group or event: Send the group organizer an email letting them you would be interested in sponsoring their next event. We usually have to track down companies to do this – anything you can do to make it easier would be vastly appreciated. Speaking of, we have to plug GDI’s brand new Scholarship Fund that helps unemployed women attend our programming classes.

Finally, tech groups can help other tech groups!

  1. Promote each other’s events: Notice another event that your members may be interested in? Tweet it, share it on Facebook or even better – email your group about it. We’re not competing against each other; let’s spread the love.
  2. Collaborate on sessions: Throw a joint-event or happy hour (something we want to do more of). Think of some ways you can work together to reach a bigger audience and host better events. After all, two groups can be better than one…or something like that!
And hey, even if you can’t help in any of these ways, you can always spread the word about local tech events to your network and mention any of these options to your employer, acquaintances, or friends.

EatSleepCodeRunning my software company from 2009 to 2011 without a development background was challenging to say the least. It is how I became involved with GirlDevelopIt (an organization offers programming classes for women) and why I started LearnRuby101. With this post, my goal is to share the free interactive learn-how-to-code sites I’ve come across that can help you get started. I’ve also gathered the top recommended books on each language from Hacker News.

For non-programmers, I would recommend reading this post by Liz Abinante titled “So, you think you want to be a web developer?”. If you decide it’s the path for you, recruit a friend or find an online community to get assistance. The point is – reach out when you need help. It’ll get you through the initial dip.

For programmers that know one or more languages already, this is a useful list if you want to quickly dive into something new without using a compiler.

Finally, for aspiring women coders Pam Selle (one of our GirlDevelopIt teachers), compiled a useful list of organizations solely focused on providing hands-on programming classes that’s worth a look.

(Thanks to Owen Winkler for providing suggestions on this post).

Learning HTML/CSS

Learning JavaScript

Learning Python

Learning Ruby/Rails

Learning Java

Learning Git

Learning iPhone Development


Learning HTML/CSS

When I was getting into coding, I asked the developers I know where I should start. Almost everyone answered “HTML/CSS.” While it’s not a programming language, it will be needed when learning certain languages and skills in HTML and CSS always come in handy.

HTML5Rocks.com – From blog posts, tutorials, case studies, demos and samples, this site allows you to choose exactly how you want to learn HTML5. A pre-working knowledge of HTML and CSS is assumed. Select an article about transitions, rounded corners, the canvas tag, box shadows and more, then view the code, make changes and look at the output in one screen.

HTML5Rocks screenshot

 

CodePupil.com – Founded at StartupWeekend Philly by Ryan Spahn, CodePupil uses interactive exercises and games to teach HTML/CSS.

CodePupil screenshot

Codecademy.com – Codecademy is one of the most talked about new coding sites in the world.  It only focused on JavaScript when it launched and it has since expanded to HTML, JQuery, Python and more. Most credit the Company for starting the trend for web-based, interactive programming tutorials.

CodeAcademy HTML screenshot

Recommended HTML/CSS books:


Learning JavaScript

JavaScript is considered a good successor after HTML and like HTML/CSS, is a front-end language. Protip: If you’re going to be building sites continuously, expand your JavaScript knowledge.

CodeAvengers.com – Their online tutorial focuses on learning JavaScript through a series of exercises, much like CodeAcademy.

CodeAvengers screenshot

LearnStreet - It’s similar to Codecademy in how it’s structured but I liked it better when I started playing with it. It engages you immediately by sharing well-known sites and what they’re built on and the interface is simple and easy to use. You can revisit exercises, even get tips or ask questions when you’re stuck and the site invites you to tweet the teacher directly on Twitter. I also like how comprehensive the descriptions are. They currently offer JavaScript, Python and Ruby tutorials.

LearnStreet JS screenshot

As mentioned above, Codecademy.com is another alternative.

Recommended JavaScript books:


Learning Python

I don’t have much experience with Python. Some developers say it’s a good language to start with for newbies and others say it’s not. Talk to a developer (preferably one you will be working with) about what you want to build and have him/her point you the right direction.

CodingBat – Instead of step-by-step tutorials, a series of exercises are featured on this site to challenge and reinforce what you’re learning. It’s a great compliment to learning to program on your own or with a book.

Screenshot of CodingBat -Python page

LearnPython – Another free interactive tutorial. This one doesn’t hold your hand as much and includes more instructions to help you understand what you’re learning.

LearnPython screenshot

PySchools – Instead of getting right into the code as other sites do, you first have to authenticate your account through a Gmail password. Also, this site assumes you’re already learning Python on your own. Once you’re in, you’ll be able to view exercises and compete with other coders on challenges.

Screenshot of PySchools

Codecademy just launched a course for Python as well and LearnStreet  also has a Python tutorial.

Recommended Python books:


Ruby

I started learning Ruby because my developer chose the language to build our 123LinkIt site.

TryRuby.org – Created by Eric Allam and Nick Walsh, this was the first tutorial I finished and I absolutely loved the UI and how easy it was to follow along with the commands. It promises to go through the basics in 15 minutes and although it took me a little longer, I highly recommend it.

Screen Shot of tryruby.org

Hackety Hack – This download-only software has been compared to TryRuby and is recommended for absolute beginners in Ruby.

Screen Shot of hackety.com program

Rails for Zombies – Offered through CodeSchool, Rails for Zombies is a fun way to “get your feet wet without having to worry about configuration” as the site states. It will take you through five videos, each followed by exercises where you’ll be programming Rails in your browser.

Rails for Zombies screenshot

Mentioned above, also check out Codecademy and LearnStreet for Ruby lessons.

Recommended Ruby/Rails books:


Learning Git

I wish I could search my past tweets because I remember stumbling upon an eBook on Git that I found really helpful. I was able to go through it and understand Git in under an hour. Regardless, learn the basics and setup a free Github trial.

Git - Modeled after TryRuby.org, this interactive courses is associated with Github and promises to help beginners grasp the basics of Git.

Try Git screenshot from CodeSchool

Recommended Git books:


Learning Java

Often confused with JavaScript by beginners, they’re entirely different. Remember this – Java runs on the server side and JavaScript on the client-side.

CodingBat – Instead of step-by-step tutorials, a series of exercises are featured on this site to challenge and reinforce what you’re learning. It’s a great compliment to learning to program on your own or with a book.

Screen Shot CodingBat Java

Programr - The site allows you to learn Java through coding challenges and either rewards points based on your answer or displays the bugs in your code. You can select your difficulty level instead of starting from the beginning which I really like. A leaderboard is displayed on the right that shows the top students.  They are planning on expanding to PHP, C++, Android and iOS as well.

Programr java screenshot

Recommended Java Books:


Learning iPhone Development

I don’t currently have an interest in learning mobile development. A couple of things to know: 1) iOS is Apple’s operating system and 2) you’ll also want to learn Objective-C.

Team Treehouse - Founded by Ryan Carson, the site recently announced it has passed 12,000 active students on the site. It provides nicely designed video tutorials with practice quizes and and code challenges after each section.

TeamTreehouse screenshot

You may also want to check out Stanford University’s iPhone Application Development course in iTunes University.

Recommended iOS books:


Resources that deserve honorable mentions:

Coursera.org - Coursera is my favorite online education portal. Founded by two Stanford computer science professors, Daphne Koller and Andrew Ng, the site offers university classes online from top-tier schools like Stanford, Princeton and others. Their mission is to education millions of people globally for free. So far I’ve taken their Intro to Computer Science Science class and I’m in the middle of “Human Computer Interaction.” The courses play out like you’re taking an online class with an instructor. There’s a forum, activities, even weekly homework. Do yourself a favor and sign up for a class today, even if it’s not available. You will learn the latest technologies from teachers at Ivy League schools without the hundreds of thousands in tuition and maybe best of all, while sitting at your desk.

Khan Academy – A non-profit founded by Salman Khan, the Company’s mission is also to provide ” a high quality education to anyone, anywhere.” The website supplies a free online collection of more than 3,300 lectures through YouTube videos teaching a range of subjects with Computer science amongst them.

Udacity – Another free online courses site that uses videos and quizzes to teach STEM-related courses such as software development, math, physics and even a startup course with Steve Blank.

Mozilla Developer Network – Featuring comprehensive tutorials on HTML, CSS and JavaScript, Mozilla provides introductory, intermediate and advanced lessons as well as examples to view.

Google Code University - Offering free resources on web programming, security, algorithms, APIs and even Android, the site features tutorials with examples and even exercises.

The Code Player – This site blew me away when I started going through it. It provides video style walkthroughs of really cool effects like learning how to use Canvas in HTML5, how to make a Google Doodle animation using CSS3 and more using JQuery and JavaScript. You can either view the code or watch someone as they code (hence the name) which is also great for beginners who want to learn on their own pace and do it visually.

Go To And Learn - Created by Adobe’s Lee Brimelow, the sites covers a range of programming languages included above plus those we haven’t covered yet such as Flash, Android, PHP and more.

Flatiron School Pre-work – A school in NYC that runs an intensive 12-week development program open-sourced the material it requires their students to do before they start (hence the pre-work). In all, it’s 4 weeks (80 to 100 hours in total) of reading and assignments that takes you through the web, command line, databases, HTML/CSS, Git, JS, Ruby, Rails, testing and best practices by using Treehouse & Codeschool.

Take advantage of the generous Stack Overflow community to post questions and finally, a highly recommended book that must be included in the mix for those that want to learn more than one language is Seven Languages in Seven Weeks.

Inspirational Stories:

I couldn’t write this post without including inspirational stores of non-developers who talked about how they learned to code, whether it was for love (see first link below) or to their startup. These are great motivators when you’re in a coding slump or stuck on something.

  1. Instagram’s founder had no programming training. He’s a marketer who learned to code by night
  2. Instagram Founder’s Girlfriend Learns How To Code For V-Day, Builds Lovestagram
  3. Non-Techie Cofounder Learns Code, Builds New Site Feature in 6 Days
  4. How I Failed, Failed, and Finally Succeeded at Learning How to Code
  5. How I Taught Myself to Code, Created a Startup with a FT Job, New Baby & Living in an African Desert

Stumble this post if you liked it or share it on Twitter or Facebook.

Subscribe to this blog by email!