My hackNY Application

Andrea Dean
12 min readOct 9, 2019

--

I was a hackNY fellow in the summer of 2017 and feel very lucky to have been selected — it’s an amazing program. In case this helps anyone in their own application (which are currently open!), I’ve decided to share my complete application here.

Name
Andrea Dean

School
Lewis & Clark College

Major
Math & Computer Science

Degree
Undergraduate

Graduation Date
May 2017

IRC Nickname
[I did not have an IRC Nickname]

Github Username
andreadean5

Twitter Handle
[I did not have a twitter handle]

LinkedIn Profile
http://www.linkedin.com/in/andrearosedean

Personal Site
[I did not have a personal website]

Paste in a ~100 line sample of code you’re proud of.

my code sample

What language is the code written in?

Python

Tell us why you wrote this code and what it does.

The first part is part of an (open source!) example script of a Python SDK for the Storage System endpoint in RESTful API OneView, HPE’s server management software. For every group of endpoints, I’d write a Python class (which is the second part) that ends up making REST calls, unit tests, and the example script that runs on the user’s OneView virtual machine. Since this was a library intended for developers and system admins to use in and outside of the company, readability was important! The example script prints out everything that it’s doing at each step of the process, and what I used to demo my code in weekly organization-wide meetings. I picked storage systems to share because it was a challenge to figure out how to add them.

First, the user’s information about the configuration of the storage system they want to add and their OneView credentials is read from a config file. A client is built that contains all of the functionality of OneView, including StorageSystems. The storage system that the user has specified is then added. For it to be completely added, though, a REST PUT call is needed — the ip address of a domain that is listed in the storage system as “unmanaged” is listed to “managed.” After each of these steps, the outcomes are printed so the user can follow along. Next, a storage pool that is unmanaged is listed as managed, and added to the storage system. (Storage pools allow users to access storage in the system). In this case, it’s a possibility that there won’t be any unmanaged storage pools, so this part is wrapped in a try clause. The rest of the example script goes through all additional functionality of the class!

The second part is the beginning of the class itself. The ResourceClient class which is imported is a shared class we built that deals with making the actual REST calls. The connection object has the network information to make these calls, and is substantiated when the OneViewClient is created. The update() method that’s defined is a wrapper for the update() method in the ResourceClient class, but is included here because different types of “updates” have different use specifications. In this one, for instance, to request a refresh of a storage system, the user must set the “refreshState” attribute to RefreshPending state.

Please provide links and descriptions of two of your own best coding projects, in any language.

https://github.com/andreadean5/american_abroad
An android conversion app between metric and imperial, and between USD and the current exchange rate for whatever country the user is currently in. I was studying abroad in Budapest last Fall, and found myself constantly making conversions between metric and imperial when I was talking to European friends, as well as checking the current exchange rate when I was shopping and whatnot for Hungarian forints and the US dollar. When I traveled to other countries, I’d check exchange rates even more to make sure I was staying within my budget. So, I made this app for myself (and some friends used it too). I was very proud of the UI — it’s fun and simple to use, and I got to put my Photoshop and design skills to work.

https://github.com/HewlettPackard/python-hpOneView
The open source Python library for HPE’s OneView that I worked on this past summer.

Tell us about a time you built something awesome in code. How did you choose it? Why did you enjoy it?

Through my internship with HPE this past summer, I helped build an open source Python library for the RESTful API of OneView (server deployment and management software). Over the course of the internship, I contributed 10k lines of code (I was the top contributor alongside with an agile remote team in Brazil), and helped people inside and outside of the company start integrating the SDK into their work. I chose the project with my mentor at HPE, and it was cool for several reasons! The team in Brazil was fast-moving, and I was in charge of integrating myself into their team and workflow. It was a bit like having the experience of working in a small company while also seeing how development works at large companies. I’m a very self-motivated person, so it was good to have that level of responsibility and self direction. I learned how to find the balance of trying to tackle new problems myself and not hesitating to ask for help or more information when it was appropriate, so our code could keep being developed well! I really enjoyed working with my colleagues. I also loved how much I was able to learn and develop technically. Multiple times a day I’d come across new aspects of servers/OneView that I could dive in and learn about. Beyond the love of learning and solving problems, I am results-oriented and had a real sense of accomplishment at the end of the summer with the state of the project. I won our site-wide intern poster contest!

Why is hackNY right for you?

Thinking about what I want to do for the rest of my life, I’ve been trying to explore different paths. I was maybe interested in academia, so after my sophomore year I worked with a professor, doing AI research for a computer Go playing program. From this I learned that a lot of the cutting edge, important CS innovations are being made in the industry, where there are more resources. The next summer, I wanted to experience working at a big tech company, so worked at HPE. The scale of everything was really cool, and I loved working with all of my coworkers, but I did see that getting work done and changes made at really large corporations can be a real challenge. The scope of what a team is working on can also get quite small! Looking forward, I really want to try working in a startup! And in NYC! I’m excited at the possibility — I can see myself being able to really contribute to a startup and I know I’d learn a tremendous amount. Being able to contribute to a social good project would be amazing for me — besides my passion for tech, social justice is really important to me, and I have a lot to learn still about how to combine these interests. Long term, I want to be involved in ethics and tech in some capacity. I also know I’d be able to learn a lot from my peers, and I equally know that I have valuable life and tech experiences that I can share. Being able to devote a summer to building something awesome at a startup in one of the most vibrant, international cities in the world, with an amazing network would be such a transformative experience!

Tell us about what you hope to learn this summer.

I hope to grow as a programmer in all ways! Technically, I want to learn new technologies and languages, and strengthen my coding practices. I hope to develop as a team player, continue to develop my confidence in tech, and contribute to a meaningful project. I also hope to clarify career goals and strategies, and learn things I can use to help other young programmers starting out in their careers.

Is there a particular technology or industry you’re currently interested in? How come? Where do you see it heading in the future?

I’m really interested in ethics and machine learning! Two summers ago, I explored two machine learning techniques (convolutional neural networks and coevolutional genetic algorithms) through research with a professor. We were using the techniques to help a computer program play Go, the ancient Chinese board game. My research partner and I couldn’t find a good java library that had everything we needed, so we ended up building the neural network from scratch, and in the process I got a really good understanding of neural networks. Several months later, I learned that the US government was using a convolutional neural network to decide who to kill in drone strikes in various regions of the Middle East, using internet search history and cell phone data. I won’t comment on my views of the ethics of killing anyone in airstrikes, but thinking from a data scientist’s perspective, the training data used is extremely problematic. As far as I understand, the network was trained using data of individuals who’d been killed, almost entirely without trial, introducing the obvious concerns of confirmation bias and false positives — behind every statistical point here is a life. I started seeing somewhat of a disconnect between individuals making (really cool!) technology and those deciding how to use it, who don’t have the same fundamental understanding.

Anyhow, this made me start researching other cases of ethics and AI. Inclusive tech is a big deal — think about facial recognition software only recognizing white faces, which is doing exactly what it should, since it was only trained on white faces. Or policing software disproportionately suggesting there is more crime in black neighborhoods, because the deeply biased structure of the American prison industrial complex has made it so that more young black men are imprisoned. And of course there’s the classic ethics railroad-type-problems (switch a lever to kill less people?) which the software developers behind self-driving cars need to decide how to react to.

Moving forward, I think that this is one of the most important questions that tech as an industry is facing — there’s no Hippocratic Oath that developers need to take, but there’s more and more need for us to be socially-conscious and ethically-driven, in all choices made in the development process.

Quick side note about the other thing I’m really interested in this week: cryptography! I started thinking about this in my number theory class, with the modular arithmetic of RSA encryption. However, the hard math problems like the prime factorization problem that most types of asymmetric cryptography rely on are solvable by quantum computers running Shor’s algorithm. There’s a two-pronged approach that we’ll need: more development of post-quantum, or “quantum-proof” cryptography that is possible now, and the further development of quantum-based cryptography, which utilizes the capabilities of quantum computing.

Discuss your technical skills/proficiencies/languages and experience

My classes have been taught in C, Java, and Python. I’m studying math and computer science, so a good number of them (including algorithms) have been purely proof-based, not coding, which is a foundation I’m often grateful for. In the summer of 2015, I worked on a program written in Java, and this past summer I was mainly writing a Python library for OneView, HPE’s server management software. I also did occasionally pick up bugs in the source code of my local team’s piece of OneView, which was in Java. The work this past summer familiarized me with working in an agile development process, which I really like!

I have the most experience in Python and Java, with object oriented programming. I also have some exposure to SQL and big datasets, and have tossed the idea around of going more into data science. I’ve taken a course and have experience in Android development. Although I haven’t yet done web development, I’m familiar working with REST and json objects. I tend to pick up new technical skills very quickly, and am confident in my ability to do so with new languages and technologies!

Starting this year, in an initiative led by our alumNY and reflecting their community values, all 2017 hackNY Fellows will participate in a project which promotes positive social impact, especially around increasing diversity and inclusivity in tech. Tell us about social good initiatives that you are excited about or problems you would like to see solved by social impact projects, why they are important to you, and what you would hope to accomplish with social good as a part of hackNY and beyond.

My most meaningful experiences with volunteering for social good are when I can contribute with an expertise that I have. (When I don’t have that opportunity, I also like just bringing myself as a person — this semester, I’ve been volunteering at Operation Nightwatch, a hospitality center serving the homeless population in Portland). Last semester when I was studying abroad in Cuenca, Ecuador, I got connected to a fair trade shop called Maki that’s run by a young indigenous network of artisans. They were in the process of building a website for the store, and although the timing didn’t work out for me to work on the website itself, what they had a real need for at that time was product photography. I have experience with commercial portrait and travel photography, so I learned some product photography basics and spent hours and hours photographing their stock of handmade necklaces, scarves, hats, and woven items. Later on, I got the opportunity to take promotional photos of some of the artesanas in their homes, making the crafts. Since I’d spent so much time with their products, it was so amazing to see them making some of them, and really appreciate the complex relationship between them and their works of art. The ability for artesanas to have their own platform to sell their goods is so important to their financial and individual sovereignty, and is one positive way to fight centuries of indigenous oppression and value the rich cultural heritage that they have. I was really honored to be a part of this, and glad that I could contribute in a meaningful way to the project.

To explain my thoughts on being engaged on volunteering for social good, I’ll share another experience (which also happens to be in Latin America). When I was a freshman in college, I had the opportunity to spend a week in El Salvador, talking to mainly people who’d been part of the guerrilla forces in the Salvadoran Civil war. One man told me the story of a university; the Church and universities became enemies of the US-backed dictatorship. One university in particular, Universidad Centroamericana “José Simeón Cañas”, or UCA, was targeted.The whole school had operated under one mission — to help create a more just society. The Literature department asked themselves how they as scholars of literature could help create a more just society. The art department, the sociology department, the engineering department, all working with the skills they had to work towards creating a more just society. Up until this point, I’d more or less thought of my education as a tool to help me in my career goals. I wondered how I could use what I learn as a tool to help society. As I continue to develop my technical expertise, I look forward to finding ways to use this skillset to benefit the world really, and to help create a more just society. I’m beginning to explore open source initiatives and hope to find a good fit for what I can offer.

When you’re not coding, what do you like to do?

I love to travel — this past year I studied abroad in Budapest in the Fall and Ecuador in the Spring. (Hablo espanol). My favorite part of traveling is the connections I make with people, which is handy, because meeting interesting people is something I can do whether I’m in Mongolia or in my hometown in Colorado! I also love photography, both taking photos and going to galleries (I spent a summer being the social media intern for an internationally photo gallery, which was a great time and also affirmed my thought that I didn’t want to go into photography as a career). I like to cook and eat good food, spend time outdoors, bike, play with my dogs, volunteer, read, and keep bees. At my college, I’m a resident adviser for the second year, and am also work part time as the president of the Student Alumni Association. I really like both of these jobs — they’re great ways to give back to my community.

I am a US Citizen or Lawful Permanent Resident

What technologies/skills are you proficient in and enjoy working with?

[“”, “Machine Learning”, “Python”, “Java”, “Android development”]

Other technologies/skills you are proficient in: []

What technologies/skills are you familiar with and and would be open to working with?

[“”, “Visual Design”, “SQL”]

Other technologies/skills you are familiar with: []

What sectors would you especially like to work in? (e.g., fashion, data science, media, art, education…)

Data science, art, machine learning, medicine, finance, education

What sectors would you prefer not to work in?

I’m less interested in delivery.

List five NYC startups you’d love to work at. If you’re accepted, we’ll do our best to match you with one of your favorites. If they’re unavailable, we’ll use this list to help make a great startup match for you.

Simple, okcupid, Flatiron, AppNexus, Clarifai

What size startup would you like to work with (total number of employees)?

[“”, “6–15”, “16–25”, “26–50”, “51–100”, “100+”]

Any free text you’d like us to add when describing you to proposed host startups?

I think I’m a solid team member. I’m equally comfortable leading and following, depending on what the team needs, and I can be full of puns but also know when to give them a break!

Please share anything else you’d like to share about yourself.

I’m really passionate about increasing diversity and inclusion in tech, and hope to use whatever experiences I have to help reach out to other developers from underrepresented populations.

This is also such a cool program! I really appreciate the opportunity to apply, and regardless of whether I get to be a part of it, I’m grateful that there are resources out there like this! Thank you!

NYC at night

--

--