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.

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?

What I Did, Volume 5

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:

  • My SQL-to-RTF project passed QA. Praise the Lord.
  • I finished Udacity’s Programming Foundations with Python. I’m new to neither Python nor OOP, but because I felt that my grasp of the latter was severely lacking, I enrolled and completed this course. This course was great, because it wasn’t for complete beginners (and thus, no lessons on what a string is or how to print integers), but it was simple enough that, at the end, I think I *finally* grasp the basics of OOP, how it is useful, and how to implement in Python.
  • I began the next course that’s part of Udacity’s Front-End Web Developer Nanodegree, which is Responsive Web Design Fundamentals.
  • I began looking up blog/website themes to see what I’d like to do. It’s kind of overwhelming, so I’ve started to skim the samples and clicking only on those that appeal to me immediately. It’s not the best system, but if I succumb to Decision Paralysis, this might never get done.

What I Did, Volume 4

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?

I am beyond thankful that this is a three-day weekend.

  • You know that SQL-to-RTF script I was doing and how I said I was done last week? I lied. It spilled over into the weekend, and it is currently in QA. I hope there will be no more changes and moves forward in the QA and delivery process.
  • On Udacity, I started Programming Foundations with Python. It’s a lower-level course, but it isn’t for complete beginners. I know my syntax, but I don’t feel comfortable with my grasp (or lack thereof) of object-oriented programming. This class focuses on that.

I meant to look up design ideas for this blog and the webpage that will serve as my portfolio, but I didn’t get around to that. That’s going on this week’s to-do list, along with my OOP course.

What I Did, Volume 1

This is a new 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?

  • I finished Lesson 2 of Udacity’s version control course (How to Use Git and GitHub), and as of Friday, I am about half way through lesson 3.
  • I converted an old script someone at my company wrote back in the day from VBA to VB.NET. I need to write a script that takes data returned from SQL tables and outputs it in RTF. Obviously, lots of tables, each its own size, are required. Joy.

Lessons 1 and 2 of the course on version control cover the basics of git, and lesson 3 covers code sharing via GitHub. I haven’t used either of these tools outside the course, but I’m eager to integrate these tools into both my work and my studies. I have never used anything more than the most primitive versions of version control (that is, I save multiple copies and label them with different numeric suffixes). This has to be better.

The script for work threw me for a loop at first. For some odd reason, I thought that the output had to be in HTML and only after spending all Friday morning trying to learn how to create such tables using SQL data in Visual Studio, I realized that a)that was NOT what I was supposed to be doing and b)out software doesn’t display HTML in the documents I was to generate anyway. Luckily, I found a script that converted SQL to RTF one of my colleagues wrote back in the day, and after a couple of hours, I had an updated version written in VB.NET

What’s next?

  • Going through Think Python as a refresher. It’s been a couple of weeks since I’ve touched Python, and after the time I put into learning it using 6.00.1x, I’m loath to lose this perishable skill. I also have access to CodeWars, so I’m looking to get back into that as well.
  • Finishing the course on version control
  • Beginning Udacity’s Intro to HTML and CSS