Why do I see so many computer scientists who look drained, tired, and overstressed?

Why do I see so many computer scientists who look drained, tired, and overstressed? by @lancewalton

Answer by Lance Walton:

I think you mean ‘programmers’ rather than ‘computer scientists’. I'm going to answer on that basis.

One of the problems with programming as a job is that the following happens over & over again:

  1. Some people talk about something they’d like to get done that's going to involve some programming. They don't know anything about programming.
  2. They ask some other people to do some analysis on the problem.
  3. On the basis of that analysis, somebody is asked to come up with a best guess (the stupid word ‘guesstimate’ is often used) as to how long, how many people, how much, etc.
  4. They then start recruiting a development team while continuing to analyse, design, etc. All in Word documents & Visio.
  5. The development team looks at those documents & the older ones shake their heads in despair, while the younger ones think of the glory
  6. The required delivery date is stated
  7. The more belligerent developers will challenge it: what can be de-scoped, why is that date important, what can be moved out of the way to give even a glimmer of hope of hitting that date? The answer: nothing. It's all required by that date for reasons.
  8. Then the work starts. As the work starts, the problems are found in the analysis. Most likely the analysis covers the 1/10th of the actual work to be done because nobody has thought about the network failures, the problems associated with multiple users interacting, the fact that there isn't actually a source of reference data that somebody had assumed existed, the fact that you're talking about a global app but some of the analysis didn't think about different holiday calendars around the world (and do we have those holiday calendars? Of course not), & millions of others details, small & large that cannot be ignored any longer because the developer who is writing that line of code cannot just leave a blank in that branch no matter how infrequently the analyst thinks that that problem will occur. Some people are going to comment that not enough time was spent on analysis & design before the implementation started. It's not just time that's missing, it's the right people. & detailed up front analysis & design of systems of sufficient complexity essentially turns into an implementation activity anyway. When this is done in Word, it's implementation without appropriate formal structures.
  9. Now we’re running late because development is slow. Let’s ask the devs to work longer hours. A couple of extra hours a day for a few weeks to get the release our the door.
  10. Those couple of hours turn into 6 extra hours, not including the fact that each developer on the team is now unable to sleep without dreaming about whatever problem they are currently trying to deal with.
  11. Those few weeks turns into months.
  12. Finally something is pushed out the door that you have no pride in. Maybe you leave to go to somewhere new where things will be better. Or the same.

I did this for a few years before deciding that the problem was not mine. Now, I dig in hard when people bring me ill thought out documents. I help them to analyse. I help them to find ways to reduce scope in the interests of getting a small, functional system released into the world that can be evolved. I do work that I can be proud of.

But, I still pay a price for this. People want me to shut up & code to what they've written. They don't like me picking it apart. I have arguments. It can get stressful. But that stress lasts a short time (usually) and the conflict finds resolution (usually). Not tackling it this way, for me, feels like I've accepted the mantle & am failing. The only mantle I accept these days is one that’ll involve collaboration right until the end. People don't get to set dates, write documents & then blame the devs for failing to deliver & the testers for letting too many defects through.

Anyway, moan moan moan. I hope that answers your question to some extent.

Why do I see so many computer scientists who look drained, tired, and overstressed?


Why does Facebook need so many developers?

Why does Facebook need so many developers? by @jessicatysu

Answer by Jessica Su:

Suppose you say "bake me a cookie."  Well that's easy, a ten-year-old could do it.

Suppose you say "bake me a billion cookies."  All of a sudden, you need

  • Buildings to store the cookies.  (Preferably in several different places, in case one of the buildings gets hit by a hurricane.)
  • Industrial-strength factories to bake the cookies.  Back-end developers to build the machinery and fix it when it breaks.
  • Front-end developers, who build machines that take the cookies served by the factories and package them into neat little boxes that are served to customers.
  • Data scientists to experiment with various recipes and see which ones people like the best.
  • Designers who decide what goes into the recipes.
  • A security team so nobody hacks into the buildings and steals cookies.
  • Quality assurance people who make sure the cookies are safe.
  • A legal team for when people sue you anyway.
  • A marketing team so people want to buy your cookies.
  • Managers to lead all these people and make sure they know what they're doing.  Managers to lead other managers.  Managers to lead those managers, etc.

Sooner or later, you need thousands of people, and that is why Facebook is so big.

Why does Facebook need so many developers?

How can I get a better social life?

How can I get a better social life? by Lexi Perry

Answer by Lexi Perry:

My number one suggestion is something my ex-boyfriend told me that I'll never forget:

Act like you've been best friends with anyone since birth, and you'll never fail at becoming actual friends with them.

This was in my junior year of high school, he had tons of friends, everyone liked him. He was naturally confident and he had this way about talking to someone as if they'd known each other forever. By the end of the initial conversation, it would be like they had known each other forever.

I had quite a few friends, but I decided to put a new spin on his tactics. I began going to different people in my classes, on my swim team, and sparking up random conversations with jokes thrown in. The trick was my sarcasm. I’d kid around with these people like they were my best friend. I'd poke fun at them and they'd fall for my friendship every single time. It became second nature to treat people this way and the outcome was always identical to the last.

I know it sounds weird, and clearly a bit difficult if you aren't extroverted like me or my ex, but it’s foolproof. As for the hanging out with friends, just ask someone! The worst they can possibly say is no.

Edit: Thanks for all the upvotes and comments! I just want to address one thing – a lot of the people in the comments have been pointing out that introverts may not be adaptable enough to conform to this tactic. While this is true, I believe that if an introvert ever feels awkward or nervous while interacting with another person (I understand this may be a challenge), if you try inserting a light hearted comment or even a simple compliment, it goes a very long way. Me being an extrovert, it's difficult for me to understand how introverts operate. Feel free to comment about your own experiences as an introvert and I'm always happy to hear suggestions to better my advice.

How can I get a better social life?

What is the most valuable programming skill at the moment?

What is the most valuable programming skill at the moment? by Ken Mazaika

Answer by Ken Mazaika:

The most valuable skill is the one you’re probably not thinking of.

(image via collider.com)

Just the other day, I was talking with a student of mine on a Google Hangout about this very same topic.

At the end of our conversation, here’s what he said to me:

“Ken, that’s the single most boring piece of programing advice I’ve ever received. But I’m so happy you gave it to me.”

Here’s the gist of what I said:

Just like in any other field, everyone in programming likes to talk about the latest stuff. Lots of the conversations that I have right now are about things like:

  • Is AI the future of programming?
  • Should I be learning about VR?
  • Will React/Elixir/Websockets be the biggest technology of the next 5 years?

All of this is fun to talk about. But if you’re only focusing on the cutting edge technologies, you’re completely missing the point.

Programming has always been about one main skill:

You need to be really good at figuring things out on the fly.

Technology will constantly evolve. There are always going to be new programming languages and frameworks coming out all the time. You shouldn’t spend your time chasing the cool trends.

Instead, you should spend your time on becoming a Self-Sufficient Developer, somebody who can learn new things as they arise.


Markets change. Nobody knows for sure what the next big thing in programming will actually be.

The one constant is that the market will always have a demand for people who can:

  • Effectively use Google searches
  • Solve the problems that they’re faced with
  • Figure stuff out quickly

Become exceptional at figuring things out. Then you’ll always be in-demand.

If you want to become an in-demand developer but are unsure of where to start, check out The Coder’s Compass, a tool I helped build to help aspiring developers find their way.

If you liked my answer, I’d appreciate it if you upvoted it by pressing the light blue button below.

What is the most valuable programming skill at the moment?

Does anybody actually enjoy life?

Answer by Marc Hodak:

About 70 years ago, two little French kids found themselves under a table looking up at a German soldier who was asking the curly headed child, "Sprechen Sie Deutsch?"  He asked this because that child had just told the other, based on what the soldier was saying a minute ago, that the soldier was thirsty and wanted some water.  This child knew what the soldier was saying because, unlike the other child under the table, he spoke Yiddish.  This child knew Yiddish because that's what European Jews spoke at home back in the day.

In other words, this soldier was asking that French child if he was Jewish by asking him if he knew German.  And when that little kid slowly shook his head no, the soldier must have figured he was lying, and that this child was what he and his fellow soldiers were looking for in that apartment building that morning.

So maybe the soldier was tired.  Or maybe he was lazy, or negligent.  Perhaps he was mad at his superior, and didn't feel like giving him another notch in his unit's belt.  Or maybe this was the soldier's moment of compassion.  We will never know why he simply shook his head and walked away that morning, leaving those petrified children behind to live another day.  But, unlike Anne Frank and millions of other children in hiding during the war, and the families who hid them (e.g., the other kid and his family), these two children did make it.

Fifteen years later, the curly headed kid was grown up and had a child of his own.  That was me.  I'll tell you one of the salient memories of my upbringing:  No matter what trouble I caused my dad, no matter what I pulled on him (and I cringe when I think back on all the shit I pulled, especially as a teenager), no matter how much I complained about school or friends or spending my weekends cleaning up the house and fixing up the yard as if I were a victim of forced labor, he always reacted the same way–he laughed.  It wasn't mocking laughter or sardonic laughter.  It was a happy laugh, as if I was really being funny.  It pissed me off, but that only got him to laugh harder.

It wasn't until I was almost in college that I even knew what a Holocaust survivor was, and that my dad was one of them.  Because he was so young at the time–seven years old when France was liberated–he is now one of the last remaining survivors with any memory of the Nazi occupation.  Here he is recently giving a talk at the Holocaust Museum in Washington:

My dad doesn't always laugh or even smile.  He has gone through the same ups and downs as anyone.  He was especially hard hit by the loss of my mom–his wife of 47 years. But the look on his face here is his default countenance, a hint of a smile, as if the slightest thing could send him into laughter.

I now realize that my dad was laughing because he could, because all the little shit that we think is important or crucial or oh-my-god-now-what is small potatoes compared to the wonderful opportunity to fret about it.  The unwitting gift of that German soldier was not just a life, but an appreciation of what life enables us to experience–the good and the bad.

My dad truly enjoys his life.

And that life, and appreciation, was a gift to his generations, too.  When my kids came along, I found myself doing the same thing–laughing as much when they were peeved as when they were cheery.  At first, it was probably the unconscious mimicry of behavior modeled by my dad.  But when I thought about why it seemed so natural for me to laugh off their occasional tantrums as easily as I rejoiced in their cheer, I realized that it was precisely because my kids were capable of frustration, and joy, and the full spectrum of childhood experiences, reactions, and emotions.  They were fully alive, and that made me so happy I literally could not contain myself.

I don't know how far this gets passed down.  I hope my kids enjoy their lives; they seem to, so far.  I don't think I can make them or anyone happy, even myself.  I wish I could tell you how to be happy.  Maybe it's a realization.  Maybe it's a choice.  Maybe it's how we're wired.  Maybe it's a close call, where you are staring death in the face and it chooses for mysterious reasons to shrug and walk away, that gets you to permanently see things in another light.  I don't have the answer to that.  But I can answer your question:  Yes, I actually enjoy life.

Does anybody actually enjoy life?

How do I learn about big data?

Answer by Nir Goldstein:

Here are the most required skills for a big data developer position from analyzing thousands of job posts (I also included some free resources I found for each skill):
1. Big Data

2. Hadoop

3. Java

4. Hive

5. MapReduce

6. SQL

7. NoSQL

8. Python

A great way to acquire new skills and to grow your professional network is to attend meetups: Big Data Meetups

You can learn more about the required skills to become a data scientist and get relevant resources here.

How do I learn about big data?

How do I make $100,000 in one year?

Answer by Stephen Turner:

First of all you ignore the people who tell you you can't/you're crazy/you're lazy etc… They want you to fail because they're also failing.

Making $100'000 is not difficult but it requires dedication and a plan. You can do it without those things but it's not going to be easy unless you're incredibly lucky.
How to actually get your hands on the money!
Step 1 – Stop thinking of $100'000
First you have to stop thinking of $100'000 as your goal. A lot of people have jobs where they are promised salaries of $40'000 a year. Even if they never spent a cent from any of their pay checks and they worked everyday, they'd still never get their grubby little hands on $40'000 in a year. Why? Because of the taxman my friend. If you are successful in completing this guide and you don't pay any tax, you're going to jail anyway so you're not going to be able to enjoy it. Let's turn that $100'000 into $150'000.
Secondly you have to stop thinking of $150'000 as your goal. I know what I just said but in the real world no-one is going to give you $150'000 without expecting anything realistically in return. Let's turn that $150'000 into $300'000. That way we have $150'000 to spend on buying stuff to sell. 
Step 2 – Stop thinking of one year
It's demotivating and awkward. A lot of teenagers today have to write five or six page essays when they're young.  But what! They're only teenagers! How do they do that..? They change how they think about it. Twelve half page essays are a whole lot easier. Especially if you don't do them all in one go. Visualise the year as 12 months. That way you can track your progress and it won't feel so overwhelming.
Step 3 – Find time to work and earn
Now let's say your going to work 30 hours a week for 50 weeks a year. That's not a bad schedule and it gives you a lot of time to spend your new money!
You need to make $300'000 in 1500 hours/1 year. Or even $25'000 in 125 hours/1 month. Or even $6000 in 30 hours/1 week.

SPOILER ALERT: There's no job that requires no training that pays $200 an hour mate. You're not that special. If there is, you probably won't get it, it's going to require more work than you can give and it's going to be boring and long as well.

So don't bother looking for a job! Sell something.
Step 4 – Product NOT service
With a service; you or an employee (which don't come cheap) has to be physically present for each transaction to deliver the service. You can't sell in bulk and those in the high end (and high price) market segment have experience and brand names. You don't. You don't have time, expertise or a reputable brand name.

With a product, if all else fails you can still sell it without much effort, because in theory you or your supplier have already invested the time before hand in making the product. All you have to deal with is the aftermarket customer experience.

Step 5 – How much do you need to sell
What if you were to sell 300 units of a $20 product a week then you'd have $300'000 a year. What if you were to sell 1200 units, of a $5 product a week then you'd have $300'000 a year. What if you were to sell 600 units, of a $10 product a week then you'd have $300'000 a year. What if you were to sell 150 units, of a $40 product a week then you'd have $300'000 a year.
Step 6 – What do you sell
Anything. Anything generic. Anything that's been done before, tried and tested.

True you could invent and innovate and become a billionaire overnight, but let's be honest: if you could, it would have already happened. And it hasn't. With innovation comes risk. With risk comes failure.

Let's say you like cooking and made a special chilly sauce (or any product, that is non-seasonal and has a long life). Go to a local supermarket – arrange a product pitch interview. Pitch your product. Sell the supermarket 6000 units for $2.5 each, with a recommended retail price of $4 each and another supermarket 4000 units for $3 each with a RRP of $4.5 each. That's $27'000. Do that for every month for a year and you have $324'000. Say you spent $150'000 on packaging and production and you gave $50'000-75'000 to the tax man then you have yourself $100'000 a year.
It can be any product and it can be more than 1 product, but it's a proven method and it works.

Step 6 – Sources of finance
Share capital – selling and trading shares for Limited liabilities, and public limited liabilities. You don't have to pay this back, although it is considered polite to give out dividends at the end of the fiscal year.

Loan capital – bank loans, private loans, overdraft, trade credit, mortgage. These are not easy to get for a new business with no trading history.

Venture capital – private investor/s, usually high risk for high reward, but not recommended as they usually take more of the profits than you. They can take up to 100% of them although they usually only take 60%. This is agreed prior though. Dragons Den.

Other – personal savings, inheritance, retained profit.

Step 7 – Making a profit
A bit if algebra for you (and you told your math teacher you'd never need it)


Profit equals Total Revenue minus Total Costs

Total Revenue equals Sales Quantity multiplied by Sales Price.

Total Cost equals Variable Costs per unit multiplied by Sales Quantity plus Fixed Costs plus Tax

Variable Costs per unit equals the price of packaging, raw materials etc. Resources that deplete when more product is made.

Total Variable Costs equals costs to (you) the business that change when (Sales Quantity) output changes.

Fixed costs equal the price of rent, insurance, light, advertising etc. When the cost to (you) the business stays the same regardless of output.

Step 8 – Count your cash
Well you earnt it. Why not. While you're at it, think of those less fortunate.

P.S. I recommend reading my other answer on How to become a millionaire –  Stephen Turner's answer to How do I become a millionaire?

How do I make $100,000 in one year?