I’m a developer, and you can too!
How Meteor.js Made Me a God
I’m a huge fan of Meteor.js. I’m a start-up guy who’s pretty good at almost everything, which means I’m not the best at anything. I’ve been building websites for years (mostly Wordpress), but custom web apps were well above my knowledge. In fact, less than a year ago, really messy around with a database at all was incredibly intimidating. Which as an entrepreneur sucks. It means testing ideas is a huge undertaking, and instant loss of control, since I would need someone else to do it for me and be captive to their schedule.
Today I code almost every day. I’m building a sophisticated sales behavior app, my wedding registry app (I’m engaged!), and a number of prototypes for other start-ups.
Everyday I’m learning and applying something new. I am standing on the shoulders of thousands of amazing developers, and accomplishing very impressive (to me) things very quickly, thanks to them. Most importantly I am able to truly rapidly prototype and iterate. I have real sales people using my app daily and giving me constant feedback (both consciously and unconsciously), allowing me to build, measure, learn in days, all by myself. It’s freaking fantastic.
Here is a list of Meteor resources I’ve used and use
So here is how I got here
So here I thought I’d put down what resources I used to get to where I am today, and what resource I still use daily.
Codecademy is a great starting point. They have terrfic, entertaining, and gamified lessons on everything under the sun. It does take hours, but it’s worth just getting through it.
My key to getting through them was time blocking. I would look at my calendar and schedule out when I would work on Codecademy. I would actually make an appointment, and commit to it. I wasn’t perfect about it, but even if I neglected to work on it one night, I’d at least feel bad about it - it was in my consciousness, so I was more likely to pick it up again soon, maybe even put in some extra time.
My Own Project
So to really start ingraining this stuff, I found a project worked great. I started building a neat little client side app. That just means that there was no database or back-end - everything that was happening was powered by the users computer. It was a great learning experience, since it was a somewhat sophisticated program that let you write on digital paper and fold it and so on.
The process for making your own project is fairly straight forward.
- Think of an idea
- Break it down into smaller components (be like the squirrel, girl)
- When you get stuck (and you will get stuck right away), just Google it. You’ll find a solution in no time.
- Repeat 3-6.
Through this process I learned ( and retained) loads. I was no longer just doing exercises somewhat mindlessly, I was solving problems I really wanted to solve, so I was really invested in finding and understanding the answers.
Getting into Web Apps
So now I was making pretty and functional web apps, but you couldn’t save anything - you couldn’t even log in.
I started looking for a platform that would allow me to dip my toes in the waters. First I came across Parse, which was pretty neat. Parse let me do all my front-end magic freely, and they would take care of all the backend stuff. Not bad. But quickly Facebook bought them and that makes me a little uncomfortable. Facebook knows enough about me already.
Then I stumbled upon Meteor. I started reading through and watching all the videos on Meteor.com, and pretty quickly I was sold. I was a very experienced Windows user (build computers, started a tech support company…) and had zero experience with Linux. I still had some residual Dos knowledge, but that was it for Terminal experience.
I like Windows. I’m just putting it out there. It’s a good mix between functional and open for me. Ubuntu is too limited, and I don’t really love the UX/UI, and Macs are too closed - they just rub me the wrong way.
But for Meteor, Windows was going to be too unstable, too much of a hassle. Instead I just downloaded VMWare Player and installed a virtual Ubuntu machine. It was surprisingly easy and worked fantastic. It’s also nice to have my development environment separate from all my other projects, but still easily accessible.
Once setup in Ubuntu, I Googled some instructions on getting set up, and I was off. Got Meteor installed, created my first demo project, and started poking around,
I applied my same project methodology to Meteor.
- Think of an idea
- Break it down
- Start building
- Get stuck
- Google solution
- Repeat 3-6 until done or dead
Again, here is the list of meteor resources I have, and still use daily, to get me where I am.