Asking for help

** If anyone is interested in trying Wyzant (reviewed below), please use my code and get $40 of tutoring for free!**

Sometimes going it alone is great.  And sometimes you need help.

I’ve been teaching myself to code and backtracking to more and more basic subjects to give myself a solid foundation in programming.

I’m still not 100% sure what I’d like to specialize in, but I’m leaning towards data science and/or AI.  (Will write more on my love of cyborgs and why AI later…)

But I have to start at the basics.  For now,  I’m doing simple toy programs (tictactoeAI) and working through several Coursera courses on algorithms.

While the code I write works, I just know it’s ugly.  It feels brittle and ungainly and while I wanted to fix it, I didn’t know how.  One of my biggest fears about being a self-taught programmer is that my code might work, but it’ll be a hot mess and I’ll have locked in bad habits.

If I were in school, I’d be getting design feedback, but going it alone that’s hard to get.  I’ve been submitting code snippets to codereview stackexchange and while that’s been hugely helpful it doesn’t go far enough.

I really needed someone to sit down with me, walk through my code line by line, and give me feedback.

Looking into tutoring options

After a week or two of fretting over what to do I finally decided to try an online tutor.

Ideally, you could ask a friend or coworker for help, but I don’t have any close friends that code and felt bad asking someone I didn’t know very well for such a big favor.  Since I’m a beginner, I need a lot of patient explanation and I thought that was just too much to ask someone who wasn’t a close friend or family member.

I looked into various meetup options, but ruled them out for much the same reason. The ones I found were group study sessions where peers helped one another – basically stackexchange IRL.

Online tutoring with Wyzant

So I took a chance in a tutor on Wyzant. I was worried about the cost ($40/hr for the tutor I chose), but since the first session is free I decided to try it out.

I met my tutor for the first time this afternoon.  She was amazing!  It’s incredibly helpful to have someone who knows what they’re doing walk with you through your code.  I’ve done crit sessions with writing and art before, and I would put codereview closer to the crit side of the spectrum vs. the tutoring side.

We discussion some foundational CS concepts like layers of abstraction, scope, and the stack (and how/when it gets cleared out).  She clarified a lot of concepts I had read about and vaguely understood.  She also pointed out some problems with my code that I never would have noticed on my own.

For example, in my tictactoe AI when the user plays more than one game, I create a new instance of the board/AI objects for each new play.  She told me that if a user were to play a whole bunch of games in a row, that my current setup would lead to stack overflow issues.  This isn’t something I ever would have caught since I never played more than one or two games in testing.

All in all, it was great to be able to ask all the why questions that I never get to ask on online forums or when asking a quick question to a friend.  When she first pointed out the issue with my tictactoe game, instead of just saying ‘ok, got it’ and fixing it, I asked why it was a problem.  That led to a 10 min tangent on stacks and scopes, but it clarified the concepts I needed to know.

All in all, it was time well spent.  I’m reworking the programs we looked at together now and am planning on making our sessions a regular (weekly?) occurrence.  I figure $40 a week on tutoring is still waaaay less $$ than school and a worthwhile investment to learn to write legible and strong code!

Advertisements

6 thoughts on “Asking for help”

  1. Keep it up! Don’t worry if your code is a “hot mess” atm, everybody’s is when they start, and you’ll figure out those good habits later on.

    Usually people use the term “best practices” to describe “good habits”.

    For beginning, if your code works : you are doing great!!! And honestly, the number 1 goal is always “does it work” lol.

    Most important: Keep coding, and HAVE FUN !

    Also, you should totally try different online tutoring sites and make a post about it, I’d be curious to know (I also wouldn’t mind being an online tutor at some point, I wasn’t fully aware that was “a thing” now.)

    Liked by 1 person

    1. Thank you and great idea! I’ll check out some other tutoring services and post about how it goes 🙂

      Like

  2. keep coding
    I am still a beginner but I had a experience of C++ learning in my school. it’s been relatively easy.
    I suggest you try books
    I use these…
    1.core programming with python i think by wesley
    2.Al sweigart ( if that’s the spelling i think amazing games and logic is there)
    3.If you are into regular expressions his book on automation is there
    4.python cookbook is there
    5.google videos are there on youtube to brush up
    6. Then in the last engineer bloggers could be there
    If I can learn then anyone can ( I am a med student)

    Liked by 1 person

    1. thanks for your support and the suggestions – I’ll check them out! And being a med student is no small feat. I’m impressed you’re doing med school + coding at the same time! Keep it up!!

      Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s