Spring is officially here, for Colorado that of course means more snow. As the season changes, so does gSchool step up the game to Rails.
Working through the Blogger tutorial this week, and my first introduction to Rails, I can see why so many people love this technology. The framework starts you off on a great foundation, and ensures at least a minimal level of consistency between projects. I can already tell that it will help me learn as it's pretty straight-forward and doesn't seem willfully complex. I was really lucky to be placed in a group with some really talented and supportive peers, and know I will learn a lot with this project.
This past week, a few of us had some re-assessments. I'm not where I need to be, so that is a little frustrating and demoralizing to say the least. I'm struggling not with syntax as I expected coming into this program, but with some overall core concepts and how data moves and transforms. I think my disconnect is that I'm a very hands-on and visual person, and don't do well in the abstract. Whatever you do, don't ever ask me to interpret a poem or song lyrics…. my brain just doesn't work that way. I could more easily replace the head gaskets on my car.
I'm currently searching for some tutoring assistance, and am going to try new books and tutorials in the hopes that hearing the same info explained in different ways will help it click with me. I might reach out to some of the guest speakers/authors we've worked with so far, as I really enjoyed the way a couple of them explained things. They may be able to direct me to some other resources that communicate closer to their own style or have other ideas.
If this experience has taught me anything, it's that the programming community is extremely supportive. I have no doubt I will be able to find some help, whether from seasoned devs or my classmates. I also have no doubt that once I get over this hurdle, the other things will fall into place a lot faster for me. It just takes the time it takes, and I can only make my brain do so much. Along those lines, I've ordered some supplements that should help things fire a little better. Fingers crossed!
Have you struggled with grasping abstract concepts you had no visual representation of? How did you work through it?
Ben Orenstein from ThoughtBot visited us this week and spoke about the company, their philosophies and his approach when starting a new project. I loved his talk and got some really good advice out of it, including this quote from Martin Fowler:
“Another issue to bear in mind in this is whether you really know how to do it. If you've done internationalization several times, then you'll know the patterns you need to employ. As such you're more likely to get it right. Adding anticipatory structures is probably better if you're in that position, than if you're new to the problem. So my advice would be that if you do know how to do it, you're in a position to judge the costs of doing it now to doing it later. However if you've not done it before, not just are you not able to assess the costs well enough, you're also less likely to do it well. In which case you should add it later. If you do add it then, and find it painful, you'll probably be better off than you would have been had you added it early. Your team is more experienced, you know the domain better, and you understand the requirements better. Often in this position you look back at how easy it would have been with 20/20 hindsight. It may have been much harder to add it earlier than you think.”
ThoughBot has an apprentice program I hadn't known about, and I'm so excited to talk to Desi more about it. If I'm unable to close the gap on my learning curve by the time the program ends, an apprenticeship may be a great fit for me instead of jumping straight into full-time dev work. I think I would rather work towards that as a goal instead of a different position with limited coding responsibilities. That being said, I still want to explore all options and see which path feels like the best fit for me. I'm totally open to my path changing and evolving and would rather work towards the best fit instead of stubbornly trying to push something that isn't for me. Not all things are for all people, but it's also too early to give up on myself.