2,650 karma · joined January 30, 2009
I'm surprised how much we take for granted an understanding of object-oriented coding in the industry. Any graduate with a four-year degree in CS can be expected to write passable object-oriented code, but many have absolutely no exposure to functional idioms. Of course, those same people may have very little exposure to more complex OOP design patterns. I've seen people's eyes gloss over the same why when saying, "It's just a monad" as when saying "It's just an interpreter pattern".
Maybe there's a solution with SSH file systems or similar, but now I'm getting into the realm of configuration we were hoping to avoid, right?
For a while I was even using a Chromebook and doing most of my coding by SSHing to my much more powerful desktop.
You'll find a lot of part-time workers that work 30-35 hours/week, including in IT, because that is the most they can work without being entitled to benefits. The difference in the nature of that work and the benefits may hide any significant differences due to total hours.
There are also plenty of companies where the employees only work a few hours per day but are in the office for 8-10 hours. Take Google, for example. It's fairly easy between gym, meals, massage, sports league, etc to only actually have 30 hours/week allocated for work, even though a person is in the office for 8-9 hours. However, it may be a huge psychological difference to be trying to fill your work day vs. having full control over time.
Rescue organizations (in the US at least) are a great place to find dogs. The dogs have often been in a domestic setting with a foster owner. The history of the dog is usually known. You'll be adopting dogs in the 2-8yr range and you'll have a great idea of what you're getting.
It can take a while to find the right dog, but it should. It's a decade-long commitment.
If you want a rough story, look at the Bernese Mountain Dog. Twenty years ago the life expectancy of the breed was only 7 years due to congenital heart problems. Breeders have been working to breed it out of them and introduce more variety in the genome of the breed for some time and their life expectancy has been going up.
The key is to at least get a diverse line, though I don't think there's any reason to get a pure bred dog unless you want to show or breed it yourself.
My father recently purchased a Sharpei. It's father was also it's grandfather because it was basically the product of two kennels interbreeding. In humans go as far as to outlaw that in many countries. In dog breeding it's a matter of course.
What makes dogs breeds so different is that the dog genome is extremely plastic: it has a lot of room for variation as evidenced by how far pugs have come from wolves, even though theoretically they can still mate and produce fertile offspring.
In our current economy, if you want to have a high-paying job you have to have a highly productive job. The best way to do that is to be in a city that has high network effects. Centralization and computerization is allowing people in cities to be more and more productive. This is why even Walmart has fewer regional managers and employs more people in cities managing logistics or even doing research in programs like @WalmartLabs.
Being in a city helps you be more productive due to network effects in contacts, opportunities, leads and education. If we want to help people out, we need to help them get those benefits elsewhere or help them move to the coastal cities that already have these networks.
Looking at the stock price and talking a little with the employees, it was hard to get excited. It had gone from an initial surge of $47/share to $14/share. It looked like an overeager IPO to raise funds for a company that really hadn't quite figured out its market yet. We've seen them many times, but I'm not yet sure what the commonality is. Not having a lasting market? Not having the growth potential?
Most people at the company had an optimistic outlook, but it would be hard to work there and do recruiting otherwise.
Didn't they earn their riches by taking advantage of a system that was put in place by everyone? When someone makes a fortune in a society they are benefiting from the society's trade laws, justice systems, military protection, financial systems, education systems, workforce laws, available workforce, etc.
If the society helps you earn a fortune, shouldn't you proportionally pay back the society for all the help they've given you? Even if you only get to directly enjoy 50% of the value you produce, you still have an incentive for more marginal gains and you will indirectly benefit from the other 50% because you will reinvest it in the society that helped you produce it in the first place.
The most invasive experience I've had with an airport was TLV. Though it was helped by the fact that I knew they were going to be thorough, they had plenty of staff, and the staff all seemed very well trained. However, I've heard that it can be a lot worse if you provide the wrong answers or aren't a white American traveling on business.
Other airports like FRA or AMS have been relatively pleasant.
Granted, things have improved a lot over the last 10 years, both in cell phones and internet calling. However, video conferencing still seems pretty obsessed with figuring out a way to get high definition video and both audio quality (from the connection and the equipment) and latency haven't improved significantly for major video conferencing solutions.
In the end I took a regular salaried job that paid better and I got to spend more time doing what I loved: programming.
I had an awkward experience leaving my last company. I wanted to move and was willing to work remotely, but no one on my team or my immediate managers thought that was something the company would be willing to do so we agreed I'd resign. It wasn't until I had already accepted a job at another company that I started hearing from friends in other parts of the company that it was possible to become a remote worker. It was just so rare that my immediate team was quoting an old policy and they didn't bother to verify it with HR.
To be fair, the job I found has been great and I'm glad I left.
This was on the way back from Israel though, so I was very aware of how much easier re-entry into the US was than going to Israel.
But as a US citizen, I have no idea what visitors have to go through.
I agree that we should protest, but it won't help that middle eastern student who wants to go to a conference or the business person who wants to meet a potential trade partner. Both need to travel for their livelihood, and depending on their circumstances it could significantly affect their life at home based on the opportunities they can find abroad.
They might not have the luxury or the courage to simply walk away.
In the US we have a way to stop this: we have to be loud enough to be heard. That doesn't involve civil disobedience (no one would listen to spoiled US citizens) but we can complain to our politicians, we can protest, we can get into the media with it. Unfortunately, it's not a majority opinion and will likely be drowned out in favor of the current wave of xenophobia sweeping US politics. If you did this coming into the US, half the country would just say they were glad you didn't come.
At this point, civil disobedience on the issue is likely irresponsible.
There are a few advantages to this, in my eyes:
1. They only get compensated for their value, not the rising of the economy. It's terrible for the investor to have an economy that's going bonkers and the hedge fund that's taking 20% of that while not providing their own value. You could easily be doing worse after fees. 2. It incentivises managers to figure out ways to avoid losses. If the market drops 10% in a year, but the fund only drops 5%, treat it similarly to a profit of 5% because that's the value the hedge fund provided.
Looking at any investment gains in isolation is outdated. Investing is easier than ever for the layperson. We need to start looking at the opportunity costs.
As I went through my 20s I experimented with abandoning coffee a few times. I had developed the habit in college and I wanted to ensure that I was continuing to drink coffee for the benefits and not simply because I was addicted to it. This meant that I did handful of experiments with not drinking coffee for 2-3 months. The first week or two would be rough. Headaches starting 24-30 hours after I stopped and persisting for about a week. After that I would just settle into what felt like a normal life, but a lot more groggy.
The main difference between my life with coffee and my life without seemed to just be how grumpy I was before noon. I still had insomnia, I still got tired after lunch. Those things seemed unconnected to the coffee.
Maybe I need to go off coffee for a long time to really see the benefits, e.g. give it 3-6 months for my body to recover and stabilize. I'm not sure, but at this point I have what I consider to be a healthy consumption level and I get the benefits of increased alertness and focus in the mornings. I'm focusing on other elements of my life to address any health concerns.
For example, even within the profitable Google portion of the business, they often have many competing projects. There will be competing search features, competing chat applications, competing cloud services. Google will make big speculative bets or internally competitive bets because it can afford to just let people build things and see what happens. Google, as a company, doesn't really seem to have any idea of what most individual engineers are doing week to week.
Many companies can't do that. If you are a medium-sized company you probably don't have the market position or revenue to afford to be unfocused.
However, when other companies try to imitate Google they always fail because they're missing a crucial piece:
Billions of dollars in ad revenue
Google doesn't work the way it does to be successful. It works that way because it is successful.
I found this no more evident than when I worked on Google Search itself.
My best guess at the risks is that we may lose something valuable as a society or damage mental health if we push people away from social interaction. Many people will remain healthy, but those who are in difficult circumstances may find themselves on a downward spiral as they are further isolated from their communities. What if your community doesn't have a large supermarket? We talk about food deserts in the US right now, what if we have social deserts?
A simple example of short-term v long-term, look at soda and sugar-sweetened carbonated beverages. They're extremely cheap. Often less expensive than bottles of water in the US. This encourages many people to buy them as they are a cheap source of calories and sweetness. However, it's only many decades later that we've discovered the damage they can do when consumed for long periods of time. Many people consuming them don't have better food options. A few cities are starting to tax them to make the costs more evident.
Gasoline is another good example. The US is addicted to cheap gasoline and doesn't know how to stop even though we are now aware of the potentially catastrophic consequences.
Fortunately, we can reliably depend on javascript now. What we cannot rely on is internet/processing speed.
I've always found progressive enhancement to work best as an additive process. You want to define the functionality of your page and then add enhancements and verify that the base functionality still holds. If you start from the most complex behavior it is a lot harder to reason about how removing functionality might hurt the page.
The major engineering focus at Asana right now is performance. It has been for a while and they're just starting to roll things out with the new, faster, backend and UI. I think you'll start to see significant improvements soon as the investments they've been making start to roll out. It's already started rolling out to some customers, and the API updates just got turned[1], on for example. Those changes are going to be making it into the UI soon.
If you don't like Asana performance, give it a few months and check back or keep an eye on their blog[2]. Big changes are coming on that front.
[1] https://asana.com/developers/feed/asana-fast-api-open-beta [2] https://blog.asana.com/
When I was an interviewer at Google it felt like 90%+ of interviews were with candidates who had less than four years of experience. Probably half were fresh out of college. After the fifth candidate in a row who can't do simple recursion or algorithmic analysis (and I mean simple) you get pretty discouraged. In one phone interview I got to interview an experienced engineer with over twenty years of experience in C. He completed the question I usually have to spend 45 minutes on with a new-grad in <10 minutes. It was probably my favorite interview of all time because I actually got to discuss the subtleties and he reaffirmed that I could maintain high standards.
So, yeah, we needed engineers who were strongly familiar with the theory of how hard things are to solve and knew a lot about different types of data structures. We were in a space the existing libraries didn't really cover.
Maybe not all engineers need these skills, but it was valuable that our team all had them and were thus able to have deep design discussions about it.
The skill that's lacking the most at Google is project management, which is not necessarily a skill that every engineer needs.