Category Archives: Code Camp Thursday
Code Camp: Burn Out is Bad, MMMKay?
One of my teachers taught me 2 very important lessons about burnout. The first, when you are stressed and no longer able to keep up with your commitments. Take a walk, try not to cry over it, find a companion and refocus. The second, it’s much easier to give that advice than it is to take it yourself.
The thing is, once you’ve reached burn out, it’s really hard to pull back. You’re torn by the passion you once had for the project, and your current dismay with all that’s gone horribly wrong. It could be something as simple as over committing yourself, or more complex such as you’re passion for a project not being compatible with those you’re working with.
Personally, I suffered from overcommitment. Between working WAY too many hours (anywhere between 50-80 hours a week), going to school full-time, and commuting over 3 hours each day, I didn’t have much time to myself and I didn’t know where to reenergize. The teacher I mentioned before got the brunt of it when I went to her office hours after receiving a bad grade on an assignment.
I was nervous and scared that I wouldn’t pass her class. And since I was paying for my classes, I couldn’t afford another bad grade. I really needed to continue forward, not get pushed by one more semester for this class. As I began to explain to her my life situation, the tears were unstoppable. I was exhausted, scared, and didn’t know how to keep moving. It’s like the years of abuse I was putting on my body and mind were all coming to a head in this one small 8’x10′ space.
What my professor said to me next stuck with me for the next 2 and a half years of school. She waited patiently for me to finish, looked at me with her cold blue eyes, and in her stern Russian accent said, “You have a lot on your plate. We can’t all do everything. I want you to not worry about this, you’ll have the rest of the semester to make it up. Now, go take a walk, it’s a beautiful day outside.”
Those were not the words I wanted, but they were the words I needed. I needed to put everything into perspective, and I needed to reevaluate my commitments. Honestly, those were the words that pushed me to push back on my “part-time” job and finally finish school.
Sadly, my professor suffered from the more complex of my given examples. She loved to teach, and she loved whipping students into shape. The downside to that is the generation I was going to school with didn’t care. There were two segments of kids in my classes, those who cared and worked hard, and those who were completely disrespectful and assumed that they’d just get an A anyway.
I had her for 4 classes throughout my degree plan, and as the semesters went by I saw her ability to handle situations calmly slip. The very last semester I took her, she would spend 20 minutes of a 45 minute class explaining to us how we were all idiots. I’m sure there were outside factors, but I truly felt that she’d lost herself along the way. She was in the throes of a mental breakdown (one of the many side effects of burnout), and no one was there to help her out.
I wish I could say I was strong enough to say something to her. To go back into her office and provide the same advice to her as she’d given me. But I didn’t. I was self-centered and worried more about my own grades than her mental health. Plus, as a student, I didn’t feel it was my right to say anything. She was a passionate teacher, who cared very much about students who didn’t give a damn about her.
If you think you’re experiencing early signs of burnout, take some time to yourself. If you can’t change your current obligations, find time to do something that energizes you. If things are bad now, whether by your own doing or not, you have time to make up for it. Now, go take a walk, it’s a beautiful day outside.
====== EDIT ======
A good friend of my requested some resources if you are experiencing burnout. I’m going to place them down below as I find ones I like:
Code Camp: How I Became a Computer Scientist
Despite growing up in a house full of computers, I did not always think I’d be a software developer. Sure, I played MMO’s and role-played in the Dragon Inn chat room. Also may have messed up a computer once or twice trying to erase a virus that I’d accidentally gotten after visiting some sketchy site….allegedly. I just didn’t have a clue about writing code, or developing anything.
My dad has always been a computer guy. I remember being real little and just watching him as he put together the next latest and greatest machine. I loved getting on our DOS machine and attempting to play Lemmings and MYST. Dad is also an avid gamer, I loved sitting in the corner of the room watching him play Doom, Half-Life, Warcraft, and just about any game that came out from Valve and Blizzard.
By the time I was a senior in high school, it never really occurred to me that I could be in the technology sphere. If anything, I figured I might do IT as a backup plan if nothing else worked. I was a poet, and a wanna be artist. I love the structure and design of buildings. I’d decided to try and be an architect. To me architecture was the best mix of art and engineering that I could be a part of. It was everything I thought I wanted in a career.
My second year out of high school I got into the University of Houston’s architecture program. It was intense, and a lot more art lessons than I realized. Despite trying my hardest, at the end of the first year my professor’s review of me could pretty much be summed up in her last words to me: “You should probably consider a different degree”.
I was crushed, but I knew she was right. I wasn’t naturally talented enough, and I didn’t quite have the same grit as other students. As I looked towards different degrees, I thought about business and decided against it. I also took an intro to Computer and Electrical engineering and realized that no matter how hard I tried, my grades were too poor to officially switch into the Engineering College.
The day I decided to switch over to Computer Science, I called my dad. I’ll never forget the joy in his voice as I asked “What would you think if I went into Computer Science?” and he said “I think you’d be great at it”. To this day, whenever we talk about a software development or systems administration (his profession), he gives me this I-told-you-so-grin.
Switching into Computer Science was the best decision for me and my career, and I love my job as a software developer. It’s everything I ever wanted in a profession: problem solving, bit of art, great design, and engineering. I took the long way round to get to where I am, but I’ve never been happier.
Code Camp: Learning by Doing
Welcome to Code Camp! I’ve been deep into coding this week with multiple assignments due and classes that have so much content to digest I can barely keep up. I think out of all my classes, my Programming Languages class with Venkat Subramaniam has been the most informative and interesting.
I think the biggest thing I’ve learned thus far in the class is how similar languages really are. It’s so much fun to pick up a language like Java (which I’m quite familiar with) program an easy to grasp example, then turn around and program that same example on Scala and Groovy which are both on top of the JVM. Though Scala and Groovy hail from Java-land, they are so different in both implementation and syntax.
After school is finished, I want to hit the books I’ve got on my Programming Book Wishlist hard. I’ve been playing with the idea of having a Read/Work-Along on some of the books I’ve been recommended across my career as a student. Here are a list of some of the books I have on my book shelf, waiting to be read and worked through:
- The Pragmatic Programmer: From Journeyman to Master
- Programming Ruby 1.9 (3rd edition): The Pragmatic Programmers’ Guide
- Objective-C Programming: The Big Nerd Ranch Guide
- IOS Programming: The Big Nerd Ranch Guide
- Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
- Code Complete
If you have any suggestions or thoughts on the matter, feel free to leave a comment or send an email to firstname.lastname@example.org
Code Camp Thursday: Online Learning Resources (Screencast/Video Edition)
As you may have noticed, Crafting Night Tuesday was cancelled this week on the blog. School just started last week, and I’m still trying to get a handle on my new schedule (aka no real crafting was done). Crafting Night will be back next week with an update on how I fit crafting into my busy schedule (as well as some pictures on what I’m working on).
Today I’d like to talk about some of the online video resources I use to get up to speed quickly on topics I may not be familiar with, or know very well. These resources are (in my opinion) no replacement for buying a good book and learning a language or concept top to bottom, but they will provide you with enough information to get you interested and speaking intelligently on the subjects they cover. I’ll only be talking about video based learning materials today, but you can expect future posts on text-based materials.
My first experience with online video based learning was through Code School. I was lucky enough to win a free gift card to Code School last year during Houston Techfest. Code School focuses mainly on web-based development, but also has some great courses on Ruby and Git. The courses heavily subscribe to game theory. You watch a short lecture, complete some tasks implementing what was talked about in the lecture, then get a badge. At the end of each course, you get some prizes (including a $5 credit towards your next month’s bill). This is still my go-to resource if I want a crash course in anything web-based. Code School allows me to get a taste of a language or concept and provides resources for further learning. At $25 (really $20 as long as you finish a class a month) a month it is a little steep, but I don’t see myself unsubscribing anytime soon.
This is a new screencast that I just recently started watching and have subscribed to. NSScreencast is a series of videos made by Ben Scheirman giving 10-20 minute talks over pertinent topics within the iOS and Rails world. My first introduction to Ben as a speaker was at Houston Techfest last year. It was at his lecture that I was inspired to go out and learn Rails. Through NSScreencast Ben provides a fast-paced informative talk that you can watch once week. I’m still going through the archives, but I’d highly recommend going to the website and viewing some of the free videos. If it’s something you are interested in, subscribe for $9 a month.
From what I understand, RailsCasts is the epitome of Ruby on Rails screencasts. I was rewarded by Code School with a free month to RailsCasts and I continued my membership so that I could have the access to all the content available. Ryan Bates does an amazing job at offering short videos with lots of information. There is a large archive covering various topics within the Rails world. Just like NSScreencast Ryan provides free videos to check out, and for some this will be all you need. If you are interested, a membership will only set you back $9 a month.
These are my current top three resources. As you can see, most of these are iOS based or Ruby/Rails based, but that’s not because I define myself as an iOS or Ruby developer (or at least not yet). I’d love to hear from you, what video based resources do you use to learn languages or development concepts?