Internships and Capstone

Long time no see. In the last two months a lot has happened. I interviewed at seven different tech companies for software engineering internships, I got an internship at Chef Software, I developed and deployed Lights on WA, my a capstone project, and I saw the grand canyon for the first time. So it’s been a great couple of months.

Internship Interviews

Ada Developers Academy has great selling points, but the two that definitely make it rise above the fray are the facts it is free and that there is a built in five month internship for those who go through the program. The internship is critical as it gives you real world experience at a local software company before you have to start the job application process. It also gives you the opportunity to apply and do technical interviews with the guarantee of a job at the other end before you have to do more high-stakes interviews which is amazing practice. We were all a little more than nervous for our week of seven technical interviews and knowing that at the end every person would get an internship made it a lot easier. I interviewed with a range  of different companies both small and large. Some of the interviews were purely technical, some situational, some just talking about why I was interested in coding. All of my interviews were positive experiences, even though I came down with a cold and was pretty ill and could barely speak or get the ringing out of my head at the beginning of the week. Technical interviews can be scary for people coming from different fields. In a lot of cases it’s basically someone asking you a logic puzzle and watching you speak and write on a whiteboard while they judge you on how and if you solve it. There’s a lot more to it than that but it can often feel like a quiz. It’s really about how you build trust and candor with the interviewer in a short amount of time and do so in order to solve a complex problem. Some people also just like to see how you react when you draw a blank — do you panic? do you pull through? So any situation in which panic is an option can be stressful.

I ended up appreciating the interviews and to my bemusement found that the ones with harder questions and interviewers that pushed me to think more deeply about efficient solutions were the interviews I enjoyed the most. I am happy to say Chef was one of those interviews.

In order to make interviews less daunting and more silly our cohort added some little traditions to the process. We all wrote each other notes to be opened before each interview and had a costume box where we dressed up after each interview and took disposable camera photos.

IMG_7622.jpeg IMG_5096

About two weeks after our interviews were finished we found out our placement companies. I was overjoyed to find out I’d be interning at Chef. I had found their interview engaging and challenging, they are a remote company, they pair program, they are a DevOps company which is a deep area of interest for me, and they are Open Source.

Funny enough the morning I found out I’d be interning at Chef, I met up with one of the Adies who works there now for coffee. I am excited that two people from the program are already there as full time engineers and love the company. It has been hard to explain exactly what the company does to my family and non-tech friends (all my friends) but for most software people Chef is a leading name in DevOps or Development-Operations. They produce software for software companies that makes the deployment and configuration process easy and even fun. The only friend of mine I know in tech was very excited when I told him this is where I’d be interviewing as he handles the Chef recipes at his job. Chef is written in Ruby (yay!) and a functional programming language called Erlang. One of my goals and wishes for the next six months has been to learn a functional programming language so I’m excited for the challenge. Chef’s frontend will also be a challenge for me in learning Angular 2, which is brand new and daunting. I’ve already started to learn a little Erlang and transfer to the text-editor Vim over the last week and it’s a whole new world to me. Our cohort has three weeks starting tomorrow to “ramp up” before internships start in April. I’ll be using that time to dive into more Ruby, Chef Recipes, Erlang, and Angular before I start.

Note: I also found out last week that I was accepted as an Opportunity Scholar for Railsconf and will be attending in May! Chef is a sponsor so I hope I’ll get to see Chef employees from different parts of the country there.

Capstone Month: Lights on Washington

And all this brings us to Capstone Month. After interviews were done we quickly started working on our four-week individual projects. However daunting, capstone proved to be the most fun I’ve had at Ada (don’t get me wrong, it was all fun!) I have been incredibly impressed with all the ideas and deliveries that my cohort pulled together over these four weeks.

My project started with thinking about campaign finance in the Washington State. I wanted to make donations and candidates more transparent. So I decided to take the data from the Public Disclosure Commission, which controls campaign finance in our state, and make it more accessible and host it on my own site. Easy, right? Well, public data is a lot more complicated than that. My first big problem was that I didn’t have easy access to the data. A public records request I put it took 3.5 weeks to come through. I had to build a web scraper to get all the data from the site.

Once I got the data and had a basic front-end with the help of some amazing Javascript libraries, the main problem and majority of my time was spent figuring out how to get so much data into production. I dealt with a litany of memory leak and performance issues that we normally don’t see in our Ada projects because we are dealing with hundreds of rows of data (if even that much), not millions.

In interviews we talk a lot about space and time efficiency without any practical experience about when this might be applicable. We tend to think that it’s just for interviews that we need to know the run time of different sorting algorithms. Through working on Lights on WA I started to see the immense value in having a basic understanding of memory, space, efficiency, and algorithms. I talked some about this in the presentation I gave on our final day. The slides can be found below and the website at lightsonwa.com.


I was very proud of how Lights on WA turned out. I talked to some friends working in politics in Washington who were enthused to pass it around. I am also proud about the fact it is a civic hacking project and that I learned how to get information from the government when they are slow to deliver a public records request. I definitely want to stay connected to the open data world that I experienced a little slice of and would absolutely participate in more side projects that had to do with making our data more accessible. Finally I am proud of how much I learned about performance and data structures. I am proud that I used the resources available to me to finish and exceed my MVP. The whole process gave me a lot of confidence in my skills and made me excited to dive deeper into DevOps in the coming months.

After internships interviews and capstone were complete, I got the opportunity to visit my family in Arizona and see the Grand Canyon for the first time. It was so beautiful I was breathless (and not only because of the 12 mile steep hike). I got to see sunset and sunrise over the canyon with my best friend, and take a second to breathe without thinking about runtimes or Travis failures. I return this week with a new sense of learning and optimism, which I’m really going to need as I go cold turkey off Sublime in my switch to VI.
IMG_6799.JPG
IMG_6805.JPGIMG_7642.jpeg

Ada Week 15: Nearing Chaos

Edit: I just noticed this is my 200th blog post!!! Happy bicentennial post to me.

We rounded out week 15 on Friday at Ada with the end of a four week stint of group rails projects and lots of computer science lessons. Ada can be intense, but so far I’ve kept a positive attitude and the weeks have just been flying by with ease, even if the topics are challenging. However, we are all in dread of our next couple of months, when we start capstone projects and internship interviews all at once. Right now a lot of our time isn’t spent with our heads in code, but in researching and networking, spitballing ideas for projects, and trying to get a grasp on the professional side of this industry.

Another thing making the last month feel code-intensive is that all the in-class projects we have done have been 3-4 person 2-week group projects. The larger the projects get and the more people working on them at any given time, the more time that has to be spent working on planning and group dynamics. We have our groups set up like mini real-world teams with task managers and stand up leads assigned every week. Kari and Charles, previously our instructors, have become project managers we see only in our morning stand-ups or in meetings throughout the day. It’s fun to play at what a real-time developer team may look like, and also brings a lot of the same pressures: learning to work with people with different working styles, communicating well across the code, not having merge conflicts, etc.

I am proud of what all this work has produced however, both in code and in terms of my relationships with my peers. Both my groups worked really well together to create these two projects:

  1. Botsy, a fake etsy e-commerce type sight where robots can sell goods to humans. Github
  2. APIspy, a feed aggregator that uses the Twitter and Vimeo API. Github

It has been amazing to start using APIs this week. Many of us would tell you it’s felt like the whole world has opened up to us. Parsing through an API makes me feel like an investigative reporter at times and every time I hit on a new piece of information, another app idea springs into my head. Hopefully that will be useful soon, when I have to build an app on my own for capstone.

I’ve also enjoyed diving more into computer science fundamental topics like binary search, recursion, sorting, and linked lists. I’ve enjoyed looking at code in Java and starting to understand some of the difference in interpreted languages and higher level languages. There’s still a ton to learn here, but I’m excited to start.

It’s amazing that in about a week Ada will begin it’s fifth cohort cycle. I’m really excited to be a TA/tutor in the new classroom (what!?!?) as it feels like just a minute ago I was learning beginner concepts myself. I’m very excited to help a new set of students in the classroom and learn from them in the process. I’ll be able to give about a month to that before the chaos of internships and capstone hits.

Creativity and Software

I’ve been getting a lot of questions lately about why I like programming and why I’ve pursued software development. I thought I’d take some time to explore this narrative further, especially in terms of the gender gap in tech and it’s root in primary education.

Growing up, every family member and friend told me I’d be a lawyer. This was mostly due to a stereotype about argumentative kids. I loved to argue. For me it was a fun game that got me into more trouble than actually convinced others of my point. I loved to talk people and circles and end with them contradicting themselves and shoving that in their faces. Yeah, I was a fantastic child to be around. As I grew more mature, the idea of sharpening and adding nuance to argumentation captivating most of my time. I was on the debate team. I majored in philosophy and wrote 30 page papers that dissected and laid out arguments, reconstructing their flaws. Eventually however, I yearned for more precision and accuracy in my canon. It was in taking my first economics courses I found that in modeling and math. Math is the purest form of argumentation, nuanced and creatively constructed argumentation. It was in this period I discovered a great lie I had been told as a kid in my education.

I was a gregarious child who found the human mind more interesting than the insides of a computer. It would never had occurred to me as a child to choose computer science or mathematics over reading and  writing. This early false dichotomy has cost me a great start to a career as a computer scientist. Now I know that solving a logic problem with a computer takes a similar level of nuance, creativity, and planning as solving and argumentation problem in text. It astonishes me that we don’t show kids how creative programming can be. And, in my opinion, this leads to a series of stereotypes that align naturally with gender stereotypes in this country as well. Reading, writing, emotional nuance and analysis are all things in the sphere of women’s influence, while repetitive actions in math similar to gaming are left to men. I have had several people speculate to me that the reason more boys are interested in computer science is that it is more nitty-gritty and repetition heavy (like video games) than big picture areas that are concerned for in the arts. Boys can spend hours at their computers or video games, while girls just aren’t interested.

I am discussing this because the question often arises, “Why aren’t there more female computer scientists in the U.S.?” And this question was not always relevant. At certain points in our history the rate of women in CS was rising higher than men. During the 70s and 80s almost all ads for personal computers were targeted towards young boys rather than girls. Girls stopped seeing themselves in front of a computer. And by the mid-90s computer science classrooms were dominated by men. I never saw myself as a person in front of computer, hacking away all day and never communicating with another living person.

This is why  I think it’s important that we not only change the ratio in computer science and representation factor, but expand for children what CS is capable of and the array of learning styles and minds that can learn to program. Especially with the rise of machine learning and natural language processing, the ability to think creatively about communicating the complexity of language is more important than ever. The ability to build arguments and analyze a vast amount of information in order to make a choice about the direction of a program is important. The intuition to spot bugs in chaos is important.

If we expand the perceptions of what kind of thinking is needed for programming, it may help expand the types of people who pursue the field as well.

Ada Weeks 4, 5, 6, 7, 8, ….

So I haven’t been that great at blogging every week, what a surprise! Ha. Ha ha. This week, however, I have some time off (A WHOLE WEEK?!?) for the holidays and so thought it opportune to both share an update with you and also put off completing my homework. Win win.

What have I been up to for the last month? Rails! Learning the ins and outs of the web application framework has been exciting and not only because I can now share things with you (Scrabble Cheat Tool, Tasklist, Another TasklistPersonal Page, Farmer’s Market Finder), but because I feel for the first time like I can really see the power of these tools for web development. This week we are tasked with building our first rails application on our own and I think we all feel like that is entirely do-able, which is bizarre and so far from where we were just a month ago. My project this week is to build a digital retrospective boards for our weekly debriefs.

Pretty soon we will be applying for our internships and completing our capstone projects. It all happens incredibly fast and I can’t believe some people have only 10 weeks to complete enough to be job-ready. I am excited about all of our company sponsors, however, and can’t wait to learn more and interview with them. There is everything from a small 15-person startup to large companies like Amazon in our pool, and even though we are all a little horrified to be put out into the ‘real world,’ we are also excited to learn new skills.

In light of how fast everything has gone, I am also thinking a lot about what I want to do in the software development world and which skills I would like to concentrate on. For me, an easy first answer to these questions is data science. I studied economics in school and that’s where I first grew a passion for data, statistics and analytics. When I got home for my break I found an old economics journal I left here and felt a little pull of excitement reading through the appendixes of proofs and statistical models. While a distaste for modeling is why I initially disliked a PhD track career in economics, I understand the joining power of programming and statistics. I get incredibly excited about both the backend and infrastructure elements of data science, but also about the data visualization side. I have been reading a lot lately about the future of news and interactive visualization. I have enjoyed talking to people about how good UI makes data accessible to the people who really need it’s power. While, I enjoy working on the backend, with controllers and models, envisioning how the whole thing will come together to the view, I also am deeply interested in great design and building products that are human-centered and will help people.

Anyway, I’m excited that I’m beginning to get to the point that I can  have an idea and actually implement it using code. It’s a great feeling and I’m excited to expand it in the coming months.

Ada Week 1

Phew. It’s actually the beginning of week 2 right now! I meant to write this up RIGHT after class on Friday and then we went out to celebratory drinks and then I fell asleep immediately. But I promised to try to write every week for you (mom) and I’m trying not to let you down.

At the end of today we had our first mini “retrospective” and for the first time in the last 10 days I actually slowed down a little to think about how and what I’m doing in this program and this year long journey I’ve just jumped into. Our retrospective came today instead of last Friday because we were so into our projects last Friday we forgot to even take a break and realize that week 1 was over! So far it’s been a lot of eating, breathing, thinking, dreaming of code and at the same time it is beautiful and scary and enlightening and horrifying. First of all, I’ve had a ton of fun this week with all of my Adies. They are a group of awesome, laid-back, and kick-ass humans all with really interesting stories we are all still unfolding together. But most of the time has been spent concentrating on one thing: Ruby and getting up to speed with programming basics and syntax.

Already, with only five days of class we’ve all built:

  • A menu generator that randomly creates horrifying/tasty menus from user input,
  • A calculator that can add, subtract, multiply, divide, and more,
  • A program that yells at your grandmother,
  • A program that calculates leap years,
  • A program that sorts any words it’s given,
  • And finally an entire solar system made up of planets and allows users to create their own planets

In only five days we created the solar system! Ok, not really, but sometimes that’s what it feels like looking back.

My hardest critic is myself. Every time I write a script I look at it and see every repetition, every inefficiency, all the ill-constructed logic. But looking back on this week and seeing 100+ line programs that WORK and thinking about where I was months ago when I started to get interested in programming is amazing. We have come so far and it’s only a week! I am seriously impressed with us. It can be hard knowing that my code could get better and not knowing exactly how but OF COURSE it could. This is week one. I am a beginner.

There was a moment last week. I think it was Thursday. I just looked around me and looked at what I was doing and thought about how lucky I was. It was maybe 3:00 pm and I was no where near bored, deep in a problem, and had infinite amounts left to improve and learn. As I move through the program I hope to keep that moment of wonder with me.

Other than all this programming stuff, this week we also had a ton of fun going around the city on a scavenger hunt and play lots of ice breaker games. You can find our team’s winning photos here. (Legally I have to tell you that our team didn’t actually win. But we felt like winners anyway.)

Alright, until week 2! Also, hello Cohort 3. We all can’t wait to meet you!!!

fairy lAdies team looking great before heading out!

Hello there!

Happy Friday! I know that I’ve been missing in action for most of this month. After the excitement of getting into Ada and yet the (seemingly) long period between then and the start date (Tuesday!!!) I have been busy getting ready for the programming and saying my parting words to my loved ones. I’m kidding. Mostly. Ada is going to be a really intense experience. I’ve given up on imagining how intense exactly. So I’ve let my friends know I won’t be around as much. I had my birthday this week 🙂 and got surprised after a running class by some of my close friends as a congratulations for getting in and a reminder of how much I’m supported. It was pretty cute. Tonight we are all playing capture the flag at the park and I’m excited to play with all of them.

Other than that I’ve been working at my Ada pre-work, which consists of some Codeacademy HTML/CSS review and Zed Shaw’s Ruby tutorial. It’s been a little hard to stay focused in the homework. Most of it is review for me in terms of the concepts, but on the other hand I know I haven’t *memorized* the syntax and that I could always be faster at the command line and the ruby documentation. But it’s hard to push yourself when you’re like “Hey I got in! And I know this stuff! Pschchhh.” I’ve been saying that I’m just taking it easy before the storm hits but that little voice in my head keeps calling out “You could do more!” I’m sure that voice will be quivering in fear next week once I’m swamped in code. But I’ve been chilling a lot and relaxing. Me chilling:

IMG_5858
Coding with sister, which is chill.
Getting ice cream, which is chilled.
Getting ice cream, which is chilled.

Overall, I’m super super super excited to meet my cohort, the previous cohorts, and the staff at Ada. I’m also elated to be coding and doing something I love, engaging in great conversations about tech and society, and have a loving community.

I will TRY to write once a week on this blog. At least for the first week. I’ve also been running and lifting a lot which feels awesome so I got to keep that balance.

P.S. Hero of the blog Mary Thompson got me a Raspberry Pi for my birthday and I am STOKED to start playing around with programming some hardware. What what.

What’s Next? ADA DEVELOPERS ACADEMY!

Hello followers (mom, hi). I am very pleased to announce that I’m taking my coding hobby pro in September as part of Ada Developers Academy‘s fourth cohort! I am beyond excited. When I got the notice I had to read the email like a billion times over before it became real. It still isn’t real but today our cohort got to finally (virtually) meet. I am so stoked to be joining the team and have a group of 23 other women who share this awesome opportunity.

So what does that mean? Ada Developers Academy is a Seattle-based 12-month program for women that jumpstarts their careers in tech. Starting on September 21, I will begin the seven-month classroom phase which includes intensive programming study in Ruby, Javascript, and the Full-Stack. After that, I’ll be in a five-month internship with a local puget sound company. It’s going to be a really intense experience not only intellectually but also personally. I’ll have way less time for my friends now and have a whole new set of very close friends. I have had some experience with cohorts and communities like this (University Honors, the Sullivan scholarship) in which people from very different backgrounds are put through an intense collaborative experience. It is not easy. But the idea is that we come out the other end with a strongly connected group of peers to support us going into this industry. And I’m confident we are up to that.

Anyway, the same day I found about Ada I burned my hand pretty bad on a pot at my dishwashing job so I took it as a sign. I’m really excited to move past this summer and start this next chapter. Ada is giving me the amazing opportunity to do that. Now I just have to finish all the prework and get things in order for the Fall. Also, Ada will be hosting another cohort starting January 2016 so if you are at all interested in applying, DO IT! And I would be happy to talk, help, advise as best I can, etc. so please contact me.

Last note, I am part of Ada’s fourth cohort. So I am in Ada Cohort 4, but another way of putting it is Ada Cohort[3] or Ada[3]. This is the way arrays work because they start counting at 0 so the cohorts so far are [0, 1, 2, 3] … four cohorts!

I hope to blog throughout my Ada experience so stay tuned! Now, celebrating!