I truly believe that anyone, regardless of education background, can not only learn to code, but excel in writing efficient programs. Over the course of the year I’ve been blogging about code, I’ve developed insight on my own learning patterns. Being honest with myself, I now choose learning modules, tutorials, and classes that fit these patterns. By doing so, I found that I can achieve more in a shorten amount of time. Instead of quitting and blaming the difficulty of the material, I’m taking my time, learning how to code using resources that work best for me, not the ones that are promoted online the most. Here’s what I’ve documented about my learning patterns:
1. I love MOOCs, but only enroll in the courses that keep lecture videos to a minimum. I have audio processing disorder, a learning disability that affects my listening comprehension. The shorter the videos the better.
2. I cannot multitask when I learn. When I do so, I forget everything I’ve learned within a day or two. I have to be 100% attentive to the information I’m processing.
2. Paying for a resource has no affect on me in terms of how committed I am to it. I’ve thrown a lot of money away on resources just because they were described as “the best”, only to not use them. There’s a saying that people don’t respect free. I don’t think that applies to me though.
3. I love coding with others, but value in person meetups over online communities. For example, I know everyone loves Slack, but I find it to be distracting. I rather gather with some friends at the library and work alongside one another on a common project.
4. I’m more likely to complete my homework when it’s project based.
5. I don’t do well in long-term courses. Once I get the gist of how a program works, I lose interest quickly. Courses that are 3-5 weeks in length tends to work well for me.
7. Combining learning resources is the best strategy for me in terms of learning a new programming language (Ex: Doing an online module + reading a book for beginners).
Since I’ve laid out my learning patterns and adjusted my education, I’ve been completing more projects, (some of which I will be creating tutorials for in this blog). I’m always interested in how readers are adjusting to learning new material, so if you have any best practices to share, please do! How has your coding journey fared so far? What are some of your go-to learning resources? Which ones do you favor over others? Feel free to comment below.
Writer’s Note: I wrote this at the beginning of 2015 in January. It is now October and much has changed. I provided a few updates below.
Hope your holiday vacation was lovely and drama-free. Welcome back to Our Code!
It’s January, and in one month, this site will be exactly 1 year old! I’ve been reflecting on everything I learned in 2014 and can officially say that I had a pretty great novice year. From a practical standpoint, I learned python extensively, responsive web design for mobile, using APIs to automate content, and git. My courses I finished this past Fall semester taught me about Big O notation, algorithms, bitwise operations, programming in C (intro) and linux foundations.
Outside of my academic education, I also learned a lot about myself. Knowing python and seeing how it fits in overall LAMP stack development has made me more dedicated to it as my main programming language. I feel more comfortable moving on from a novice approach of soaking up as much information as I can, to actually developing my own projects and seeking an internship. With that said, I’m not inclined to set new goals for 2015 as I am to develop new habits for producing actual work. While I feel I will forever be a student, it’s time to get my hands dirty and create some projects I can be proud of.
I’m making 2015 my year of production focusing on 3 areas: my brand/portfolio, open source project contributions, and mvp creation. I finally joined github and hope to try to contribute as much as I can as a newbie without stepping on any toes. In addition to github, I’ve been browsing OpenHatch to find open source companies I can work with. I installed django and MySQL db so I can get my python-based apps on the web. To top it off, I ordered my own raspberry pi (which should be arriving soon), and have a set of tutorials to work through in my effort to use it as a processor.
Now that the foundation has been set, here are a few of my new monthly habits I’m establishing for this year:
1. Creating at least 2 Django apps per month. Now that I know how to use Django, I need to actually do something with it. I had some problems syncing MySQL db to the last couple apps I tried to create, but I’m finding out ways to work around that (like doing it manually using the GUI instead of relying on working via cmd).
(Update: Incomplete. Didn’t have much success with Django. My frustration in meeting this goal led to me taking interest in the lesser known Web2Py framework which has a GUI and Flask)
2. Attending meetups in my area. I want to meet other coders and python enthusiasts. No better way than to go to meetups and hackathons. I found out that there is a local chapter of Code Until Dawn which hosts an event every month. I’ve already RSVPed for the next event in February.
(Update: Done. I now attend a tech meetup every month when I’m in Chicago, and I’ve participated in 2 hackathons since this post)
3. Committing on GitHub. I found two projects in particular that I feel is newbie-friendly enough for me to actually commit, still doubt rings around my head constantly when visiting the project pages. Diving in is the hard part.
(Update: Done. Though I’ve committed to those two different projects now, my GitHub activity is seriously lacking. This is because I tend to not upload my projects publicly and have a problem sharing my work. I’m slowly and surely getting over that)
4. Working on my “brand”. I honestly hate that word, but I don’t know any other way to describe the need for me to get my face out there while still *aspiring*. As of last weekend, I’ve been enlisted as a writer for The Coder Factory which I’m very excited about. In order for Our Code‘s audience to grow, its founder (me) has to grow professionally.
(Update: Done. The Coder Factory has published my series covering my first hackathon. Unfortunately, I decided to end my contributions to the site due to the company’s mismanagement of the posts I submitted)
There are other considerations listed below I have in mind in terms of long-term planning. There’s nothing I can do at the moment to knock these out, but I’m always looking for ways to get them done nonetheless.
PyCon2015. I definitely want to go, but it’s in Montreal this year, which is out of the country making the trip 2x more expensive for me. I estimated that without a scholarship, it will cost me around $1460 (USD) to attend, including airfare, lodging, meals, and tickets to the week’s worth of events. Because of this, my attendance is not set in stone (scholarship pending). I’ve looked into other events, such as attending PyTennessee instead, as low-cost alternatives if I have to miss it again. Nonetheless, attending a pycon is on my to-do list, and perhaps I’ll figure out a way to make the Montreal trip happen.
(Update: Pending. PyCon is back in the U.S. and I’m going to the event in Portland. See you there!)
Moving Our Code Wiki in-house. I actually could have done this when I created the site, except that (1) I had no clue where I was going with this site back then, (2) I am already dedicated to redesigning the site myself (as a portfolio project), and (3) I have this dream of creating the wiki myself using django (possible, but will cause plenty of headaches). Until I decide, Our Code and the Wiki will remain at two separate addresses. Sorry…
(Update: Done. Our Code Wiki is now Our Guides which will be moved in house by the end of this week. The Wiki will still be available until this project is complete)
Enough about me, I want to here from the readers. If you have a new
goal habit that you are creating in moving forward this year, you’re more than welcome to share in the comments below. Of course, if learning to code is your New Year’s Resolution for 2015, Our Code Wiki is here to help.
This weekend is the beginning of finals week for me. Most of my “exams” are projects, templates, and essays I have to write. It’s quite easy for me to get distracted when I’m bored with studying, but this morning I was put in check with this quote:
“Every minute you spend on blogs, podcasts and screencasts means a minute you don’t spend creating software. “(Pat Maddox)
Ouch! With that said, good luck to all Our Code blog subscribers, readers, and wiki members facing final exams this month. To those who aren’t, I’m hoping you spend your holiday downtime learning, designing, and developing.
As the creator of Our Code, I get emails, tweets, and DMs everyday from tech groups wanting to get their message out using this space to do it. I’m pretty selective. If I posted everything I received, I would never sleep. Not to mention the fact I’m also trying to develop an audience around Our Code for underrepresented women. I want to keep posts as relevant as possible. In the past, this has meant ignoring fundraising requests and sticking to promoting as many open, accessible, and affordable opportunities as possible. A particular campaign has been on my mind though. After reading an update letter on what’s going on with the MotherCoders indiegogo campaign, I couldn’t help but to share news about it.
MotherCoders was founded as a tech orientation program that offers on-site childcare for moms who want to learn basic programming and network with industry professionals. I do not have children, and I recognize this allows me the privilege to devote more of my time to learning to code than the average parent. When I blog about how Our Code is geared for underrepresented women, this includes single mothers who often don’t have the time or money to continue their education in a traditional fashion. MotherCoders seeks to work exclusively with that population.
The organization is seeking $15,000 to cover childcare expenses, business licensing, video production to stream their sessions for their online audience, and to provide lunch for the moms who attend their sessions on site. At the time of this post, they have met only about 1/3 of their goal. The campaign will run for the next 4 days, and there are perks for those who contribute. You may contribute by visiting the campaign’s site here.
I also noticed that MotherCoders is seeking to partner with businesses who would like to sponsor a lunch for the sessions as well as tech professionals who can consult on other services. If you would like to contribute an in-kind donation, the org has set up a Supporters page to assist you.
I wanted to give a quick update on my progress thus far.
1. I finished my Intro to Linux course, successfully installed it on one my laptops, and am comfortable using the command line.
The Next Step: Find a MOOC on MySQL and gain an introduction on raspberry pi.
2. I’m sharpening my responsive design skills by growing a portfolio to be publish online by January. To do this, I’ll be working on coding my sites by hand and using them as examples.
The Next Step: Offer to design sites for small businesses in my region to add to my portfolio, and do some freelance work via Fiverr.
3. I dropped my Java course. Though I hope to retake it in the Spring, I’m more open to exploring Python more than Java at this point.
The Next Step: Focus on my other college classes for the rest of this semester.
4. The two MOOCs I’m taking on Python are going very well. I favor the one by UMichigan because the instructor has a lot of experience in open source software. I find the one through Rice U to be annoying though. We’re spending the course working on coding a game, something that is big turn off for me in terms of projects.
The Next Step: Complete the Rice U course strictly for learning purposes and ditch the game project. I’ll use what I learn to build something more interesting.
Cons: I’m trying to let go of the “just hurry up and tell me how to do it” mindset I have when it comes to my course work. When I set certain goals for myself, I grow impatient when I feel I’m not completing them quick enough. My biggest frustration is being told by a college adviser that I have to complete a certain amount of math courses in prerequisite for courses I really want to take. More classes = more money out of my pocket, as I’m not financing my education with any help at the moment. While I championed working on a CS degree this past Summer, maybe enrolling in a bootcamp would be better suited for me.
Pros: When I first became interested in learning to code 2 years ago, memorizing code snippets allowed me to bypass groundwork and get my feet wet freelancing. However, not being able to fulfill my clients’ needs and having to repeatedly outsource projects made me see I was going about it all wrong. I needed to go through training to gain deeper understanding of programming concepts I had missed. I’m finally growing comfortable in the skills I developed thus far. I’m excited about how much further I can go.
I’ll be sure to give you all my updates at least once a month. In the meantime, follow me on twitter @shethrives11
Promoting Our Code in tech circles has been fulfilling as it allows me to really hone in on the tech pipeline issue. I often fear the central focus of this site is missed due to the fact that myself, a Black woman, created and run it. When I first created Our Code as a blog, I had women of color in mind as my target audience. Finding my place in the blogosphere was difficult this year because I don’t share the same experiences as other women and minorities in tech. It’s no surprise that I have not made race, gender, and wage issues a priority here, and if the blog continues, the posts will become more code-centered. I want to reiterate a few points and clarify what this site advocates:
1. The focus of Our Code is not to discuss sexism and racism at tech companies. I don’t feel those issues need to be discussed in this particular space. This is a blog for those who are learning how to code and are looking for resources to help them.
2. Our Code is empowerment-focused and solution-oriented. I share stories about coders to inspire others, information that I think will help others succeed, and education resources that will help readers become better designers and developers.
3. When I promote a resource or organization on Our Code, indiscretion on my part is used thoroughly. If I promote a resource on this blog, it’s because I like it or use it, not because I’m getting paid to write about it.
I’m thankful and welcome the support of having a great core readership. I want this site to grow in subscribers who perhaps become contributors one day, but growth doesn’t trump mission. I can’t allow the opinions of others to sway the type of space I created for coders here.
Just added the following updates to Our Code Wiki which are available now:
Building Web Apps Using Node.js guide
Free jQuery Lightbox plugins link
Beginner’s Guide to Responsive Design
I would like to give special thanks to Karen Schoellkopf, who recently put together data sets detailing the latest diversity reports from the top U.S. tech companies. The data sets outline company diversity according to gender and race. It includes info on Google, Yahoo, Facebook, Twitter, Salesforce, and Linkedin. I published the data sets into a Google doc which can be viewed here.
While studying the data sets, keep in mind that the numbers are broken down into 3 categories: company diversity as a whole, diversity in company tech departments, and diversity in non-tech departments. It should come at no surprise that there are less WOC working in tech departments than non-tech ones. While I’m careful to not draw any conclusions about gender bias based on data, I will state the obvious: we need more WOC in tech. However, I personally don’t believe placing exasperated demands on hiring managers is the solution until we first increase the amount of employable women with actual tech skills.
There are also a few questions that I think we as advocates are ignoring whether unconsciously or not: Do women with tech skills actually want to work at these companies, or are they exploring other options in other parts of the country? What does the diversity data at other tech companies across the nation look like in comparison? How many WOC are graduating with CS degrees and choosing not to work in the tech industry? What is the retention rate of WOC at these companies? How does stereotype threat and gender bias play into education expectations for girls 6-18 years old? What are the parental-leave policies like at these companies? Has the work-life balance become unrealistic for women who work in tech? I hope to explore these questions in the future and create a strategy plan for Our Code to guide #womenintech advocates.
I have to admit, I didn’t spend more than 6 minutes studying the data because I already know that the tech industry is predominantly made up of White and male employees. I don’t want to get caught up in the problem, I want to explore solutions. That’s why Our Code exists: to provide a space for encouragement and sharing resources for disenfranchised women to learn, get connected, and grow. It doesn’t matter to me how women choose to use their tech skills, nor where they choose to work and for how long. My main focus is making sure women like me know about tools that will help them learn code and become web developers rather than just consumers.
Basically what I’m saying is don’t worry about those numbers. It should not affect your journey. Focus on your learning objectives, goals, and enjoy the process.
Browse the data set if you have time. You can also follow Schoellkopf’s work in increasing the amount of women hired in the tech industry here.
**Update: we now have Apple’s diversity data.