On Failure and Learning

“Failure” is only failure if you let it get in the way of success. Otherwise, it’s called “learning” – @patmaddox, founder of RubySteps

Advertisements

Learning Patterns Matter: It’s Not the Material, It’s You.

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.

My New Habits for 2015: A [not so] Quick Update

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.

*****************************************

Hello all,

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.

 

QOTD: Good Luck With Finals Week!

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.

Why Our Code Supports MotherCoders and How You Can To

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.

MotherCoders – A Tech Orientation Program Designed for Moms from MotherCoders on Vimeo.

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.

Even if you don’t donate, you can still spread the word about the campaign by sharing this blog post, following @MotherCoders or liking their facebook page.

Quick update: being patient and other advice

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