I would put forth that Google isn't a search company anymore. They spend more resources filtering out all the junk on the web. Search is a secondary function for them. The end-user doesn't see the filtering; publishers and merchants trying to jockey for position do.
HN user
cerrelio
Cocaine makes you very vigilant.
I became a photographer because I had some friends who were socialites and had VIP access to clubs. Their various club owner friends liked my photography, so I just started showing up with my camera all the time and I'd get in free and drink all night.
Short answer: no.
Long answer: Yes, if you can find a PI/project that's solving the exact problem you want to solve.
The work doesn't have to make money, but it has to make papers. And if your publications aren't landing in high profile journals, your funding (and career) will dry up.
I was considering that. I don't have any sales background, but I can communicate what's good and bad about software/systems fairly easily. In my career I've also had to "sell" complex ideas to management, and I've had pretty good success in getting permission to execute those ideas. Interacting with people can tire me out though. Nevertheless, I can power through anything with the proper motivation.
I'm currently trying out management, but the management atmosphere at my company is pretty bleak. None of the managers seem genuinely interested in launching products. They just kind of kick cans down the road for a few years hoping to fail upward. Over the past two years I've seen effective managers leave the company while the mediocre ones stick around. I probably just need to explore companies whose work ethic suits me better. However, it's hard to know beforehand if the company/team you join is going to fit you.
The other option is starting/founding a company. To explore that I've been going to monthly alumni events to network. There's so much money being thrown around in the Bay Area, I might as well try to tug on the brass ring. And it's not entirely the money that's the attraction, but the opportunity to call the shots.
I took two breaks from tech. One was for grad school, which I dropped out of after 3 semesters. Like some others in the thread I found academia to be pretty bad. You're paid shit and treated like a peon. The work was actually interesting, but I knew I could just go back to private industry and make 5-10x as much doing the same type of work.
I took a break from "everything" at one point and became a nightlife photographer in a large urban area. It didn't pay much. It mostly involved drinking and doing drugs, on someone else's dime, until the early morning. It was a great time for the most part, and I met lots of interesting people. After about 6 months I got tired of it and went back to tech. Note: having a professional camera in a club is a great way to meet women.
I'm considering leaving tech again, or at least ending my engineering career. I no longer find it personally enjoyable to build systems. Building systems that other people want, instead of ones I'd want to build, has jaded me. I've worked at several companies, large and small, over the years. And I've found that as a tech shop matures, that exciting feeling of creating a product dulls. It dulls to the point of becoming anesthetic. The longer you stay, the worse it becomes. I wouldn't mind staying in the tech field. I just don't want to spend all day in front of a monitor anymore.
These are based off my current experience in transitioning to a management role. I'm still a dev, but my manager is "testing me out" for a management role.
- Keep current on technologies, what your team uses and wants to use, and also technologies that might be useful.
- Know your developers' strengths and weakness, both technical and interpersonal.
- Time management. (Can't stress this enough).
- Ask lots of thoughtful questions (informed by the first item in the list).
- Develop relationships with other managers, teams and executives. If you want to manager bigger things, those guys need to see you and know you can do it.
- Don't hold grudges. At the end of the day, go home and forget about any bullshit that occurred.
- Trust your developers.
- Don't be afraid to say no.
- Take risks. Accept responsibility when those risks turn into failures.
- Give genuine praise.
One sort of cultural thing to keep in mind. It may not apply to you though. After moving to the Bay Area several years ago I noticed that behavior with organizations often defaults to passive-aggressive, especially when there's disagreement. Avoid being passive-aggressive and correct others (in a professional manner) when they're being passive-aggressive. I used to deal with more aggressive people when I worked on the East Coast. You know where you stand at least. PA behavior allows bad sentiment to stew and kills progress of any sort. Being assertive most of the time will solve this.
I've taken sertraline, venlafaxine, bupropion and fluoxetine.
Fluoxetine is the only SSRI I experienced no withdrawal from. I was on a low dose (10-20mg) though, and it mostly worked (went from severe depression to mild/none). I have a standing prescription for this as a fallback, but haven't taken it in 3 years. I avoid taking it because of the sexual side effects. I like having orgasms.
Bupropion triggered a seizure after the first dose. Immediately discontinued.
Venlafaxine was mostly effective, but I went from depressed to robotic/apathetic. When I stopped taking it, I tapered off, but I had brain zaps and developed acute tinnitus for over a month, alternating in each ear. To this day, 15 years after treatment, I still experience moderate hearing loss in my ears several times a month for about 60-90 seconds at a time.
Sertraline was the worst. I got up to 150mg before the problems. It triggered a hypomanic episode that lasted for about a month. I didn't sleep at all for the first three days it manifested. The doctor stopped treatment immediately and put me on risperidone, which is a new level of awfulness. I just quit taking it after a month, and told my doctor I would never take any antipsychotic again.
I have a great doctor now. He's not even a psychiatrist, just a generalist, but he's treated many cases of depression over the past 20 years. He figured I didn't have unipolar depression, but bipolar, due to the hypomania. SSRIs are bad, and not recommended, as monotherapy for bipolar. So he put me on lamotrigine and I haven't had a depressive (or manic) episode for over two years. I've also experienced no noticeable side effects.
I've found the only thing that matters in the treatment of mental/behavioral disorders is your doctor's skill and knowledge. Don't be afraid to dump a mediocre doctor; it's your wellbeing on the line.
My company's style is a culture of consensus. No one really "gives orders," because that's too aggressive, and someone might feel hurt. I find it fucking awful. If there's disagreement about something, usually another person is brought into the mix for "input," ad infinitum. This happens until the issue becomes a non-issue or a disagreement over a new issue occurs.
I might disagree with someone if they ordered me to do something I think is wrong, but I actually admire them for making a decision. There's nothing worse than making no progress because no one has the balls or authority to say "there's contention over this issue, but I think X is the best course."
SF needs to worry about its own transit issues. MUNI stops at rush hour are poorly serviced. I can't get on most of the trains that pass through Civic Center, so I usually end up going inbound to Montgomery or Embarcadero so I can actually board.
These modifiers are always a touchy point with me. They aren't applied consistently and imply greater experience and ability, when they often signify time spent at a company or political acumen. Over my 15 years in engineering, I've seen several engineers without senior or lead titles who provide more value than those with the modifier.
I prefer "staff engineer" for engineers who are capable of producing useful, working systems with a team. "Lead" should not be a modifier to a title, just an indicator who makes final technical decisions on a team.
On my resume I only have "software engineer." If I have to negotiate a higher salary after an offer, I point to my accomplishments and not my title.
Only if computing power catches up to handle the rapidly increasing rate at which data is produced. But as computing power increases, that also affects the rate at which data is produced. So, I firmly believe most data will sit around unprocessed and eventually decay into uselessness.
It is. We were specifically dealing with ESL/second-language learning though. Long term retention is necessary for fluency. If you want to pass a driver's exam or material you don't really care about beyond passing a test, then cram. Although in most classes, you will probably want to retain knowledge beyond a month in order to do well on a final.
This is the subject I tackled in grad school. It was super interesting, because many people still believe that memorizing stuff is best if you cram for an extended period of time. Showing them that just a few minutes of review at properly spaced intervals leads to better memorization floored most of the participants.
My particular research was the quantify the effects of the variance in follow-up exposure times. I did this research 10 years ago before smartphones were available. The participants had to physically be in a classroom in front of a computer to get the treatment. So in our experiment's case, the effects of variance were non-negligible and needed to be investigated. If smartphones had been around then, we could have tested so many more hypotheses.
This is the reason why I don't fear government surveillance as much as corporate surveillance. The government simply can't process all the data they collect. And the value of obtaining information from the data can be highly variable.
Corporate data collection and analysis efforts are optimized for least cost/highest return. They really don't care about individuals as much as they do classes/tranches of people. However, the most concerning part is when corporations will pass on, willingly or unknowingly, their trade secrets to the government to improve the latter's techniques.
I can't find a closer image of the west Portland area, so I can't comment on the nature of those commutes.
I live in SF, and at work my team consists of ~16 people. Of those 16 people only 3 live in SF (city/county). The other 13 live in the East Bay or south of the city. Of those who live outside the city the majority doesn't get paid enough to live within city limits; the others get paid well but have families and couldn't reasonably afford a large enough home in the city.
People are very willing to convert time into savings (on housing). And sometimes they have no other choice.
support vector machines and Bayesian learning have been around since the 70s/80s (ninja edit: SVM's since 1963! Markov Chains 1950s, Bayesian Learning/Pattern recognition sine the 1950's), but adoption has been slow due to the nature of business, which is now drooling over it since neural networks beat a few algorithms.
This is one of the things I find hardest about convincing managers and leads of. They think things like CRFs and Markov models are "new" methods and too risky. So they opt for explicit rule-based systems that use old search methods (e.g. A*, grid search), which hog tons of memory and processor. Those methods rarely ever work on interesting problems of the modern day.
They can understand the rule-based methods easily. They have a hard time leaping to "the problem is just a set of equations mapping inputs to outputs, and the mapping is found by an optimization method."
The important thing about the PhD is that you've become an expert in conducting experiments and research. It really doesn't matter what ML techniques you've done, as long as you know everything else associated with building those types of systems. Just hone your research and experimentation skills and you'll be fine.
I do have one suggestion: learn to handle dirty data.
I work with ML researchers and notice two things: they're pretty bad software engineers (no knowledge of software patterns, bugs galore), and they almost never know how to clean their data. The latter is because they do a lot of their research using pre-cleaned, standard data sets. You never get that in industry.
I've seen for rent signs up for over a month in some very desirable locations. That's a change from 2 years ago when I was looking for a place. But the rents are still pretty high for new buildings. The developments opening up in SoMa on 8th street from Harrison to Brannan are asking for $3000/$4000/$5000 (studio/1bd/2bd). I wonder if they're getting that considering those are significantly above median.
I want a 2bd place soon, so I'm hoping that all the young professionals who came in 5-6 years ago are lowering rents by moving to the suburbs to pump out babies.
My current team suffers from disgust of Taco Bell programming. I love it, and I push hard to use it for the projects I lead. I've even had other leads scoff at my use of Python because "the GIL will throttle your application!" Possibly, but I understand the performance requirements of my systems and GIL is the last thing I'm worrying about. I'm not going to write my own programming language, or use one that doesn't have a good ecosystem, because an existing language is deficient in some negligible aspect.
Engineers who build things from scratch do not understand a very profound fact about software engineering: a computer performs menial, repetitive tasks so you don't have to. Be lazy and use someone else's solution.
When I was 14 I remember writing bubble sort from scratch dozens of times, as well as input scrubbing methods and binary search trees. I didn't know about the concept of libraries. Granted the internet (sourceforge, github, etc) wasn't around and I was writing everything in BASIC or Pascal. By the time I graduated high school I understood that writing code was painful.
Consequently, it's sometimes alarming that most systems I build rely on thousands of lines of code that I didn't write and rarely ever inspect. But I have to trust other developers in order to get my work done in a reasonable amount of time. I don't even consider myself a good programmer, mostly because I hate writing code. Nevertheless I do deliver useful, valuable systems. I know my problem has already been solved by someone else. I like being lazy. It's my best quality.
This isn't addressed in the article, but avoidance of Taco Bell programming is a symptom of a disease. The disease is ignorance; mostly in managers who are out of touch with the technical landscape in which their teams work. Any time I hear of a team building their own tools or doing significant amounts of de-novo work, I try to limit my dependencies on that team. You're never going to ship that shit, buddy, but I solemnly admire you for trying.
Then that academic can make a company out of it, and charge $2000/hr. :)
The issue is academics cashing in on their research. I think this is fine in general. Having been through grad school I've worked with professors who I felt placed their entrepreneurial endeavors ahead of their educational requirements. This is an ugly practice. Ethical standards need to be in place to address this. If you're primarily conducting business using your academic credentials, then relinquish your chair to someone else, and take up some "fluff" title and pay your grad students out of your own kitty. Also, pay the university for the non-human resources you use, because it's like you're a hairstylist renting a chair in a salon to obtain and service clients.
I think this is primarily the reason why there's a generation of postdocs sitting on the sidelines waiting for a full professorship. They eventually get bored (and hungry) and move into the private sector, robbing academia of fresh blood and new ideas. So a de facto privatization of research emerges. We all lose when this gets out of hand.
Yeah. It's almost laughable how little you need to process high volumes. Our stack was PHP/memcache/MySQL, a closed-source front-end cache/web server, and a custom mostly-MVCish framework.
I introduced Redis to the company after using it for a distributed system (the web scraper I built to suck down other tube site content). There was initially pushback from other devs on using redis, because it was new at the time. I ignored their concerns and used it anyway, then they started using it for future projects.
At my current company I feel that the leads are largely driven by articles and buzz they glean from Twitter. They'll make a technology choice on hearsay and then shoehorn it into a running stack. Or if they start a new project, they suck in a whole ecosystem of janky libraries and frameworks that are so abstract or unstable that they end up in a rabbit hole wasting time solving problems in their dependencies. "We can commit this to open source!!!" says the lead. No, you won't. That code is shit, your code is shit, and you're not being paid to solve other people's problems.
Development at porn companies is actually more like a sprint; development at most other companies is like old people shuffling down the nursing home corridor to get their weekly enema - you don't really want to get there, so you go slowly, only because you've got nothing else to do.
Pornhub doesn't generate most of their money from subscriptions. It was never their primary business model to do that. It's mostly ad and referral revenue. I also think most tube sites run on thin margins or even at a loss. And like a commenter below mentioned, you can't do recurring payments with bitcoin. It's strictly a push payment, and even if there were a third party or service that could effect a recurring payment model, it would be too risky.
A good chunk of porn site revenue comes from rebills to people who forget to cancel their subscription after they've joined at 2am Saturday morning, drunk/high, needing to pound one out before passing out. (This is literally the description of a typical customer a porn studio manager gave me.)
It's largely the reason why I left. As I learned more about the industry it was less palatable. They do take steps to shield themselves and reduce their liability. Let's face it, if you're a top dog at a large porn company, you live a charmed life. These guys don't want to go to jail or have the government poking around in their business.
The whole industry is legitimized by one object: a camera. If you pay someone to have sex, it's prostitution. If you pay someone to have sex and you record it, it's business. This very fine line is one they constantly walk; they're always a step away from criminal behavior.
Big porn companies are very serious about PCI compliance. They also closely monitor their fraud numbers. If a MID (merchant ID) goes above 5% (volume or cash amount) fraud, the processor could get fined by Visa/MasterCard/etc ($50k+) and lose the right to accept credit card payments for that particular payment network. Processors who handle porn (high-risk) accounts will often have a general, shared account they'll let you use, because they can take measures to average down and hide the fraud. However, they charge you a premium to use that general account, so you're better off using your own if you have other measures to control fraud.
My former company solved this problem by simply acquiring a payment processor company. They had total control over their processing that way. As a bonus, they had access to other porn vendors' account activities, since it was one of the 4-5 major high-risk processors used by porn companies. It was a win-win for them.
It was amazing. Half of devops was stoned during work hours. I actually think it helped, because they usually had their hands full and probably needed stress relief. In spite of being stoned, they were far more competent and responsive than any devops personnel I've had to deal with since then. They really knew their shit, because porn sites are a big target for scammers, hackers, etc. They always knew about the latest exploits, backdoors and whatnot.
No stigma. The company name is pretty innocuous/generic and most people interviewing you at large tech companies never dig further than your resume. They do ask about the projects I did though.
The engineering culture was great. Most of the engineers were genuinely about trying new stuff, improving the sites and were heavily into tech outside of the office. Every engineer who made it past the 90-day probation period was solid/competent. Management was very selective during the probation period. I would say about 60% of new hires left or were fired before probation was over. If you made it through, you really had to fuck up to get fired.
They were pretty conservative about their stacks. I see why, because it's hard to hire in that industry. They want to keep their stacks as uniform and simple as possible, so the skill requirements were easy to meet. However, no one was constantly vetting your projects. If you wanted to use something new, and it worked, they didn't care. You owned the whole process. Getting resources wasn't too difficult, if the project was desired by management. A fat pipe to serve content? You got it. Tons of storage for media? You got it. Servers to process large amounts of media? You got it.
There were never any meetings of any sort. I only attended 3 meetings in my entire time there. We had 10-minute scrum-type stand-ups now and then, but it wasn't religiously followed. I miss this aspect the most. I can't tell you, as an engineer, how resentful I am that managers take up 2-3 hours of my week because they need to fill slots in their calendar to prove they're "working."
Salaries were competitive with the area; at least 50% above the median household income. When I was given an offer, they gave me 10% more than I asked for, which has never happened to me before. I actually think I was underpaid relative to coworkers, and could have asked for 20-30% more and gotten it. Perks were okay; raises and bonuses were minimum. Promotions were very rare, but someone told me engineers, in general, don't often get promotions (this is my experience at my current company - one developer out of 20 in my department got promoted last cycle).
The general atmosphere is unlike anything I've experienced before. It's a boys club. The only women in the company were assistants/secretaries - of two types: related to their boss, or fucking their boss. There were women who worked in accounting and HR, but they were located away from the the rest of the company. All the engineers, QA, designers and salespeople were men. Surprisingly there were no real HR issues I heard of. I guess when you're dealing with all men, they tend to work out differences among themselves. I rarely got into the office before noon, because my boss wouldn't come in until after 2pm. Very relaxed and pet friendly. There was a little hazing of new employees, but nothing abusive. It's a culture you wouldn't find at a modern "let's be inclusive and supportive with hugs and validation of everyone's concerns" corporation.
It was mafia-like in the way that there was an inner circle of employees that didn't give you much regard. But if you proved yourself, they warmed up to you and welcomed you.
The only stigma I experienced was self generated. I wouldn't tell people where I worked for a while. However, after that period of shame, whenever I told someone I worked in porn, they had a positive attitude and dozens of questions. After moving to the Bay Area and going to several parties were Google/Facebook/Yahoo engineers were present, they would actually be very interested in what I did.
Devs rarely hung out with the production staff. I almost never saw the talent. The production was done in warehouses several miles from where the back office work was done. However, the owners occasionally threw parties where the talent would show up. If you wanted to fuck a porn star you met at these parties, you could, if you were mostly discreet about it. Devs would also go to tech conferences (flying first class no less), but we never shared the nature of our business with people we met (at least I never did).
Compensation was comparable/above average, perks were good (free membership at high-end gyms, fully paid health insurance), but bonuses were meager and there were essentially no equity possibilities. However, after 1.5 years working in the area of the country where I was, I had enough saved to put a down payment on a nice condo. I didn't, and I used that money to move to the Bay Area, where I had to start that process all over. And the Bay Area is definitely not a place where a developer can buy a condo after saving for ~2 years.
Most corporations are so scared of violating employment law that they never ask for specifics. The last two companies I worked at had a third-party verifier who simply confirmed (by pay stubs, calls, etc) my employment history. I assume they don't share anything else other than that I worked somewhere for the periods I stated on my resume.
The more difficult part is tolerating the passive-aggressive culture of "polite society" that exists at most "legitimate" companies. Porn company culture is very aggressive. At my current dull-corporation job it's almost a weekly occurrence where I want to tell my manager or someone else up the chain to fuck off and get out of my way, in regard to getting work done. Porn is the only industry I've worked in where an aggressive (tinged with a modicum of respect) attitude is rewarded. I hate the hypocrisy at large corporations who encourage "take initiative/leadership, get-it-done!" attitudes, but then push back when an employee actually does that.
My advice would be to either produce and distribute porn, or drive traffic to porn sites. Those are the only two roles where you bank. I wrote an analytics subsystem for my company's properties and I saw how much their affiliates make. If you were even partially effective at driving traffic, you could clear $75k/year. Their top affiliates would come closer to $1M/year. These were just individuals (sometimes they worked in pairs) who were great at SEO and building links mostly.
The drawback to driving traffic is that the porn companies are constantly shaving you. You had to track each of your referrals very carefully. Though generally, if the affiliates saw they were getting fucked over, they just switched off their firehose and directed it to another porn company. That always resulted in a face-to-face meeting with apologies and increased incentive to redirect the firehose.
Two words: sex trafficking.
(To elaborate - strip club owners would often set up dorms where women hung out all day doing cam stuff. They would "import" the women, but eventually the porn companies came up with a less risky idea. They simply went to the origin countries and set up (with the help of the shadier people) these porn dorms. No need to illegally bring talent into other countries.)