What should a student who is already a decent programmer do over the summer?

post by shuffled-cantaloupe · 2022-01-25T21:25:32.301Z · LW · GW · 2 comments

This is a question post.

Contents

  Answers
    10 jbash
    5 A Ray
    3 dashdashdot
    3 FiftyTwo
    2 Phil Scadden
    1 Austin Chen
None
2 comments

I'm majoring in computer science. However, I don't want to do a software engineering internship. Reasons:

  1. I'm already a decent programmer & have worked in big companies/startups/research lab-esque organizations. I definitely have a lot lot more to learn, but I'm not sure if doing software engineering (SWE) is the best use of my time.
  2. I'm not sure I want to be a SWE. I love programming, but it seems like the way to make the most impact in the world these days is to create an (actually meaningful) startup/organization. (I know, I know every young person says this these days).

Given that this is the case, I'm trying to figure out what to do this summer besides a normal tech internship. I've decided to ask forums like LW/Hacker News in order to get the advice of people who have lived a few more years.

Here are current options I've been considering:

  1. Try to understand virality -- I'm not particularly good at creating viral content or content that appeals to the masses (aside from the natural edge that comes from being young), which could certainly be useful when marketing a product. An option here is trying to intern at a company like Buzzfeed which is full of people who understand emotions / virality.
  2. Try to understand soft skills / business -- There are roles out there like "business development intern". I don't know anything about "business development" but negotiating with other companies / writing white-papers / etc. could be a useful skill
  3. Spend time learning on my own. To enact change these days, it's probably not sufficient to just know programming (unless you want to do a SASS). Spending time on my own learning physics/chemistry/biology could be useful. The issue here is I believe mentorship is useful and this option negates that completely.
  4. Working on my own business (not a software project). I've done this in the past & learned a lot about how to be scrappy. Not a terrible idea, but I don't want to sink 3 months into something only to have to return to school. Also negates mentor-ship. Also I'd rather spend time learning right now so I can execute on something that's not a local maximum of what my brain can imagine right now.

Anyone have thoughts?

Answers

answer by jbash · 2022-01-26T15:07:56.005Z · LW(p) · GW(p)

It's contrary to the ethos on this site, but I'd like to point out that you are allowed to take a vacation and are not actually required to fix the world.

answer by A Ray · 2022-01-25T21:35:30.608Z · LW(p) · GW(p)

Re: 4.  I think it's totally possible to start super-short-lived orgs, as long as that's the plan from the outset.  Also I think there are a lot of people in tech startup / tech entrepreneurship space that are willing to mentor, but I agree finding them and making that connection is harder.

From my time working in tech, and spotting common weaknesses w/ new folks (though might not apply to you!): Statistics, Ethics, and Writing.

I think spending time learning statistics is probably a pretty good use of time, since a bunch of the technical aspects are non-obvious, and translate to super-powers when programming with stochastic or noisy systems.  (E.g. knowing a sampling technique which more efficiently estimates a parameter is basically like knowing an algorithm with better big-O complexity).

Second, even in doing boring feature implementation for software systems, issues that have ethical ramifications come up surprisingly often.  (Decisions about filtering datasets, how to normalize forms, etc).  Spending some time getting a good overview and understanding of the field I think helps prevent the two big failure modes I see here: 1. not realizing that a thing has ethical implications at all, and then deploying a thing which becomes expensive to un-deploy or change, and 2. freezing when encountering a problem with ethical implications, without knowing where to go for a solution.

Last I think writing is a really great way to put practice and time and effort.  The more I've done work in software, the more its shifted that the most important typing I do is documents and not code. 

+1 asking HN.  I think you'll get a different diversity of answers there.

answer by dashdashdot · 2022-01-26T10:57:49.978Z · LW(p) · GW(p)

Connections turn out to be outsizedly important compared to raw skill. As a student new options for connecting come easier than later (even during Covid). If you want to build an academic connection you can maintain throughout your career, that could be a great asset, even if that career is not in academia. Who's your favourite professor and how could you get on his radar standing out from the rest of the crowd? Is there any project they could use help with? (Yes) What kind of activities could you join which could bring you in contact with someone you might one day start a business with? Etc.

answer by FiftyTwo · 2022-01-25T23:56:56.945Z · LW(p) · GW(p)

Good programmers who are a pain to work with are much less successful than average programmers who are pleasant to work with. Increasing technical competency has diminishing returns. So I'd focus on doing things that gets you more experience of working with people, the business development internship may do that depending on the details. Also things like working in a bar or restaurant. 

Note that this is distinct from the standard advice on developing social skills. Being good at talking to strangers and going to parties is good. But working well with people in an employment context is different, its much more about maintaining working relationships with people you may not especially like, than forming deep connections. 

answer by [deleted] · 2022-01-26T15:55:41.369Z · LW(p) · GW(p)
answer by Phil Scadden · 2022-01-26T01:24:14.865Z · LW(p) · GW(p)

I understand that you want to do something with impact and also that you love programming so combining the two could actually be desirable. I am more or less a programmer (40 years+) and have also run a business. Business involved making more money but a great deal of really boring stuff. How about looking to make an impact in solving a serious problem which requires programmer? (and science organisations immediately spring to mind). My title is actually "Senior Scientist" but I live most of the day in my programming environment. People present me with endless interesting problems to solve though I admit to being for more taken by "interesting" than "impact" - let the funders sort that out. Stuff I do is bridging high level mathematical models with real life what-a-computer-can-actually-do and do it with all the limitations in the data. Numerical analysis (which is boring to learn but kinda fundimental) and stats are key there. So maybe look to what key science problems that have impact are and what is needed to work on them?

answer by Austin Chen · 2022-01-25T23:51:59.839Z · LW(p) · GW(p)

This is a great question to ask! Random assorted thoughts:
- "Business development intern" sounds fairly low ROI, I wouldn't go for this
- Studying virality could be cool, but I'm not sure Buzzfeed or an established media company is the right place. Maybe a crypto project?
- The best mentorship comes when someone has an aligned incentive to improve your skills; internships are OK but do rely on goodwill of the mentor more than actual aligned incentives, since most intern work is considered throwaway
- One thing you didn't mention but I'd encourage: start a project with peers you respect! Outside of school, most great things are built through collaboration. There's a world of difference between joining an org and starting your own.

2 comments

Comments sorted by top scores.

comment by Donald Hobson (donald-hobson) · 2022-01-26T12:36:11.397Z · LW(p) · GW(p)

Something more towards AI safety work?

comment by Daniel Kokotajlo (daniel-kokotajlo) · 2022-01-26T03:39:33.025Z · LW(p) · GW(p)
I love programming, but it seems like the way to make the most impact in the world these days is to create an (actually meaningful) startup/organization. (I know, I know every young person says this these days).

What sort of change do you want / hope to enact? Which things will you change, in what direction?