Spinning My Wheels

For as much time as I spent working on my Python chops, I didn’t feel like I was getting a deeper understanding of OOP and its principles. I’ve since switched to Ruby, and it’s much better–I think? We’ll see. When I did preliminary research prior to the language change, the creator of Ruby indicated that he wanted OOP to be built-in, unlike Python, where it feels like an afterthought. I’m not going to pretend like I know what I’m talking about, but I do see more emphasis on objects and how they can be used all day, e’eryday.

I’m still working on various things related to JavaScript. JavaScript and I still aren’t friends, because it feels like it’s the “Beyond” section of Bed, Bath, and Beyond–it’s not strictly typed, but there are types, and things change from out beneath me, and you can do everything, but you can’t really outside these given rules, and goodness, it’s still taking me a lot of time to understand things that I’ve been working on for what feels like a long time. In addition to basic JavaScript, I’ve been working a bunch on Angular.js and jQuery. Free Code Camp is also going to cover Node.js and Express.js, so those are on the horizon.

Am I getting better at anything at all? It honestly doesn’t feel like it, and I’m glad that FCC makes you do projects, otherwise I would really have nothing at all to show for the work I’ve put in over the past year and a half or so. I began this development journey back in spring 2014, and wow, it’s been a lot longer than I thought and I’m still not where I want to be. Will I ever get there? I don’t know. I got a Skillcrush handout, and the advice was to start before you’re ready.

So I will. I hope to land two jobs, however small, by the end of the year. More would be better, but I just need to begin somewhere, and like the Irish say, well-begun is half done.

What am I doing?

I’m doing a lot of stuff, and I’m feeling overwhelmed with the sheer amount of stuff that I have to learn. Here’s what is currently on my plate:

Coursera’s program is new, and I’m excited to have found an intermediate-level program. It seems that most of what I’ve found thus far is aimed at either complete rookies or experience programmers. I am neither. I might rip out all of my hair if I have to write any more GCD algorithms in any language, but I’m definitely not at the level where I can talk about lambda functions in my sleep, either.

Free Code Camp continues to go well. I’m at to-do item #243. Essentially, all I have left before starting the 800 hours of practical experience building an app for a non-profit is some stuff on AngularJS, Node.js/Express.js, MongoDB, and ten (smaller) projects that put together everything I’ve been working on. This program and its road map was a lifesaver when I got to the point where I felt like I was spinning my wheels, and it continues to point me in the right direction.

John Duckett’s books flesh out the material that I’ve covered in Free Code Camp. Most of the time, what I’m reading is review, but there are definitely things I did not know about (such as which tags are considered syntax markup and which ones were considered semantic markup, despite appearances indicating that the two were, functionally, identical). I’m sure the same material is available for free on the Internet somewhere, but a)I like having physical books as reference (yes, I am ancient), and b)the fact I haven’t come across this information despite several months of working on HTML tells me I might never have learned these things.

Python is my main squeeze (“I see what you did there,” sez my coworker), and I just completed Downey’s Think Python book this weekend. Think Complexity is a continuation of Think Python, so I’m eager to work on my intermediate-level scripting chops while learning a bit about complexity science and basic algorithms.

All in all, I am pleased with my progress, especially after feeling like I was doing the same thing over and over again and not getting anywhere (we all know the key to excellence is deliberate practice, and while I was practicing, it was neither deliberate, nor was it challenging enough for me to make any type of progress). It did seem like everything on the Internet was geared toward front-end developers, so with the discovery of the Coursera program, I’m looking forward to doing even more back-end-related things.

A Quick Update

I’m enjoying Free Code Camp. Due to my prior work in (attempting) to learn web dev, I completed 111 Waypoints (in keeping with the camp theme, exercises are called Waypoints) before slowing down. The Waypoints are now challenging me, and though I think my code could use some work, I am being challenged and am learning many new things. Yesterday, I completed five Waypoints, which covered objects and their properties and arrays.

I have yet to touch The Odin Project, and it remains to be seen if I ever will. I might extract the Ruby portions and complete those, but I’d really rather spend my time on Python.

Progress!

I was getting to the point where I wasn’t sure where to go next. I surveyed the vast landscape called “learning to program,” and the amount of knowledge that I didn’t have was absolutely daunting.

Enter Free Code Camp and The Odin Project. These are full FREE programs for learning.

Free Code Camp is modeled after the various dev bootcamps that are springing up everywhere. You spend about 800 hours learning and 800 hours working on projects that benefit nonprofit organizations. At the end, you’ll have learned, created a portfolio to show future employers, and done good in the world.

That is pretty nifty.

The Odin Project is an open-source curriculum that claims to be a “proven path to successfully learn web development so you don’t have to wonder if you’re doing the right stuff or wasting your time” [emphasis mine].

The fact that I haven’t found either until now makes me question my ability to use Google.

BUT! It doesn’t matter now, because I have found them, and that is exciting to me, especially given how I was feeling as I wrote my last blog post.

Yes, I realize I wrote about a specific incident, but I would be lying if I said a good part of that uncertainty was because I put my own curriculum together (the blind leading the blind, anyone?). I wasn’t sure if I was learning the right thing at the right time.

I’ve been working through Free Code Camp for the past two days due to its emphasis on JavaScript. I’ve heard good things about The Odin Project, and the emphasis of that program is on Ruby. I don’t know if I should even start it, since I think it’s better to do one thing well, rather than doing two things haphazardly. I may give it a shot in the next couple of days.

I’m really excited.

When you have no idea where to start

I just completed the Object-Oriented JavaScript course at Udacity, and I decided to start the final project this afternoon. At first, I had no idea how to start, so I just dove in, because that usually works. I write a few lines, Google my questions, write some more, lather, rinse, and repeat, and after some time, I have something that works.

This time around, I just had no clue and no amount of Googling was helping me. It turns out I need to take the HTML5 Canvas course to be able to complete the project.

Oh. That explains why I can’t even ask the questions I need to do what I need to do.

Tired.

I’m so, so, so tired, and yet, I’m trying to show up every day.

To make a long story short, I’m deepening my skills in JavaScript using How to Learn JavaScript Properly, I’m working through the final few sections of Think Python, and I do projects in Codecademy to keep my syntax knowledge fresh. I’ve written one correct program for Project Euler, and I wrote another one that brought my computer to its knees, memory-wise. Udacity has taken a backseat, but I need to keep plugging along. Though the classes aren’t the best, I find that the exposure I get to various topics is invaluable.

Things got a bit hard; the time I have to study is short, the urgent-but-not-import distractions pop up ever more frequently, the things I’m learning are stretching my mind to the point where it is painful, and I just want to quit and be content with where I am now, but I’m still going to show up every day anyway.

I hope this works out.

git push origin master git push origin master

git push origin master…it’s kinda catchy, don’t you think?

As you may have noticed, I’ve been neglecting this space. I’m going to get back on to the blogging train, because it’s good for me. Ideally, there would be people reading this, and they would write back to me and stuff, but that’s kind of not the case and I’m kind of okay with that right now. I just want a place to share my accomplishments and to document the things that I’ve done.

So, what have I done? A lot of stuff. I guess this counts as a What I Did post, but it’s more than that. It’s a What I Did post + update on my [software development-related] life + musings on my progress so far + thoughts on some of the stuff that I’ve used in the past couple of weeks.

First off, I’d like to tell the world that I put up my own website. You can find it here. Yes, I realize that it’s not fancy at all, but I would like you to keep sight of the forest: I have a website on the Internets, and I built it from scratch. Okay? I have some friends that have graphic design skills, and I will be pleading asking for help soon. Anyway. I created the files locally, pushed them to gitHub, where they are hosted, and set them to show whenever someone navigates to my custom subdomain. I’m quite pleased that I made it this far. I still understand almost nothing about DNS and hosting and stuff, but it’s a start.

Speaking of which, I have a new-to-me computer! I’m the now-happy owner of a refurbished 2014 rMBP (with 16 gigs of RAM! I splurged, after someone on Reddit convinced me that “ah, s**t, I bought too much memory,” said no software developer ever), and after the first couple of weeks, where I grumped and grumped about how it isn’t a Windows PC, I think I’ve gotten things (mostly) figured out, so I can focus on development and learning and not How the Hell Do I Use My Computer OMG What Have I Done?

Someday, I would like to work as a Code Wrangler for Automattic, the fine folks behind this blog and its existence on the Internet (’cause come on…have you seen my website? Without them, this wouldn’t exist). I’m trying to learn more about WordPress in general. Step 1: write blog. Step 2: sign up for forums.

Oh, and maybe I should finish learning to code?

I’m making slow and steady progress through Udacity’s Front-End Web Developer nanodegree program. I’m glad I’m not paying for it, since some of the courses present topics in an…interesting manner. I’ll probably write a detailed review about the courses I’ve taken sometime in the future, but for now, let’s just say that, while I find the courses helpful, they aren’t to the standard where I feel comfortable paying as much as they’re asking. Yes, I realize the money really buys staff assistance and blah blah blah, but hello, isn’t that what the Internet is for?

I’m still writing Python, because I love it.

The bigwig at work has suggested that I take edX’s course on C#, which is as good as “take the damn course.”

So that’s where we are. C#. CSS. HTML. JavaScript. PHP. Python. T-SQL. VB.NET. It’s all kind of mixing together into one big mishmash of error messages, but I’m starting to be able to keep things separate.

Slow and steady wins the race, right?

My Computer Issues

Right now, I do all of my work (both personal and professional) on a Lenovo ThinkPad T440 that’s hooked up to all sorts of external peripherals. On it, I dual boot Windows 7 (I’m eager to see Windows 10) and Fedora 22.

You know what annoys me? Some of my stuff only works in Fedora (coughTrimagecough) and some of my stuff only works in Windows (coughDisplayLinkcough).

The one place where all of my stuff (or close alternatives) work? OS X.

In Lean In, Sheryl Sandberg writes that her grandmother’s business acumen resulted in a “profit margin that Apple would envy.” It is comical, and the story of Ms. Sandberg’s grandmother is one of the anecdotes I liked best from Lean In, but it is less comical when you’re considering a Mac to keep you keeping on.

And so, after much spelunking on the Interwebs and a weekend spent futzing with compatibility issues and the like, we are now saving our pennies for a mid-range MacBook Pro. There is something to be said about using what everyone else is using, and by not doing so, I more time that I would’ve liked trying to figure things out on my own.

What I Did, Volume 6

What I Did is a series that documents software development-related work I’ve done the previous week. As the old adage goes, that which is measured gets done, and there’s nothing like broadcasting to the world that you’ve done nothing to motivate the self, right?

This week felt weird. I don’t know how to describe it, but it felt like I did a lot of work with not a lot to show for it.

  • I spent a lot of time reading and taking notes on Think Python, not because I can’t write Python at all, but because of the theory behind the Python. I thought I would be working through this faster than I actually am, and at the end of the week, I had only made it through chapter 3.
  • I finished Udacity’s Responsive Web Design Fundamentals, which was a whirlwind tour of all things responsive (obviously). It was nice to see all the things that exist for making sites pretty and responsive, but I don’t feel like I got much out of the class that I could use (ten miles wide, less than an inch deep), but…
  • I began Udacity’s Responsive Images course, which is making me feel better about my inability to *do* anything after the overview course mentioned above. I’ve begun working with Grunt to automate image alterations, and I’ve installed RIOT and ImageMagick (which I will be learning how to use soon enough).

What’s next?

Recent Reads

lean-in-by-sheryl-sandberg_original

Lean In: Women, Work, and the Will to Lead, by Sheryl Sandberg

I don’t know if this is true, but there are those who like Sheryl and those who don’t, and those who fall in the former have read her book, while those who fall in the latter have only read things about her book.

I first read Sheryl’s book in December, and I liked it so much that I just reread it. I think of her as a mentor (Sheryl, if you’re reading this, I know to never ask the “Are you my mentor question?”), and her advice is what prompted me to pull on my big girl undies and ask if I could return to a full-time schedule while working from home after the recent birth of my child. In addition, every time I second guess myself, feel insecure about the work I’ve done, or engage in self-flagellation to the point where I’m tempted to throw in the towel, I remember Sheryl’s admonition to lean in…and I do.

With my economics background, I’m well-aware that one cannot have it all. It defies the laws of eonomics, and in my opinion, the laws of reality. But, this book reaffirmed for me that we can potentially have the things that mean most to us and by leaning in, we can make this happen.

life-changing-magic-of-tidying-up-kondo

The Life-Changing Magic of Tidying Up: The Japanese Art of Decluttering and Organizing, by Marie Kondo

If you look at my workspace, it’s pretty tidy. That’s because I firmly believe that cluttered space = cluttered mind. I picked up this book, however because clutter. is. everywhere. else. in my house. Marie says there are two types of tidying: the kind where you put back something you’ve been using and the kind where you’re doing full-area sweeps for out-of-place objects. The goal of this book (and mine as well) is to eliminate the latter type. What I like most about the KonMari method of tidying, which is what this book is about, is that it places the person’s desires and what brings that person’s joy above all else when deciding what to keep. I believe Marie when she says that her clients never rebound: when you’re the one making decisions on what to keep, based on what makes you happy, you don’t reverse your decision the way you might if you followed someone else’s rules (“throw out anything you haven’t worn in 2 months” and so on).

I got the Kindle version of this book out of the library, but I liked it so much and have plans to implement her method, so I’ll be picking up a print copy the next time our family’s Amazon purchase day rolls around.

the-power-of-habig-duhigg

The Power of Habit, by Charles Duhigg

Where the War of Art talks about Resistance, what it is, and how it is the biggest roadblock to attaining your goals, I consider The Power of Habit to be a practical, how-to manual on identifying the triggers for our habits and how to change them so that the things we want to do become habit, rather than the things we don’t care to do. There’s too much in this book to give it justice in a paragraph, but if you’re looking to make long-term changes in your life, I recommend this book.