JD (and not Jim Doran) asked:
Hi, I have a few questions that I hope can give me some insight into web and mobile development. Sorry if this has been asked before, but I just recently started following you.
1. Can you please tell me how you got started? Did you take an internship? Did you experiment on your own and slowly get better and better?
2. You sound pretty involved in different programming projects, but is there anything you do everyday to practice your programming skills? Or do you just do it so often that by now it’s second nature for you?
3. What do you do when you come across something that you don’t know? Do you look it up in a book or just google it?
Thank you for taking the time to read my question and I look forward to hearing your response.
For one, never apologize for asking questions. Unless the person you ask is (rightfully) offended by the question; then apologize afterwards.
I entered the code game late by current standards. I got my first computer when I was a sophomore in high school (2000), and GeoCities was the place to be when you wanted to make a website. I loved the idea of putting my art up on the Web for everyone to see (I was doing a lot of cartooning at the time). GeoCities was great for WYSIWYG webpage creation, but it annoyed me that when I looked at the code to move something over a pixel, it was all just a crazy hodgepodge of HTML and inline styling. So, I viewed the source code of all my favorite web pages and learned HTML!
I took Computer Science my senior year and went off on my own tangent with all the projects that were assigned in class. Instead of doing a simple script in Visual Basic, I made a poker game that played in your favor if you typed in the Konami code. I also made my first personal website, which was mainly a gallery of the thousands of photos I took of my friends and I that year with my Nikon Coolpix. That year I got my first digital camera, and my first cd burner. The CD burner was the size of a Playstation!
I intended to go to college to study aerospace engineering, but things didn’t work out as planned and MSU was the first to offer me a full scholarship. Not one to give up free money or move far away from my bitchin’ central Jersey apartment, I accepted MSU’s proposal and majored in Computer Science, because I figured that I could learn more theory to make me better at web development – and I was right. The software engineering courses were also a great help, because the processes parallel client relationships when making small to large-scale websites and applications.
The way I learn languages and web technologies now is exactly how I learned from the start that sophomore year of high school, about 11 years ago or so: come up with a project (or get a programming gig somehow), and do whatever you need to in order to complete it, and do a good job. I wanted to make a website that was easy to update and I can do it offline in a text editor, so I learned HTML. My friends wanted websites, too, so I either made them or showed them how. They told their friends and family, and they told theirs, and so on and so on. I’m fortunate to have a great network of friends and clients over the past several years, so all of my work come from referrals. Besides being good at what I do behind the computer, it’s important that I’m good in person – pleasant, conversational, and a good listener. I try, at least!
Right now I’m working with a few client projects. To keep sane, though, I work on my own site, write for this blog, and make things here and there – like my 8-bit art maker, which I’ve neglected while finishing my Masters and need to revisit. I’m also trying to create the perfect jQuery dropdown plugin. It’s far from perfect, now, but I work on it whenever I get the chance. Having a web presence and proof that I’m always working is important to me, because I want everyone to see what I’m doing – which is exactly why I made that first GeoCities page in the first place.
Doing what I do requires a lot of learning, and it never stops. NEVER. I probably won’t go back to college for another degree, but I take classes and do a lot of reading. And I never stop coding. Right now I’m following along in the Stanford online HCI course, and reading a few related books to supplement the lectures. What’s great about education today, with the online HCI course as evidence, is that there are so many cheap and accessible resources for web developers. And if there are no classes or books for what you’re looking for, then – yes – there’s always Google!
tl;dr: read a lot, never stop coding, be a good and pleasant person
Excellent questions, all of them! Go here to ask me more, everyone!