It doesn’t matter what you majored in*

I’ve encountered a few people recently who have been trying to personally pivot. These people are largely in my age group, and mostly seem to have spent the last several years in an academic setting studying various non-computer-related subjects. And they all seem to be trying to get into computers.

My sampling bias is sky high on this one, especially given that I’m currently attending Hacker School, which more or less says “Come here if you’re interested in learning more about computers” on the tin. But Hacker School aside, I think the trend is something wider-reaching. People want to get into tech. Programming. CS. Hacking. Software Engineering/Architecting/Gardening. Really whichever aspect of computers you could feel like referring to, there seem to be a lot of people kicking themselves for not having been in tech already.

It’s through the maybe sound-bite tech-pop mantra that “software is eating the world”, or an interest in exactly what lies beneath this ocean of complexity in the technology we use today, or even a taking-notice of the sheer profitability of the tech space at-large.

I can relate to this predicament. I started my undergrad intending on studying mechanical engineering. I wrote my first lines of real code (save MSLogo and some basic HTML) during my second semester freshman year mandatory CS course, mandatory for engineering undergrads. I met a group of great people in college, all of whom seemed to be CS majors (or close enough to it) and I began to learn huge swaths of information just through my fantastically nerdy friend group. After some time I switched my major to neuroscience, all while continuing to learn about computers. And finally I switched again, to computer science, and stuck with it long enough to graduate. For me it was in large part through my interest in the brain, in building software that interacts with humans more optimally, and constructing software which ‘thinks’ the way we do. It was also a general disenchantment with academia, and the slowly dawning realization that having programming and computer skill can mean skipping grad school, wielding a powerful, arcane, and conveneintly marketable craft, and importantly (for someone who loves travel) being able to work from anywhere in the world.

Whatever’s gotten us here, I’d really like to say: It doesn’t matter what you majored in. As long as you, and your personal, mental operating-system is installed and ready to go, you’re in the perfect place to learn more about tech.

The whole history of subject-specialization has been one where people from seemingly unrelated backgrounds pivot into new fields, and quickly rack up major contributions because they see things in a different way from the homogeneity pervading the field before their arrival.

Tech is possibly the best example of this, for a couple reasons. The first is an idea I encountered while reading the always-wise ramblings of James Hague over atprog21.dadgum.com. In short, programming knowledge has more potential growing in the fertile substrate of a mind trained in a non-pure-CS field. Hague goes so far as to say that CS shouldn’t be offered as a major in undergrad, and people should only be allowed to minor in it, with a real subject as their major.

The other main key feature with pivoting into tech is the availablility of resources. Learning about computers is one of the best things that can be done with a computer. With other fields, biology for instance, the experts don’t spend all day sitting in front of the internet, so there’s inherently less of their accumulated knowledge available online in the form of blogs, tutorials, and git repositories.

All I really mean to say, at the risk of sounding patronizing, is: don’t beat yourself up for being in your 20s, or 30s, or 40s, or whatever, and feeling sad about not having started learning about computers or programming. There’s definitely a boatload of information to learn and grok. But there’s also plenty of time and resources available and waiting for you. You’ve figured out that you want to start learning about tech, so you’re already on that path. Assuming you’ve done something you’ve found interesting with your past several years on this planet, you will have insight both new and powerful to contribute.

On that note, I’ll wrap this up. I’ve been trying to pivot myself from computers into synthetic biology, and I have an experiment to attend to… maybe I should’ve majored in biochem.

(* It also doesn’t matter if you didn’t go to or didn’t finish university.)

Advertisements

Hacker School

What is Hacker School?

Hacker School (now called the Recurse Center) is a three month retreat, for programmers and people interested in programming. The ‘school’ is a floor of a lower Manhattan office building, with a row of desks running down the length of the room, surrounded by office chairs. Several smaller breakout rooms line the room, each labeled with the name of an important contributor to the the computing world–such as Babbage, Church, Lovelace, Turing, and Hopper.

I use the word ‘school’ loosely, it’s not really an adequate name for what’s going on here.

There are no classes, no (explicit) teachers, no assignments, and no homework. Instead, the chairs of Hacker School are filled with individuals capable of self-determiniation; people who, when left to their own devices, teach themselves. And explore difficult concepts. And build things for fun.

The application and acceptance pipeline for Hacker School filters for this sort of mindset. While there is a filter for making sure people know at least some of the basics of programming (including writing FizzBuzz in a favorite language and an online pair-programming interview), the process also really looks for people driving themselves to learn and explore for the sake of it.

As a result, the people around me come from widely varied backgrounds (and age groups). Looking around, I can sight people with CS bachelors degrees, CS PhDs, several with backgrounds in physics, statistics, microbiology, and sociology. Some of us have worked in the software industry previously, some are in grad school, some never went to college, and some even have children. All of us are either in front of our own laptop, or staring over at a neighbors’, and all of us enjoy learning for the sake of it.

Hacker School is not really at all like Fullstack Acadamy, or Dev Bootcamp, or App Academy. Where those programs are primarily focused on the zero-to-sixty of programming–getting people in, up to speed with a given development stack, and then out the door–Hacker school is geared towards giving people with some degree of experience room to play and explore without structure.

Every morning at 10:30 there’s check-in, where we break out into the little rooms in weekly choose-your-own groups and go around in a circle, talking about what we did the previous day, and what we plan to do in the current. It’s a bit like scrum, for those who’ve done that. This is probably the most structured Hacker School gets, and if you miss checkin, no one’s coming to hold you accountable.

There are also regular seminars and workshops given both by the hacker schoolers and by the 6 more permanent “facilitators”, who run the organization. The workshops are based on interest and expertise, where those with the latter can pass information to those with only the former.

#neverGraduate.

The Experience-As-A-Whole

Four weeks in, I cannot emphasize enough how awesome this program is. This is what university should be like. I’ve learned more here in 4 weeks than I have in whole semesters of undergrad, both because of the sheer focus granted as well as the beautiful lack of structure. There’s an interesting effect at play, with a room of ~60 people all working on at-least-vaguely programming related projects. When I find myself getting distracted, I can almost draw energy from the people around me. Of course I can get this explicity, if I ask questions and get help, and unstick myself from wherever I’m mired. I can also regain focus in a more subtle way, through the vibes of raw concentration in the room. Maybe I was hanging out with the wrong groups in college (I doubt this, s/o to my Purdue buddies), but I never remember being around this many people as engrossed in and excited about their work.

Some current and former Hacker Schoolers have a hard time with this lack of structure. We in general, as modern human beings, are so used to the structure imposed by the school system or by our offices, that when left to our own devices we have no ability to self-mediate or generate focus and direction. Some say that they spent the first third of Hacker School floating, drifting from project to project, in a sense mentally coming to fully grok the actual freedom that Hacker School gives. It’s not a stretch to say that even in this float-y case, the time ostensibly wasted was well spent, as a necessary tax for the time to spin up one’s ability to work in this sort of unstructured environment. In a way, it’s empowering.

Projects I’ve worked on

Traceroute implementation in python. I did this one half for fun, and half in honor of a former hacker-schooler friend of mine who also implemented traceroute, and through whom I came to learn about Hacker School. Github.

Haskell primer. I spent a few days working on learning Haskell, doing the first several chapters of the widely acclaimed CIS-194 course, taught by Brent Yorgey. Freenode’s #haskell pointed me straight at this course when aksed about learning resources, specifically the Spring 2013 one I’ve linked. There’s a great page here on more learning resources for Haskell.

Diffie Hellman Key exchange, generalized to n-participants, in Scala. This is the secret key exchange algorithm used in SSH as well as many other secure applications. Implemented as an exercise in learning both Scala and more cryptoGithub.

GoScore, an iOS app project using OpenCV to score the board game Go. Swift, bridged through Objective C to C++ is remarkably complex. In its current state, the app detects circles reasonably well, but we (myself and another hacker schooler) decided this is the wrong / overly complicated way to go about doing this. This project is on a backburner while I work up the courage to refactor and tackle OpenCV again. Github.

Rhythmic, an album-centric music player in Scala. I listen to music as whole albums generally, and music players are generally more geared towards an individual track experience. This is an experiment in building an album-focused music player with a clean art-heavy UI. Github.

Singapore

We spent a week in Singapore after our India adventure.

Chinatown market

I really enjoy crowded marketplaces–the more crowded, the better. There’s always so much new to see and smell and taste. Plus, being 6’3″, I generally have a birds-eye view and can still breathe and locate other people I’m with.

Preperations for Chinese new year were well under-way (actual New Years is in a week), which contributed heavily to the crowdedness and expanse of the marketplace.

Sri Mariamman Temple

We visted a Singaporean Hindu temple. The unique thing about this specific temple is that it was populated by Hindu “village gods”–gods that are generally maintained and prayed to by the local farmers/merchants of a small village community as opposed to an official brahmin priest. The village gods have slightly different names and portrayals as the more well-known Temple gods starring in the same mythology and stories.

There’s a similarity to the Christian protestant versus catholic divide in village god worship (being available to the peasants, very personal and accessible) versus temple god worship (controlled by the priestly class, living solely in temples). Protestantism is the idea that the bible should be read by and accessible to everyone, rather than just the priest/father giving the sermon, as decreed by old-school Catholicism.

Because everyone in Singapore is an immigrant at some level, when the Hindus came to the country they were granted space (as all religious singapores) to practice their religion. This space ended up being a temple, naturally, as there’s no room for small, sparse villages on the Singaporean island. So this temple is the only place (within my knowledge) that these village gods are worshipped in a temple setting.

Broken Tooth Relic Temple

The interesting thing about this temple is contained within its name. It contains a relic, a tooth, which supposedly belonged to the original Buddha Gautama. People come and pray to it.

The main philosophical divide (or at least, one of the main philosophical distinctions) in Buddhism is between Theravada and Mahayana Buddhism. Theravada Buddhism is more in line with what’s commonly thought of as Buddhism: Ascetiscism, long hours of sitting meditiation, orange-red robes, and so on. It’s in some ways the more classic and traditional form.

Mahayana buddhism acknowledges that everyone can’t (or won’t or don’t) really take the time to retreat for years and meditate in the woods, or on top of a mountain somewhere. It tries to make the Buddhist philosophy more accessible to the average individual. As such, it tends more towards temple prayer, holy relics, and primarily the idea that enlightened individuals called Boddhisatvas have postponed their unificiation in Nirvana in order to help you, the average individual, come closer to enlightenment. They’re the Buddhist equivalent of the Christian Saints, as far as I can tell.

The Broken Tooth Relic Temple is an example of a Mahayana Buddhist place of worship.

Mumbai

Wedding

We came for my cousin’s wedding. While not the first Indian wedding I’ve been to, it was the first since I’ve been an adult, and really paying any sort of proper attention to the world around me. The wedding was a lot of fun, with the as-seen-on-TV dancing and delicious food, family and festivity.

Dharavi Slum

We toured the Dharavi slum, the largest slum in Asia.

At first, I was apprehensive of the whole idea: “visiting” a slum seemed intrusive to the lives of those who lived there, as if the homes of over 1 million peoples were a tourist attraction to be gawked at.

bombay-dharavi

Actually touring the slum changed my initial sentiment. The organization giving the tours, Reality Tours, is an NGO geared towards bringing more revenune to the Dharavi community (and the communities of other slums around the world). Our tour guide, Mayur had been born and raised in Dharavi, taught himself english and was now giving tours and studying computers.

The proceeds from the tours went towards community programs such as classes (including computer classes!) and sports organizations for the children growing up there, as well as some for the adults. They provide basic computer skills (office, web browsing, etc), and also sports equipment (footballs (soccer balls) and kleats for the kids). They were recently donated a 3d printer that Mayur (our tour guide) was in charge of figuring out how to use.

Through recycling and other industries, Dharavi moves over $1 billion / year.

bombay-dharavi3

We weren’t accosted by beggars at all throughout the 4 hours of being there. Tour-ers are advised against giving to people begging, since it encourages a counterproductive mentality of getting something for nothing.

At one point I picked up a retinue of children who were interested in my watch (I sport a Pebble Steel), asking me questions about it and pulling on my wrist to press its buttons. I was actually surprised by the fact that they were truly interested and not trying to steal it.

The gap between the rich and the poor in Mumbai and across India is much greater than it is in the US, with the wealthy being at the level of the American upper class, and the poor far below the (eg) American poor. For instance, my grandparents’ apartment (where I’m sitting currently and where we stay when we come to bombay) is on the same road as the Ambani house which is the most expensive private residence on the planet. (there was a media wave about it when it was built, not sure if you caught any of that) And it overlooks basically slums, in certain directions.

bombay-dharavi2

Although all this being said Bombay has come a long way in the last even 2 years. I’ve noticed a lot less abject poverty on the streets, and a lot of the slum shanty-dwellings have been renovated into low cost apartments. The roads are better. The old Hindustan Ambassador taxi fleet has been largely replaced by new Mitsubishi Santros burning compressed natural gas.

Muslim Street

At Mumbai’s Muslim street we ate kebabs, partridge… I tried goat brain, which has a slightly squishy texture and a taste similar to liver/kidney but not quite as strong.

bombay-muslim

I fell into the eyes of a young muslim woman standing down the street, probably around my age. She was wearing a full burka, only her beautiful, grey-green eyes were visible at all. I on the other hand was in a button-down and jeans, my RayBans on my head. For whatever reason, time seemed to stop as we gazed at each other for a while, until her (presumably) husband returned and ushered her away. Sappy imaginary pseudo-romance? Probably. Bridging cultural divides? Hopefully.

We also saw a man mysteriously taken away by a cop, who arrived outside his shop-stall and demanded he get in the back of the police jeep. After some back and forth he got in, handing off his wallet to his friend out of the back of the jeep as they pulled away.

Weird.

Anyway, here are some more pictures:

bombay-nightbombay-night2bombay-wedding3bombay-wedding2bombay-pujabombay-marinebombay-weddingbombay-mendhibombay-wedding4

MHacks III

This weekend, I went with the Purdue Hackers club to MHacks Winter 2014 in Detroit, Michigan. This was the first major hackathon I’d been to, and it was an awesome experience.

The four person team I was a part of created a hardware and software solution for mobile ordering and checkout which we dubbed Spark. Check out our submissionhere.

We won the “Most Technically Impressive” and “Most Viable Startup” awards!