I started my career as a graphic and web designer after getting a degree in Visual Communication.
I decided, after doing some fun projects in Max/MSP and SuperCollider, that programming was awesome and totally for me.
I’ve been a musician my entire life, but never really thought it could net much money; entertainers get all the money.
I went back to school and got a degree in CompSci, which was super hard because I suck at math.
I REALLY suck at math.
Like, I had to take beginner and intermediate algebra before going on to college algebra because I spent high school getting high, drawing and making music, and making fun of things like math; that’s how bad at math I was.
Of course, I then went on to advanced physics for engineering and calculus and linear algebra, etc, but, in the beginning, it was really, really rough.
So after receiving the degree, I’ve been in design and development for web/desktop applications and interactive media for around 10 years.
I’ve worked at companies like Electronic Arts, Insomniac Games, and Symantec, which is where I now work in Silicon Valley.
It’s been quite an experience, but let me ask you a few questions in return.
[li]How do handle stress? This is an extremely stressful job and, at the end of the day while the designers, artists, producers, and PMs are dancing around, watching YouTube, and jerking each other off about “our” great work, you will be fixing bugs until the last minute. Most nights after everyone goes home to get ready for parties and to continue jerking each other off, you will be at work fixing bugs.[/li]
[li]Do you like being thanked? That will NEVER happen. Some VP will come around, snap-clapping, and thank “the team” and you probably won’t hear it because you’ll be fixing bugs.[/li]
[li]You know those people who go to other countries and take a little book of translations and walk around fumbling and fucking up the language? Welcome to how everyone you come in contact with on your team will talk to you for eternity. People who don’t program yet are in proximity to it assume “they get it” and will say the dumbest shit and you have to swallow it and cry through their boring, inane bullshit. The same way artists who can make a fucking box think they understand UI/UX design; that’s for another day.[/li]
[li]Do you LOVE to program? Really, REALLY love to program? Well, you better, because as soon as HR or your team get even a whiff of your abilities at it you will never be considered creative again and no matter how awesome you are at X, Y, and Z creatively, you will be thrown back into programming and will be made to sit in a little cube, or little office if you’re lucky, and work on code because it’s a very rare commodity and no one else wants to do it. NO ONE.[/li]
Ever wonder why programmers get paid so much?
It’s because of the aforementioned reasons.
On the other hand:
[li]You will be able to “see the Matrix”; IE nothing is a mystery anymore. Any software, electronic system, piece of gear, piece of hardware, you-name-it will become transparent (within reason, YMMV) because you have the intrinsic tools to reverse engineer it and improve on it. It’s rather quite exciting as an artist to think of systems I can make without just basic linearity. Drawing, non-interactive music and audio, and linear video are a thing of the past. I can now make exciting, beautiful, reactive stuff that blows minds, after I’m done wrestling with architecture, improvements and fixing bugs.[/li]
[li]You will get paid more than your counterparts earlier. Wanna buy a bunch of Elektron shit? Like seeing mountains of boxes show up at your desk while the sad ass designer across from you eats ramen and cries? Buckle up. I once bought 4 synths with one bonus and my paycheck hit my bank account the day after and I bought another one just to play with my toes and flip people off.[/li]
[li]Companies will, initially, treat you like a king. They need you. Fuck, THEY don’t wanna do that hard ass shit, so they’re gonna fly you out to them and cry at your feet because some dickhead built their system and escaped to Google or something and now they’re totally fucked and need your, or anybody’s, help maintaining it. I’ve done dozens of interviews and all of them have been like all expenses paid mini-vacations, even if you don’t take the job or they don’t give it to you.[/li]
[li]Depending on where you work, no one actually knows what you do. It’s like your mechanic saying you need a fucking Johnson rod or blinker fluid. I could tell my manager I’m learning a new language called fucking Spunk and he’d believe me. In fact, I’m at work right now typing this and my designer co-worker literally JUST said “Damn, you’re working hard to get that feature out, huh?” because she thinks typing equals work for me. Whatta MAROON! That bitch thinks the internet is a series of monkeys stuffing shit into different tubes.[/li]
All of this is meant to be comical and your mileage may vary, of course, but it’s just a part of the world of dev.
Watch Office Space and Silicon Valley and, believe it or not, that’s really A LOT like what it’s like.
Some jobs are cushier, however, like doing web development for advertising at places like Frog (you have one downtown) or NCS Pearson (you have one near Round Rock).
Some are way harder; depends on what you wanna do.
I would suggest really thinking about what kind of development you intend to do and then start small.
DON’T START WITH C++!
It’s too low level and too hard to do basic stuff early on.
If you want to do mobile start with Java or Swift for Android and iOS respectively.
Even web dev tools can help build multi-platform responsive apps with things like PhoneGap where you don’t have to learn the native languages for those platforms.
There’s a lot of options, so just think of what you want to do, play around and then, if it’s still fun and interesting, move forward to professional work.
Like everything, it’s fun, but after you do it everyday for years and years it loses it’s luster REALLY quickly.
Take it slow and have fun and then decide if it’s what you really want to do FOREVER forever or if you just want to do it for funsies; like me and building synths with old Curtis chips.
I ain’t doing that on the daily.
For TL;DR people -