Saturday, March 29, 2014

New Roller Coasters

Unsurprisingly, my first day and a half of looking at actual SurveyMonkey code and trying to figure out how everything worked was a new roller coaster. It went something like this:

  1. This is terrifying.
  2. It's cool. It will just take a little while to get familiar with their code.
  3. Look, curly braces and functions and stuff. I know how to do this. It's cool.
  4. It's cool. There are only like 100 files that interact with each other and I have no idea how.
  5. OH MY GOD there are like 100 files that interact with each other and I have no idea how!
  6. What are all these weird functions that I've never heard of????
  7. It's ok. We're just going to google some things and see what we can find out.
  8. WHY DOESN'T GOOGLE KNOW WHAT THIS FUNCTION IS???
  9. I thought I knew JavaScript, but clearly I don't.
  10. I forgot how to computer!!
  11. Ok, I will ask my mentor for some help.
  12. Wait, you're telling me that a lot of this code is specific to the SurveyMonkey framework?
  13. Wait, it would be super weird if I were able to figure this out on my own?
  14. Wait, it takes all new people a while to learn the ins and outs of your MVC framework?
  15. Oh, that's what that stands for? Oh, that's where that function is coming from?
  16. Ok! I can maybe look at the code on my own and understand some things.
  17. So what happens if I comment this out?
  18. OMG IT RUNS!!!
  19. Ok, so why doesn't this section work?
  20. I am amazing. Look at me, coding and stuff.
  21. WTF? Why doesn't this work?
The rest was mostly me narrowing in on what part of the code was throwing an error. And then I went home for the weekend. Want to hear something really shocking? At no point this week did I cry or feel like crying. There were times when I was a little panicked or felt kinda stupid, but I didn't have any breakdowns. It's not because I am a good enough programmer that I am past those breakdowns. It's that I have learned that this is hard and I am smart and I have resources. I'm sure there will still be breakdowns, but I don't anticipate them happening regularly anymore. 

Just like I felt at Hackbright, I feel like right now I am exactly where I am supposed to be. 

Thursday, March 27, 2014

My First Week So Far

I can hardly put into words how happy I am to be at SurveyMonkey. Here are some reasons in no particular order:
  • The people are super nice and I have yet to meet a brogrammer who works here. Everyone is approachable, humble, and helpful.
  • They take the monkey theme to a level I am very comfortable with. On top of their employee directory, MonkeyBook, and the plethora of plush monkeys and plush bananas of various sizes stashed in every corner, they also named their conference rooms after fictional monkey characters such as Marcel (Friends) and Mr. Teeny (The Simpsons). Everyone's desk is labeled with a banana name tag, and in my case a "green banana" name tag because I am new (see photo below). But best of all, they name their projects after species of monkeys, such as Howler and Rhesus. 
  • The project I'm working on is called Mandrill. I love mandrills. They are the most sexually dimorphic monkey, meaning that the males look very distinct from the females. But the most interesting fact about them, of course, is why their faces are so colorful, which I happily shared with my manager when he asked me what interesting facts I knew about mandrills.

  • My mentor Sara is super awesome and amazing and fantastic. She has been checking in with me to make sure I'm not overwhelmed. It's even comforting just knowing that she is nearby, even if I'm not asking for help, because she is like my safety net.
  • The project I'm working on seems interesting. I haven't written any code yet, just looked through documentation and specifications. But it seems like it will be doable maybe. Maybe. 
  • I discovered the SurveyMonkey freezer. It is full of ice cream. Don't worry, I'm not stuffing myself with treats all day long.


My green banana name tag

Hopefully I can report more this weekend. I am trying to get into the actual code right now so I may or may not have something interesting to share on my next post.

Monday, March 24, 2014

My First Day at SurveyMonkey

Today is my first day as an engineer at SurveyMonkey! When I got to my desk, there was a laptop, monitor, magic mouse, phone, and welcome packet. They set me up with all the accounts I need and everything was super organized!

My manager David is really great. He explains things clearly and non-condescendingly. I'm going to be working on an internal tool that helps the company keep information up to date. Today I'm mostly reading through documentation and getting my development environment set up.

As for the office itself, the people here are really nice and there are stuffed monkeys everywhere, which is exciting to me. I saw a photo of a mandrill and David seemed surprised that I knew what it was called. So I guess I have exposed myself as a primate enthusiast. Also, my mentor Sara works about ten feet away, so that is awesome!

Other pluses: tons of really great snacks and treats, and lunch on Mon/Wed. Today was mediterranean food. Can't wait to get my monkey swag. Going to go figure out how to obtain that.

More soon, I hope!

Wednesday, January 29, 2014

Learning Objective-C

I think the hardest thing about the job search is that it is almost impossible to learn anything new because I am jumping around doing various things that could make me a stronger candidate. These activities include: improving my HB project, practicing white-boarding, doing code challenges, reviewing concepts I learned but have forgotten because I have been jumping around so much. What's frustrating about these activities is that every company has a different idea of how they would like to measure my potential as a developer, so at any given interview, maybe only one of these prep activities is actually beneficial.

In the mean time, there are so many things I'd like to learn in my spare time because it is a fun challenge, such as making mobile apps, learning more hardware stuff, understanding how memory allocation works, playing with big data, learning fun data visualization stuff, etc. I think I am just really anxious to stop dabbling in so many different things and start learning one particular thing on a deeper level. But I don't feel like I can do that while I am searching for a job.

When I do get a job, I think I will be so heavily immersed in learning that I will feel really challenged and really satisfied with what I am doing. I am really excited to have that. I need to find a great company that supports my love of learning and wants to help me grow as a programmer and a developer. I can't wait to focus on learning rather than on job searching.

Aaaaaaaanyway, to make a short story long, I needed a break from interview prep so I spent all of today learning Objective-C. It's really not much more complicated than Python. JUST KIDDING!!! It's soooo much more complicated than Python. Holy monkey. But I really really want to build an iPhone app and I'm determined to figure it out. For my readers who haven't yet discovered how much fun programming is, here is a simple comparison of Python code and Objective-C code:

Python:
apples = 25
print apples

Objective-C:
NSUInteger apples = @25;
NSLog(@"%lu", apples);

Note that the Objective-C code looks like swearing. Coincidence? I think not. But code school's Objective-C lessons are really fun and I am almost finished with them. When I'm done I'm going to work on a Stanford class on iPhone apps and supposedly you get to build an app after the first few lectures. Yay! For now, I am enjoying feeling like a spy writing secret coded messages. And hopefully soon when I make an extremely simple thing work on my iphone, I will feel like a powerful evil scientist taking over the world. Man, I love programming :)

Wednesday, January 22, 2014

My Game is Deployed!

My game is now deployed and in a condition such that people could actually play it! There are still many things I want to add someday, but job searching is a full-time job. I plan to continue working on this project once I get settled in somewhere. Please be patient if the game runs slowly. Enjoy!




Tuesday, December 17, 2013

I Just Like Coding and Please Stop Judging Me

This blog post is for the benefit of no one because anyone reading my blog does not actually have the mindset that I am about to discuss. But I need to rant anyway because I am frustrated with the status quo and it is difficult to keep it from affecting my confidence.

I encountered a guy who claims to be a huge proponent of women in tech but insists that not just anyone can code and some people shouldn't be coding. I told one of my awesome Hackbright friends and she had this reaction:
He clearly thinks that he's above people that just want to try their hand at something they might not be amazing at and he thinks they have no business even ****ing trying and that's elitist and a serious problem in the tech community, and in society at large that he's just perpetuating and it's completely unacceptable 
This conversation was one of many I have had in which someone implied that the problems I want to solve are not ambitious enough, or that having fun while learning to code means that I must not be learning rigorously enough, or that if I'm not coding 20 hours a day I must not be a "real" programmer. It's incredibly insulting and disempowering. And saying that not just anyone can code essentially means that you think there are two kinds of people - those who can code, and those who cannot - and that you are born one way or the other.

For the longest time I didn't want to give programming a try because I thought you had to be a certain type. Obviously there are some people who still think that. But I no longer do. This is really simple: I love programming and I want to learn more.

I enjoy the challenge and I really come alive when I am trying to solve a problem that is within my reach. I don't know whether or not I'll ever do anything super out of the ordinary or become an expert in some really impressive subfield. But I do want to code. Everyday. With awesome people. And keep learning. And have fun. And come home at a reasonable hour. And spend time on non-programmy things when I feel like it. And teach other people. And read books. And go swimming. Nobody is allowed to tell me I'm less of a programmer.

I will not let anyone make me feel small just because they are at a different level, or because they like to take on larger challenges than me, or because they personally prefer to spend more than 80 hours per week coding, or because they see themselves as part of an elite group of which they have decided I'm not a member, or because they have a CS degree, or because they went to an impressive school.

The most important thing to know about me is that I am a good person. In the context of a job, it is also pretty important to know that I am hard-working, collaborative, motivated, enthusiastic, and I have a sense of humor (plus I'm super modest).

It is totally legitimate for people to judge me based on my current programming abilities and how I solve problems in order to decide if they want to work with me or not. There is no need to put a cap on what I can do or tell me what my dearest ambition is. I will be the one who determines what I can and want to do. For now, I am looking forward to finding a great team of people who are passionate, supportive, inspiring, and fun to work with.

[power pose]

I love programming because I like to solve puzzles and when I'm coding I feel like I have superpowers. Let me know if you think you might like to have some superpowers. I would love to share the magic!

Sunday, December 8, 2013

I Gradumated and I'm Busy as Hell!

I officially graduated on Friday but we are all still going in to HB every day for the next couple of weeks to practice white-boarding (technical interviews are very different from other kinds of interviews). I am busy as can be and I apologize that I don't have time to blog much. Just posting a few pictures and will try to update as exciting things happen. I have a few interviews scheduled and I am waiting to hear back from a few others. Very excited. Very tired. Love to all!






My diploma (the binary spells "nerd")