
Learning to code is one of the most empowering things that I’ve done and I’m thankful for learning it everyday.
My journey started in January of 2011 when I signed up for a beginner web development class at New York University’s School of Continuing and Professional Studies. My motivation was mostly out of curiosity of being able to make beautiful things on the web, and partly because I’ve read about news articles of past employees from the hedge fund where I was working that had left to build tech startups in foreign countries. Thus when I received a catalog from NYU out of the blue, I opened it up and found myself planning out my computer science curriculum.
That was how my journey first began.
Attending Classes and Stumbling in the Dark
My New York University’s class was a great entry point. Learning HTML, CSS, and networking made me marvel at our current state of the web. My first webpage was my resume on a simple HTML page. With a background in art, I realized that there’s a lot of creative control over design and style.
Yet, it soon became much harder. Making HTML pages is far from building a web application. After the class is over, I started digging into the online tutorials like nettuts+, books, and papers - anything I could find for free from public libraries and online. Theory came easier to me first than practice. I enjoyed reading academic papers with the likes of Sergey and Larry’s paper on Google’s PageRanks, but coding itself was hard. It was often frustrating when the instructions didn’t make sense, or that I encountered a bug that only appeared in a newer version of a framework. Searching for the answer seems tough because a) I didn’t know what to search, and b) the answers have so many jargon that they read like an ancient Sumerian text. There were weeks that I was motivated and made progress, and there were weeks when I was stuck on an error and doubted what I was doing.
Self-learning is hard for the uninitiated. I realized that after reading how other people learned on their own, I needed to develop my own method. After all, learning by attending classes is limited, because classes can only take you so far.
Hackathon’s Wannabe Hacker
I had wished that I knew more developers. In finance, being in the center of bankers and hedge fund folks gives you a great flow of information, and keeps you current on new developments. In a different industry, I imagined that it would be the same. For this reason, I attended hackathons. If I couldn’t code well, at least I could pitch ideas and discuss business models. To my unwitting self, hackathons in New York City were filled with business folks and far fewer developers, so finding a developer to carry out an idea is not easy. Even though I liked the structure of building a product within a short period of time and validating a business idea, I often felt that I would better provide value if I could build the product. Moreover, learning how to code during hackathons works if you have met a minimal level of proficiency, and just needed someone to point you in the right direction.
Learning to Ask for Help
I’ve seen meetings where real hackers hang out and build things together on meetup.com. Unfortunately, it took me awhile to work up the courage to go to these gatherings. More often, I found myself going to Show N’ Tell events where the speakers would talk about their projects. Listening to other people’s projects is not equivalent of learning to build your own. When I finally worked up the courage to go to a meetup with hackers, they were gentle with me and there were other young developers.
The Moment When You Make a Real Commitment.. Accelerated Learning
I really started to learn how to code when I started building my own startup and was desperate to build the product. There was no other way that I could do it except to build a proof of concept. That was when I no longer had the luxury to think of coding as an hobby or as a self-improvement project. Rather it had became something that I desperately needed to know. It took a lot of grunt work, sleepless nights, leftovers, and takeouts, as the road to mastery of any craft it is not enough with brain and no heart. It was an incredibly humbling experience, but true commitment makes hard things less hard.
Hacker School - Getting on a Rocket Ship
Be it luck or coincidence, when my startup didn’t work out, I saw a note about Hacker School in my inbox, and I applied, figuring that I had nothing to lose and not knowing that it was a rocket ship. I didn’t know much about the movement of unschooling and self-directed learning or the idea that you should learn what interests you most. But I went, had a wonderful time, and you can read about my experience here. It requires a commitment of putting your life on hold. It was a right time for me, because I had achieved enough proficiency that I knew I could build. Being able to do well at Hacker School has validated for me that I have been initiated to this path of software engineering. I think the best experiences gained from Hacker School are from programmers who have met some level of proficiency, and can gain the most from the incredible residents and leaders of open source community that are there.
Advice I Wish I Knew
- I wish that it took me less time to work up the courage to attend weekly hacking sessions, because I have met a lot of really interesting and helpful people there. I saw very early beginners who were there being taught by more seasoned developers. I wished that I had asked for help earlier.
- I wish that I had spend more time building a product that I cared about instead of reading programming books. That is not to say that reading books isn’t the right way to learn, but it wasn’t the right way to learn for me. Each person needs to figure out her own style of learning.
- Find the language that works best for you. Some languages are more popular than others, but that doesn’t mean it is the right one for you. As your first language, instead of following the herd, figure out what language you like. Your first hurdle is getting to know the syntax, so pick something you like makes the hurdle lower.
- Stick with one language, instead of bouncing around. First, I tried Ruby, then Python, and then JavaScript. I would strongly caution against bouncing around, since the process may make you feel like you are making progress, but, on the whole, you are just scratching the surface of each without going for depth.
- When things are difficult and I bet they will be, be easy on yourself and do not expect that you will do it perfectly the first time. You will keep trying, redoing, and expecting the outcome to become better each time. If you have an expectation that you won’t learn something immediately and give you time to dwell and to figure things out, then you are less likely to become discouraged. When things do become more difficult, you can say that you now have the opportunity to figure things out, instead of becoming frustrated or thinking that you lack the ability.
- Don’t ever think that you lack ability. Make mental adjustments and stay positive. It is important for perseverance.
This article is published on Women 2.0.
Jane Wang is an hacker at Etsy, a graduate of Hacker School, the founder of Parkit Labs, and formerly a product manager at financial tech startup and an investment banker. She is a strong supporter of female hackers and entrepreneurs. In her free time, she blogs at Isometric Cube, writes for content platforms, including Forbes, Women2.0 and TechWomen, and makes things with brackets, numbers, and paint. Follow her on twitter at @janeylwang.
Folks, this is my first post on the blog. I want to say something useful. I had just been through the Startup Weekend NYC. Even though the experience is exhilarating and exhausting, I felt that I grew this weekend by leaps and bounds.
For starters, I spoke in front of a room filled of spectators and got the startup idea out there. Even though there were tons of talented speakers, it was first time for me for an audience of that size. I made it good.
The eight-one ideas were pitched on Friday quickly dwindled down to 20. We, the Park.IT team, recruited seven people. Then we were off!
Friday ended with a quick regroup. We started Saturday morning with an energy-filled team brainstorm. It was possibly the best time throughout the entire competition. We found quite a few competitors out there but most were facing the same problem we had. Not enough users and thus for a crowd sourced app, not enough information for seekers to find parking.
The designers did an amazing job and really surprised me on how adorable the logo turned out to be. Here’s the logo:
I just love the attention-grabbing red pin tucked as if it is right on top of a map. A few more hours in to the evening, the lead developer was ready to pull all-nighters in order to roll out a working version of the app to the market and to integrate the APIs we’ve been given in time for the demo.
Doing a round in the General Assembly, several people told us that there are close competitors in the marketplace and that no one in NYC drives. Is that really true? We dived into the mountains of data. Few things stuck out. We saw that 1.6 million people drive in and out of the city daily. They’ve got to park somewhere. We found that ZipCar had a problem finding parking for their community-wide shared cars. Community shared cars need readily available, easy-to-find community shared parking spots. Sure, that sounds like a fit.
Moreover, we popped out of the building and stopped people on the street, in their cars, and in public garages and asked about what they thought of an app like ours. (I sort of enjoyed talking to strangers.) They liked the idea and they even asked us for our site! It seemed that there would be users if we could get over the information hurdle of their finding out about the app.
We regrouped after our outdoor blitz and huddled down again to make the presentation and the app beautiful. It was earplugs in, heads down, voices low…we worked till we were forced out of General Assembly.
Our lead developer didn’t sleep Saturday night. Another teammate, even though was rusty on coding, figured out how to use a parking API throughout the night. I tried to form partnerships to show traction and found out that around 3 am that I’ve received replies from other startups. Startup CEOs and CTOs basically don’t sleep and will answer emails in all hours. They had given us access to their APIs. Score for Park.It Labs!
Sunday morning, the fatigue was catching up and making focusing harder. I tried to concentrate on the presentation and writing down what was important. After that, I started coaching a teammate on the presentation speech and delivery. The day flew by like the blink of eye and, before long, it was an hour before presentation.
The app was up and running but the query was not yet returning results for our demo. The speech was coming together but still rusty. Another teammate was complaining about there being something wrong with the pitch and I was frustrated by the interruption. I think the stress was getting to us…
Then I reminded myself why I was here. I wanted to experience it all – the fatigue, the emotions, the laughters, and even the meltdowns. We kept at it on the presentation, and got the Android app working correctly.
At 4 pm, the demo started. Other teams had interesting apps but ours was every bit as good. We had an app in the Android store and two partnerships in the works (as you can guess, I’m biased). Then, as quickly as when it started, it was over. We were back to normal life rather than a group of people rely on each other (who are just strangers really) a few hours before.
My personal key takeaways from Startup Weekend:
1. To build a company, no one can do it all by themselves. No one can be freakingly amazing at all the things that company needs to grow and flourish, including tech, design, market, biz dev, sales, etc.
2. Find the best team you can and treat your people well. Show them appreciation and give them applause.
3. If everything seems like it’s falling apart, hold yourself together. There was definitely a moment there that I felt that. But pulling yourself together is like the top thing you have to master at a startup.
4. Not everyone is made for startups. It takes a level of scrappiness and a willingness to do anything that needs to be done.
5. When you are going through fire and hell, look to the teammate next to you. If you can stand shoulder to shoulder together in the worst times, you guys are in it for the ride. If not, it’s okay too. But definitely, look to the mate next to you to see if they are sticking around.
6. Don’t be afraid to reach out to important people, including CEOs and CTOs. The best people are willing to help.
7. Doubters can doubt but you just do your thing.
8. Be thankful for everything. I have a great team and they rock!
Moreover, I identified a few personal weaknesses and I am going to fix those so I can get on it.
Please check us out at: http://www.parkitlabs.com
Sign up to receive release updates at: http://signup.theparkitapp.com/
And follow us on twitter at @ParkItNYC
