Do What You Love? Screw That - <AUTHOR> http://www.inc.com/jeff-haden/worst-career-advice-do-what-you-love.html <comment><USER2> Passion leads to hours of practice, and hours of practice leads to success. While you can't force yourself to be passionate about your current job, if you follow your passions - sincerely - I think that more often than not, it'll lead to a successful existence. I can think of very few passions where people can't at least maintain their existences. Maybe not get rich, I think in general that takes luck, but feed themselves and I think live happier as a result.

And honestly, what's the point of doing anything else? Be someone else's servant, because you want ... money? Recognition? You are going to die one day, and that's it. The purpose of life, as best I can tell, is self actualization.

It's stupid. You want money? Why? So your kids can follow in your footsteps and chase money so that their kids can follow in your footsteps and chase money so their kids can...

And then are you just blaming your children for your lack of ambition and risk taking? Would you say to your kids "I would have figured out what I loved, but then you were born". Would you think it, though?

If you want money, go work in finance. Otherwise you're not sincere in even chasing money, you're just treading water.

<comment><USER3> > If you want money, go work in finance.

This (and its converse) are exactly the advice I give to undergrads who, here at the University of Chicago, are heavily recruited by both local and NY finance firms. I like to point out that if you love money, you will be among others who do and will probably enjoy your job and especially the pay. And if you don't, hearing about a trader's addition to his Rolex collection or figuring out "opportunities" in an exchange's rules or implementation will destroy your soul.

BTW, I don't give this advice in a loaded way - my wife and many of my friends work in finance.

<comment><USER4> As a recent uchicago grad, let me say your advice, while well intentioned, isn't quite sound. Work in finance is not as lucrative as work with finance. I was in finance for about a decade....at gs, bofa etc...the thing is, firms don't let you daytrade, or buy/sell naked calls, or short sell equities, or flout 90 day holding period rules, or trade stocks in the restricted blacklist, or...I could give you an dozen ways ib's ringfence you. Otoh, if you work in the valley and you know your shit, you can pull in 200k and wear shorts and torn tshirts to work, not be subject to any bureaucracy, and get your tradestation account and go nuts. Sell naked calls all day and nobody will bug you.

<comment><USER3> Certainly! If you want to trade on your _own_, then being in a financial firm - particularly a market maker - is a bad choice.

But if you just want to work 9-5, pull in your 200k (which goes pretty far in Chicago!), and enjoy your money, it's a pretty risk-free path.

I should caveat that my advice is given to CS undergrads looking to do tech- related work. I have more limited experience with people in other roles who want to be, say, traders on a desk.

<comment><USER4> Ah! In that case, professor, a couple more caveats. Chicago prop shops notoriously underpay. The IB's pay higher, but still less than google/fb/twitter. All of my uchicago classmates are in finance with roughly 50% in chicago, rest in nyc. With graduate degrees they don't pull in 200k...atleast as per the reported stats on the career counsel pages. So cs undergrads pulling in 200k in chicagob while working 9-5 in the finance industry....very unlikely. But if there is such a person out there, he/she is amazingly lucky. 200k goes _very_ far in chicago. You could buy a nice 3 bdrm house with acreage about half hour from the loop and still have money to spare.

<comment><USER3> Not a prof, sadly - last year of my PhD, though! Thanks for the additional info on your peers.

I don't know what the undergraduate pay is like for 20-somethings. All of my friends (and wife) are > 30 and were experienced developers before entering the field. Most of them have bases above 200, but _all_ have total comps well over 200.

I'd be surprised if you make more at Google Chicago than at, say, Getco or Citadel as a new college hire developer. I'll ask around.

Certainly, though, if you accept with one of the butcher shops you should not be surprised to be treated like raw meat. The last time my wife was transitioning, she certainly experienced some offers that were just insulting. But these were also places just barely scraping by, so it shouldn't be a big surprise.

Of course, many of the top shops won't even hire new college grads in CS. They don't have or want to build the infrastructure required to take someone from barely pulling together a few thousands of lines of code to writing realtime software.

</comment></comment></comment></comment></comment></comment><comment><USER5> _According to research, what is the strongest predictor of a person seeing her work as a calling?

The number of years spent on the job. The more experience you have the more likely you are to love your work._

Or it could be that people that don't like what they do change jobs...

<comment><USER6> I don't believe it's that easy for most people.

<comment><USER7> I think it is easier to do, but harder to muster up the commitment. People will come up with all manner of reasons to remain in a job where they are unhappy.

</comment></comment></comment><comment><USER8> I feel like this entire article can be boiled down to this quote: "A passion people won't pay you for is hardly the basis for a career. It's a hobby. You can still love your hobbies--just love them in your spare time.

The key as an entrepreneur is to identify a relevant passion."

Not saying much.

<comment><USER9> Actually, I think the most important point that may be non-obvious (and is also probably controversial) is:

Get good at doing something and making money from it, and you will become passionate about it.

</comment></comment><comment><USER10> _Think about something you're passionate about. Or were passionate about when you were in high school. Write it down._

Programming.

 _Then apply this test: Will people pay you for it? Will they pay you a lot for it?_

YES.

Okay, perhaps this post is not for me, but the post comes across as highly anecdotal. E.g:

 _That advice has probably resulted in more failed businesses than all the recessions combined..._

I hate to ask it, but source?

<comment><USER11> I suspect that if your passion was 'playing video games', you might find yourself agreeing with the article.

<comment><USER12> Tell that to the guys who run Penny Arcade.

<comment><USER13> How about the thousands of guys who tried to imitate Penny Arcade's success with their own comic strips? Most webcomics aren't that profitable and gamer oriented comics are probably the most saturated market. It's like acting, some hit it big, most struggle in obscurity for years.

</comment></comment></comment></comment><comment><USER14> Well said. I'm gonna go ahead and quote me from four years ago. Skip on if you've read this before:

Not all passions monetize.

At the moment, I'm passionate about rock climbing, travel, surfing and computer programming. If it weren't for that 4th one, I'd be screwed.

I currently run maybe the 3rd most popular Travel Blogging site out there. It's had a good 5 years of passion poured in now, off and on, and if I were to slap ads on it today I'd pull in a buck thirtyfive a day.

I also run a little service that processes the draconian logfiles that Amazon provides for its webservices and spits out pretty analytics. It's a subject that no human being could ever be passionate about and it pays my rent.

Sometimes it's better to monetize something boring that people are willing to pay for.

[<http://news.ycombinator.com/item?id=1324610>]

<comment><USER15> $135/day or $1.35/day?

<comment><USER6> I was wondering the same myself, but at any rate, neither would pay his rent. However, I am curious because I know a few travel bloggers out there who make a decent amount of money on their blogs, as well as getting lots of trips paid for by companies like Expedia and Orbitz and other travel companies and agencies.

<comment><USER16> If $4000/month won't pay his rent, he's (or maybe you) are living in the wrong country/region.

</comment></comment></comment></comment><comment><USER17> Meh.

I enjoyed programming when I knew nothing about it, and I still enjoy it and do it in my spare time now that I'm over a decade into a software career.

Does it qualify as a passion? I'm not sure. But a hobby I've always enjoyed and a career that pays me well, yup.

\--edit-- This is not to say every day at work is an unmitigated pleasure! But I am lucky enough that I get to enjoy what I do for a living from time to time :)

<comment><USER18> Do you stick to the same languages as work?

<comment><USER17> Mostly, yes. I find myself using C and python at home, most of my work has been in C and C++ with various other bits and pieces thrown in.

At work it's about getting the job done in a stable and quality way, and the language is not usually my choice. After 12(ish) years I'm mostly asked to work on things I already have experience in.

At home it's about achieving whatever I'm trying to achieve in the fastest way possible, which usually means I stick to languages I know inside out from using them at work. I suppose this isn't a pure passion for programming as an artform, it's more that I get great pleasure from making the machines do what I want them to.

</comment></comment></comment><comment><USER19> Anyone who thinks about it critically knows that "Follow Your Passion" just won't work for the vast majority of people. What I have found, though, is that expertise _breeds_ passion. Anything can become enjoyable once you become really, really good at it! Most people do not enjoy the early stages of learning something new.

My advice: pick something you find reasonably interesting, is potentially profitable, and that you have a good aptitude for, then aggressively pursue mastery of it.

<comment><USER20> Is the satisfaction of exercising mastery the same as passion?

Serious question.

<comment><USER19> Perhaps a suitable-enough replacement? :)

<comment><USER21> I think Stephen Stills (of Crosby Stills and Nash) would agree.

</comment></comment></comment></comment><comment><USER22> Weird little factoid from the cognitive behavior folks -- action comes first, then motivation. So it's impossible to be excited about something that you have not spent some time with. And the more time you spend, the more likely you'll feel excited by it. People think it's the other way around, that you feel motivated and then go do stuff, but it's not.

So everything you've ever gotten excited about started off with you not being very interested at all, but giving something a shot, whether it was a book, a lecture, a website, or so forth.

<comment><USER23> Daniel, I'm interested in reading more about this. Where did you discover this factoid?

<comment><USER22> A self-help book I read a long time ago -- <http://amzn.to/VXjT8j>

</comment></comment></comment><comment><USER24> I think the better point to make is to not build a business doing something that you are absolutely in love with. It clouds your judgement and could drive you to build something people don't want. You can definitely love what you do. I love programming and marketing, and those are my businesses. But I don't let the love cloud my judgement (well, not _anymore_ ).

Its like when we fall in love for the first time with a new person. They are perfect in our eyes, There is no way anything they do is seen as negative. But little by little, as time passes, we start seeing the real person and not the fantasy. Sometimes that makes the love grow stronger, and sometimes it drives us to break the relationship. Same with business. What you need to realize that the reason business failures hurt so much is because we fall in love with it. And then get our heart broken when it doesn't work. Don't fall in love with it.

<comment><USER25> I think this is the most important point (I remember coming to a similar conclusion some years ago), but now I think there are a couple of ways around this caveat (mostly applicable to business, but also of some use in personal relationships).

So, the problem with loving your work passionately you stop caring about what other people think of it, what is its (monetary) value to them.

First way: use your love as a hook to which all youd business is tied. E.g. you are eventually aiming at completing some big thing, and in reaching it you could make use of such-and-such services which a lot of people also would pay for.

Second way (now I think it's just a variation of the above one): use your _career_ as a _carrier_ that carries you to your goal. E.g. use your job to accumulate wealth to finance your work later and as a learning experience (you don't want to fail your beloved project, better fail 'with the cats' and be prepared).

Frankly, I have some experience strictly following these advice in personal relationships, the result is weird (unfinished story yet), so use at your own risk :) But in getting satisfaction from work, they do work.

<comment><USER24> Great points. Though my post only applied to businesses. Personal relations are still voodoo to me. Its a miracle I got married, more so that I'm happily married. :)

</comment></comment></comment><comment><USER26> Interesting article.

Too bad it does not apply to me :P

In fact, during my childhood everyone tried to convince me to do stuff that I did NOT loved, because what I loved (making games) was "useless."

Here I am now being CTO of a game company. ;)

<comment><USER11> I'm glad it's working out for you :)

It's not for me. Programming has been a passion of mine all my life. I practically learnt Python all by myself, in my own time.

Thing was, people have been telling me that I shouldn't do this, that nobody values tech skills, that I should focus on my 'soft' skills, that programmers in my country are doomed to be lowly-paid wage slaves.

Turns out, they were right.

<comment><USER26> I never said people where I live are wrong ;)

The professions they wanted me to take still pay 3, 4 times what I am getting.

That is, not counting lawyers (that is also a profession much suggested to me), then the multiplier is up to 20x or something like that.

But I can pay my bills (barely... but I can).

</comment></comment></comment><comment><USER27> I started my career because I love programming. That was a big mistake for me. Not because it didn't pay well, but because I lost the passion.

When I spend 8 hours a day programming, I don't want to do it at home. It's probably because I don't want to sit in front of a computer all day, or I am lacking social interaction at work. That's why I am currently trying to change my position. While I still love IT and everything tech-related, I want programming to become a hobby again.

I admire everyone who is programming after work, tinkering around, building stuff. I promised my nephew to build a quadrocopter with him, but I haven't done so, just because I am already programming and doing techy things each day again and again.

<comment><USER17> I seem to have managed a mental separation between 'programming I have to do' and 'programming I want to do'.

The latter category only happens sporadically because, like you, I don't often have the energy to code all evening when I've coded all day. But I do find some time for it. Social interaction definitely takes precedence though.

</comment></comment><comment><USER28> Holy shit do I hate straw-man pseudo-contrarian articles like this.

Nobody who says "do what you love" means "do what you love without consideration for your needing food and a roof over your head". Nobody.

Everybody I know who is really good at what they do is doing something they loved. I have never met a great developer who said, "Yeah, I just went into this because it paid well." They loved something about it and made a career out of it. And thinking about my various successful friends, it's true about all of them, no matter the career.

</comment><comment><USER29> This article is flawed. The author sees the right problem but draws the wrong conclusions.

I agree that great passions rarely make great businesses. Doing what you love is absolutely not a guaranteed path to profit. But I feel the answer offered is to work hard and the passion will follow with the success. Except it doesn't. Not always. There are some things you can have complete mastery of and still not enjoy. (The best contract negotiator I've ever met in my life came to me for personal advice. He hates negotiating. But he's mastered it, so everyone asks him to do it.)

To make sure you'll enjoy your work, don't focus on the end product at all-- focus on exactly what you'll be doing in the day to day to create it. For example, you may love food, but a catering business is much more about customer service, management, and logistics. Do you love that? Do you love making the trains run on time? Then you'll enjoy a successful catering business--even if you don't love food.

Meanwhile, if you love building products, but pick something that requires a bunch of contract negotiations with a ton of suppliers, you'll likely not enjoy your work, even when it results in a successful product. Maybe the reason you love building things is because you feel control over the process. Perhaps it's better to pick something you can create in a very hands on environment with a small team.

</comment><comment><USER30> I'm not sure who this article is for. I think most reasonable people silently add "that can make money" to "do something you are passionate about." After all, we don't see many businesses trying to make money with the idea "Watch the owner eat delicious chocolate!"

<comment><USER31> Even then would work (on youtube, for instance) if the owner was entertaining enough, while eating delicious chocolate.

<comment><USER32> You could even give this hypothetical show a name like Good Eats.

<comment><USER30> Not having cable, I had completely forgotten about the food network.

</comment></comment></comment></comment><comment><USER33> Doing what you love may well be good for your career. However, that doesn't mean the thing you love will BE your career. You could spend your teen years pursuing your passion of music for example. Maybe it leads you to think about how the brain responds to music. Maybe from there, that ends up turning you on to neuroscience. Maybe from there, you end up in a career as a brain surgeon. It happens.

So chasing your passion can lead you to a very good place in the world so long as your keeping your eyes and mind open while doing so. Pursuing or NOT pursuing your dreams with a closed mind will probably not get you far regardless.

</comment><comment><USER34> A friend who has risen to the top of his area of expertise in the world, and who does it on the side, recently told me, "there's nothing like doing what you love and not having to rely on it for a pay check."

</comment><comment><USER35> This guy has some good thoughts, but his main points are way off (from 20+ years in sw engineering). Here's why.

Passion might follow mastery sometimes, but usually it is the other way around. My advice is to figure out what you're passionate about-then figure out if there is a way to monetize that passion that makes sense for the lifestyle you want.

He has a good description when he says "Roughly speaking, work can be broken down into a job, a career, or a calling. A job pays the bills; a career is a path towards increasingly better work; a calling is work that is an important part of your life and a vital part of your identity.". Then he adds"(Clearly most people want their work to be a calling.)". Nope. There are lots of people for whom their work is not even in their top two priorities. There's nothing wrong with them or the folks for whom their work is a calling.

However, food for thought...as a founder in the tech business, do you really want to hire anyone in a tech or marketing position who's work is not their calling?

That said, people who's work is their calling are rare, and they tend to be very good, which makes them expensive. However, I don't think that 10 bad devs are not better than one really good one - so the old saying 'you get what you pay for holds true', they're worth it.

In short...find your calling, and follow it - just realize it might not be your work.

</comment><comment><USER36> A relative of mine has experience advising hundreds of small business start- ups. She would definitely tell people that they have to be passionate about what they do. It's the passion that keeps you going when things are really tough.

If you're working as part of a larger company, maybe passion doesn't matter as much, but personally if I were doing a job I didn't love or feel passionate about then I'd leave that job and try something different (and I have done just that in the past).

RS

</comment><comment><USER37> I think where this article falls flat is in it's assumption that there are many hobby passions with which you can't make money. I don't believe this for a second - if you are good enough, you can make money off anything. And being really good at something, in addition to genetics, talent, etc, is a result of being passionate - since you like something you naturally put in a lot of work and get better.

I challenge someone to come up with any hobby you can't make money from if you're good at it. Even the most ridiculous ones, playing video games, watching movies, etc. all have associated careers in which you can make plenty of money if you are good and put in work. And if you aren't putting in work or don't think you can be good enough, it's probably not a _passion_.

Then on top of that is the whole part where making money is just not as important to you when you're doing something you enjoy for most of your waking hours. How much money is your happiness for ~40 hours a week worth? For me, it would be pretty steep.

<comment><USER38> What percentage of video game players make a living from it? Skateboarders? Gardeners? Musicians? Poker players? Actresses? Hobbies are rarely viable career paths.

What separates SOME hobbies (computer programming, for instance) is that they're still relatively obscure. Out of 1,000 random people, maybe 3 can program, and all of them likely suck. So if you're passionate about programming, it's not difficult to make a career out of it.

This article doesn't seem to be targeted at STEM-type careers. It's more targeted at the lofty ideas. Roughly 6 degree programs account for over 50% of the Bachelor degrees earned these days. These students are creating an extremely competitive environment for themselves by chasing their very popular ideal careers.

If you're able to get a good-paying job doing what you enjoyed as a hobby, you're lucky. Not everyone has such obscure hobbies as you and I.

</comment></comment><comment><USER39> I think the phrase should be "love what you do". In my experience, professional happiness comes from excelling at something that is valuable to others, and hence you'll be paid well for it. The only way you're going to manage to put in the ten thousand hours to a skill required to get to that level is if you love it

</comment><comment><USER40> There's no single right-way to lead any life or approach any career. I wish writers would stop pretending otherwise.

</comment><comment><USER41> Hmm. Fails the anecdata test for me. I know a lot of people who do things they're passionate about - linguists, filmmakers (including me) and novelists. Nearly all of them struggled for years to get to the point where they're full- time at their passion, taking various other jobs of varying degrees of crappiness. All of them are very happy with what they're doing now, and - crucially - also loved pursuing their passion when it wasn't bringing in the bacon.

There's _a_ good idea here - "If you're passionate about something, consider doing something else that pays better to bring money in, at least whilst you're getting good at your passion" - but the "if you want to do something that is hard to achieve full-time status in, abandon it and do something easier" message is, from my experience, a massive overreach.

</comment><comment><USER42> >> "If you practice hard, soon you might find you're the best in your group of students,"

I strongly disagree.

When I was young I wanted to became a great guitarist. I've practiced a lot, but when I was near 18 I understood a simple thing: "I will never be Freep, Clapton or Hendrix, no matter how I will try harder".

I put aside my guitar for years. I'd thought that time: "I will never became great musician, but I can be a good engineer".

My wife was amazed that I can play guitar after two years of our marriage.

Hard work is not definitive factor in all cases. Sometimes you just must have inherent ability to do the work.

For example: everybody could be trained to run marathon. But it's not possible to be trained as good marathon runner. One must have genetic ability for this.

</comment><comment><USER43> The real question is: at what level of abstraction are you passionate about your work?

If you're passionate about writing great software that people love, the world is your oyster and there are lots of ways to make money.

But if you insist on writing software that solves _problems you are passionate about_ , you're going to have a much harder time. Because problems that programmers are passionate about are exactly the problems that programmers solve for free with open-source.

To take another example, don't open a coffee shop because you're passionate about coffee. That's a very small part of what you'll actually be doing. Open a coffee shop because you're passionate about building a great local business.

</comment><comment><USER44> My gut instinct is that both following one's passion and having one's passion follow oneself could work. There are clearly documented cases of the former - Warren Buffet for instance, as he is fond of repeating. [http://www.huffingtonpost.com/2012/11/19/warren-buffett- care...](http://www.huffingtonpost.com/2012/11/19/warren-buffett-career- advice-independently-wealthy_n_2158317.html)

On the other hand there's the Koch brothers who simply carried on with their father's rather mundane raw materials business and made it into a mega-empire. When asked about that I remember one of them saying in an interview "That's just the hand we were dealt."

</comment><comment><USER45> It seems to me the relevant advice buried in this is: most people need to _try_ before they _know_. So get a job to pay the bills, so you can afford to try out your passions part time and have some professional experience to help you along/fall back on. Then pursue whatever sticks.

Because expecting people to be able to accurately weigh which of their passions is the "relevant" one, before they have any experience at _anything_ is going to fail just as much as telling them to pick a passion at random.

Unless you're just saying "relevant" as code for "pick a white collar career path that -- if you squint real hard -- looks kinda/sorta like your passion."

</comment><comment><USER46> I remember one of my co-workers (a developer or engineer or whatever we are called these days) on a particularly frustrating day, smiling broadly and saying "I'm a guitarist. Programming was my HOBBY. I went to school for music. This was supposed to be fun."

What made the comment even funnier is that we all know he loves his work as a developer / engineer. Its almost all he talks about. He followed one passion (music), but the other, more lucrative passion (development) is the one that caught him as a career. As frustrating as that day was, the funny part is that we live for the kinds of problem solving we were facing.

</comment><comment><USER47> I've spent many years developing skills that pay well, that I'm good at, that offer an easy flow and easy productivity. But at the end of the day I don't want this to be what my life is about. I wish I'd started earlier following my passions; I've been dragged to date in golden handcuffs.

This is the advice I'd give to myself ten years ago: If you know what you want to do, what you want your life to be about, and you believe you can develop the talents to do it, pursue that goal aggressively and immediately, don't waste time.

</comment><comment><USER48> There is a subtle line there between what you actually love, and what is practical to be worked on. I am not saying they cannot coincide, but they are rarely so.

What one can try to achieve is a transition from one to another. That's why hackers are in big advantage these days. They can build stuff which can make money to fund the stuff they love doing... Struggling is always bad, but struggling on stuff you love would make it even worse. Don't let that happen...

</comment><comment><USER49> Great article. Reassures me that there's nothing wrong with me thinking that, at the beginning of my career in programming, I'm not going to be as "successful" as others out there who claim to "love" it or that it's their "passion". I know I'm good at it (hence why I'm getting paid for it), but I also don't dream in Ruby. Good to see another person saying that passion from work will come with you're good at.

</comment><comment><USER50> It's probably worth considering...

p(able-to-make-money-at-passion | general-public) = x p(able-to-make-money-at- passion | hn-reading public) = y

y is probably greater than x, so that might color the general conclusion of people reading the article, on this board anyway.

In other words, "In my experience, having a lifelong passion of hacking/programming computers to do valuable functional things, this article is wrong!" might be based on a faulty premise.

</comment><comment><USER51> An apt analogy might be arranged marriages. In Western culture, the idea of an arranged marriage seems absurd and backwards, and the common belief is that a good marriage is based on love and mutual attraction. In arranged marriages, however, love grows with time and these types of marriages end up in divorce at a far lower rate.

<comment><USER2> And this has nothing to do with cultural biases against divorce, and subjugation of women, right?

There was a far lower attrition with slave labor as well.

</comment></comment><comment><USER52> The mistake people make is to work on a TOPIC they love, when what they should do instead is find WORK that they love, regardless of topic. So if you enjoy programming, maybe you can do that writing bank software and still have fun, but if you love chemistry you might not like the day-to-day of a normal chemist.

</comment><comment><USER53> Fucking nonsense. If you are passionate enough you will apply yourself and master your love until you (and perhaps only you) can figure out how to succeed from it. Contrary to the article, abandoning one's passion is what sucks the fun out of people's lives and careers. Everybody does it. Don't fall for it.

</comment><comment><USER54> apply this test: Will people pay you for it? Will they pay you a lot for it?

I answered "yes." I'm off to be happily self employed doing what I love....great article, btw, but the logic needs some work and the wetware could use a tuneup.

</comment><comment><USER55> It's not about doing something you love, it's about not doing something you hate.

</comment><comment><USER56> The biggest problem with "follow your passion" is that, in truth, if you're passionate about something, you'll absolutely fucking hate doing it _as a subordinate_. This means you'll probably never reach the level of autonomy at which work becomes fun, and your "passion" will die.

Occasionally you're lucky and fall into a mentor/protege relationship where you don't feel like a subordinate, but that's not common. You shouldn't count on that, especially in the "cool" careers that are spam-clogged with incompetent wannabes and in which it's hard to distinguish oneself.

<comment><USER25> Today we've had an interesting discussion at our startup about subordination, and stumbled into a question where do good technical leaders come from.

Our CTO's thesis was that no sane technical person wants to be a boss; rather, he'd be doing "real interesting stuff", real science and technology, but someone needs to take responsibility for the project, and it also pays well.

My answer to this was that yes, being chief is not much fun, but if you really care about "real interesting stuff", you'll want to do it in the best possible way, and you quickly realize that you could make use of some subordinates, then teach some engineers... Eventually you find yourself in director's seat.

To which our CTO replied, this was his case ^)

<comment><USER56> In the top-down management context, being a manager is almost as bad as being managed. You're still a subordinate in truth, but you are now responsible for motivating other people to do things they don't want to do. You don't get to set priorities, but your career has been bet on the work of other people (your subordinates). So it's the worst of both worlds.

Additionally, managers in a top-down world are constantly struggling to establish themselves as legitimate leaders of the group (without resorting to, "Fuck you, I can fire you.") They're puppet leaders picked from above, and often not the leaders the group would pick. This often creates a lot of tension.

There's good and bad in management. The good aspect is mentoring others, coordinating efforts, building teams, and solving large-scale problems. The bad is the extortionate kind, which is the "if I don't like you, no one here does" idiocy (seen in high-stakes performance review games) that causes so many people to hate management. But when the boss has a bad boss there are no other options for him.

<comment><USER25> I'm not talking about 'traditional' strict hierarchies, but rather about ~3-storey organically evolved scheme where leadership is quite informal and firing is really not an option: our company is quite young and people are the most valuable asset. Also, some of us would gladly accept firing but will keep working otherwise.

Thus we have no way other than reaching mutually satisfactory state.

</comment></comment></comment></comment><comment><USER57> I live my life, you live your life, what works for you do not work for others and vice verse.

Finding ultimate grail that works for everyone, good luck on that.

But deeeem, the opinions, I have dem!</comment>


New GitHub Terms of Service require removing many Open Source works from it - <AUTHOR> https://www.mirbsd.org/permalinks/wlog-10_e20170301-tg.htm#e20170301-tg_wlog-10 <comment><AUTHOR> tl;dr: tg@ interprets the new GitHub terms of service to require him to grant rights he doesn't receive from contributors to his GPL projects, and plans to remove projects such as jupp from the site.</comment>


Top 5 big leaks that the media ignores. - <AUTHOR> http://www.alternet.org/world/151232/5_wikileaks_hits_of_2011_that_are_turning_the_world_on_its_head_%E2%80%94_and_that_the_media_are_ignoring/?akid=7093.129695.D8fndI&page=1&rd=1&t=3

<comment><AUTHOR> Noticed that the site is really, really slow. Someone posted the article here (unformatted, though): <http://www.tinychan.org/reply_post/107709></comment>


Graphical Snaps for Ubuntu IoT Devices - <AUTHOR> https://tutorials.ubuntu.com/tutorial/graphical-snaps#0 <comment><USER2> I was not aware that "Ubuntu IoT" was a thing. What is the advantage over Yocto ? I guess it is simpler to configure, even if less flexible. (and probably less HW support). Anybody has already used it ?</comment>


Django-qrauth: QR codes for instantly signing in to a website - <AUTHOR> https://github.com/aruseni/django-qrauth/ django-qrauth allows you to easily spice up your website with instant user authentication: once a user has signed in on their Mac or PC, they can pick up their smartphone (or tablet, iPod, etc: actually, anything that has Internet access, a camera and a QR code scanning application should work), scan a QR code (which appears on the display after the user clicks the corresponding link) and immediately sign in on their smartphone or other mobile device they use (so they don't have to enter the site address, nor their login/email, nor password). <comment><USER2> Good idea, but needs to be abstracted not to require Redis, but use Django's database backends.

<comment><USER3> Agreed. It seems really un-necessary - Redis for the sake of Redis.

<comment><USER4> It was probably abstracted from a project that used Redis so it's Redis for the sake of meeting the requirements.

<comment><AUTHOR> Yup. That is how it was. Of course, if someone will add this and send me a pull request, it'll be there. Or maybe I will make it myself later (actually, it should be pretty easy to implement).

</comment></comment></comment></comment><comment><USER5> I can't quite get what this is doing. My impression is that it's trying to make it easy for me to authenticate to a website, using my phone somehow.

My idea for auth with QR codes would work something like:

a) initial setup: user establishes profile with website, including creating a public/private key pair. Public key stays with the service, private key in the user's phone/app.

b) To authenticate, website presents user with QR code containing a token encrypted with user's public key.

c) user scans code with phone/app, decrypts token with private key, signs it, and returns it to service, which verifies token and signature thus authenticating user.

But then all you've done is validated the user on his/her phone... not on the computer displaying the web page with the original QR code. What am I missing?

<comment><USER6> It is much simpler. It is authenticating the user to a website _in a mobile browser_ , not on the desktop.

0\. The user must be already logged in to the website on their desktop via any conventional means.

1\. The website generates a QR code with a hard-to-guess URL, unique for the user.

2\. The user reads the QR code with their phone, and opens the link in the mobile phone's browser.

3\. The URL is unique for the user and hard to guess, so the user can be logged in their mobile browser without asking for an username and password.

<comment><AUTHOR> Correct. The only thing I'd also like to mention is security.

1\. If there are XSS vulnerabilities on the website, an attacker could be able to use iframes (at least if you haven't set X-Frame-Options to DENY) or XMLHttpRequest to retrieve an authentication QR code and use it to log into the user's account.

2\. Even without any XSS, it is possible that someone who has access to the user's session (for example, if the user is still logged in on the website, but is away from the computer) could scan the QR code and, therefore, log into the user's account.

Possible solutions include sending the QR code by email (actually, some users are always logged into their email accounts as well, so this might be meaningless) and prompting the user for their password before displaying the QR code (it is still much easier to type the password on a desktop/laptop computer's keyboard rather than type the site address + login or email + password on a mobile device's virtual keyboard).

</comment></comment></comment><comment><USER7> Related question: Can anyone recommend a QR scanner for iOS that doesn't suck? I use android personally, but was annoyed to learn that most / all iOS apps lock you into a webview when you scan effectively blocking functions like add to home screen and bookmarks.

<comment><USER2> I think the reason Android works so well is the intent system is well thought out and just works. That just doesn't exist on iOS

<comment><USER8> That said, for opening links, Google's devised [1] for Chrome-ish on iOS to abstract everything, but I believe (as an Android user and developer myself) that all it takes is a

[[UIApplication sharedApplication] openURL:targetURL];

where targetURL is an NSUrl.

Chrome on iOS even allows you to specify a callback URL to return to.

[1] <https://developers.google.com/chrome/mobile/docs/ios-links>

</comment></comment></comment><comment><USER9> !!! Be careful a similar version of this is patent pending. I know the guy that came up with this 3 years ago when he showed us a demo. <http://www.eletronic-badge.com>

I'm not sure if it's the exact same process though.

<comment><USER10> Unless you are a patent expert professionally convinced of the legitimacy and relevance of a patent, you shouldn't be promoting sketchy patent claims widely. To do so aids patent trolls in their "willful infringement" claims, and spreads vague FUD that suppresses new ideas prematurely.

Following the advice of Linus Torvalds [1] and other wise, experienced technical leaders, I suggest all working engineers avoid idly reviewing patents or patent claims unless and until a patent expert representing your own interests advises that there is a credible threat of legal action and need to understand specific patents.

Otherwise you're helping trolls and wasting time getting worked up over what is, 99.99% of the time, nothing.

[1] <http://lwn.net/Articles/7636/>

<comment><AUTHOR> You, sir, are absolutely right.

</comment></comment></comment><comment><USER11> There's a similar library which does not depend on django and redis, called quickerauth. <https://github.com/williamhogman/quickerauth>

</comment><comment><USER12> Why is this dependent on redis, let alone any database ? Couldn't you just encode the username and expiration date in a URL along with a message authentication code or cryptographic signature over the data? It should scale way better and not involve installing a whole new database.

</comment><comment><USER13> I like the idea of this but I think something in reverse would be much more useful. For example, a keychain application on the phone that can log the user into a website on any other device by scanning the barcode.

<comment><USER14> You created this account 30mins before to post this?

<comment><USER15> I didn't even notice the account was green. Trust me, I would have just posted at the top level, I have no need to create fake accounts.....

<comment><USER13> We are not the same person. I've lurked here for some time and never felt the need to comment before this one, hence the new account. I'm not sure why rpledge would even feel the need to create a fake account anyway, as he says his comment would have been fine in the top level.

</comment></comment></comment></comment><comment> doc-m Couldn't someone snap my qr code whilst I wasn't looking and have access to my account on their phone? I think there's some interesting uses of qr codes for authentication, but I'm not sure this is one of them.

</comment><comment><USER16> The idea behind making it easy to log into sites on your phone easily is nice.

But QR codes are probably a bad way of going about it. The average user just doesn't know what to do with QR codes, and they have poor engagement (at least if you're targeting this at non-Asian countries). How often have you ever seen someone scanning a QR code? They're particularly a waste of space on advertising--where that space could be used to place a URL that people know what to do with.

Perhaps a better way to go about enabling this login process is asking for their mobile number, and then just SMSing them a link to click.

<comment><AUTHOR> SMSing might be good, but there are also a few reasons not to do so. For example, there are many users who don't really want to enter their phone number anywhere on the Internet (and it is actually a good point, at least you get more privacy).

A few more reasons:

1\. There are always third parties (the SMS gateway, the carrier) when you send SMS messages.

2\. You cannot receive SMS if there's no signal or if there's no cellular module at all (a frequent use case on tablets, iPods, etc) — just the camera, Internet connection, QR code scanning application. :)

3\. Sending SMS messages costs you money. In another hand, QR codes are generated for free. Also, it usually takes more effort to set up (and also it can break — relying on third party services is almost always less solid).

4\. SMS messages can be slow (and sometimes you don't receive a message at all). QR codes, in another hand, are very predictable and usually work pretty well (at least if the camera works correctly).

</comment></comment><comment><USER17> What are some example use cases for this?

<comment><USER18> For example, you urgently need to complete some work and at the same time you need to leave your working PC. But it seems to be additional security issue for the website admin.

</comment></comment><comment><USER19> So, I need a desktop system to log into my mobile device? How often do you need this in the real world?

</comment><comment><USER20> Does anyone actually use QR codes? I see them everywhere and I _never_ use them.</comment>


Is Having Too Much Money Bad for Startups?  - <AUTHOR> http://www.markevanstech.com/2011/11/30/too-much-money/ <comment><USER2> Here's a question that will probably get me downvoted: what exactly _is_ it that costs so much money in startups?

Is it servers?

Is it paying awesome brogrammers the exorbitant wages that they oh so deserve?

Is it paying for marketing?

Or something else?

I kind of need to know which one it typically is, since I am planning to start a startup. If it's wages, then, well, I am going to do real great since me and my partners are used to working for scraps in Sweden anyway. But if it's something else then we might be hosed unless we get outside funding.

<comment><USER3> The main costs are salaries and servers.

<comment><USER4> I'm honestly asking here because I have some experience writing web apps and I know your infrastructure (servers and code) need to be able to withstand the pressure of all the users and you also have to take security into account but couldn't you just either code the app yourself to start with (or hire someone for a few grand, maybe $10k) and use something like a VPS for about $5k a year or less if you use Heroku or so,etching like AWS if you have few users at first?

I mean $50 million dollars? Really? For something that's massively successful this makes some sense but when you start to see companies that merely have ideas or half baked products being valued in these ranges you wonder if you really need that much money to run. Then you start to wonder, even if the startup does become wildly popular what do you do about generating revenue? Many of these guys have no plan to actually make money which makes the investment baffling. You can always hope to get swallowed up by a bigger company amd make a buck that way but how likely is it? The market is just flooded with these things.

I have a great case in point: I'm working for some people to build a social network for sharing dating stories. It's a real niche but we can't charge for a freemium model because there's nothing valuable enough to charge for. It's a decent idea and the site will surely get some use and maybe even become popular but I doubt its worth investing in. The creators came into this thinking it would be some internet sensation they'd get rich off of and the way things are going I'm beginning to think that if we were in Silicon Valley that maybe a few VCs would be dumb enough to buy into it! I think that's sad.

<comment><USER3> You don't need much money to start out but the costs add up rather quickly if you have any significant traction. Heroku is one of the more expensive options. You will be hard pressed to find anyone good anywhere on the planet who will work for "a few grand, maybe $10k." $50M is a lot for a half-baked idea, but why worry about what other people's are doing wrong?

<comment><USER2> Heh, I'm good (and getting better all the time) and I am working for a crap wage (due to lack of a resumé).

Then again, this is Sweden...

But, the situation is temporary! I'm just a temporarily embarassed millionaire, and all that :)

</comment></comment></comment></comment></comment><comment><USER5> We can all think of companies that have gotten $50M in funding and have little to show for it... Or which have something that you'd think could be so much better if you could spend that much on it.

"Lean startups" with less money are more focused, but they are less likely to be doing something really interesting with technology that involves a sustained development effort. Instead, they pick up some existing technology and quickly apply it to a market segment. As a byproduct, lean startups look pretty boring to some people.

<comment><USER2> If they gave $50M to the Open Source Ecology guys, we could start to change the basic food-production business model of society for the better.

Now THAT is properly leveraged cash. And something that has wide-reaching implications.

Spending $50M on photo-sharing apps? What the fuck kinda drugs are they smoking? And may I please refrain from partaking in the second-hand smoke thereof?

<comment><USER4> Haha seriously! $50 million for something that requires a VPS and some code to start? I honestly don't think I could put that much money into a photo sharing app if I tried. Even if I paid the developer a million dollars to create it, a million dollars for servers, a million dollars for someone to maintain it, a million on design, and 5 million on marketing I still have $41 million left. So do I just pocket that? What's the deal? I'm honestly perplexed and I've asked before and the answers I get are never able to explain why these startups need or are even worth such amounts. Everyone pretty much says "yeah, I don't get it either". Please, I'm being serious, can someone educate us on how this makes sense?

</comment></comment></comment><comment><USER6> The biggest risk of having too much money is not that you'll spend it, but that you'll lose your sense of urgency.

When you have 6 months of cash in the bank, you're going to release MVPs, you're going to be customer-focused, and you're going to be super-driven to hit the next milestone so that you can get enough additional revenue (or additional funding) to stay in business. When you have 36 months of cash in the bank, the urgency can fade very quickly: you end up working on features without talking to customers because you think the features are useful and you can afford to be wrong; you end up tweaking things endlessly before launching because you can afford to be a perfectionist; you end up doing a lot of things that you shouldn't be doing because you feel like you can afford them. Pretty soon, you once again have 6 months of funding left, but now your culture is no longer in the right place to be scrappy and urgent and desperate in the way that you were before a mega-funding round.</comment>


How low can laptops go? Coby says $99.95 - <AUTHOR> http://technologizer.com/2008/12/04/how-low-can-laptops-go-coby-says-9995/

<comment><USER2> What the heck is this all about?

Two articles on HN today with similar headlines from the same site. One about iPhones being $99 and this one about laptops being $99.

It's like a two for one rumor/speculation crap special.

<comment><USER3> maybe its the same story? $99 laptop is actually a $99 iPhone with a free laptop extension app.

</comment></comment><comment><USER4> Well, I guess it's time to start dusting off that old assembler book....

</comment><comment><USER5> I'd rather pay the extra $20-$30 for a x86 processor.</comment>


Ask HN: Working as a web developer in SE Asia - <AUTHOR>

I'm looking to relocate from the UK to SE Asia (Singapore, Thailand, Malaysia etc). I keep updated on the 'Who's hiring' threads but just wanted to tap HN's collective knowledge as well.
I'm 23 and have been working as a PHP Developer in London for a large fashion brand for the last 2 years but also have a lot of experience with front end technologies.
Just wondering what the best areas to look for work were, what are my realistic chances, any good resources to look at? In advance, thanks! <comment><USER2> I'm currently working in Hong Kong, and to be honest, tech companies here aren't really that good, the startup scene is close to nothing at the moment and finding a decent company that really cares about what they do is very difficult.

<comment><AUTHOR> That being understood, where would I begin looking for work in Hong Kong - presumably there is a web industry there even though the startup scene may not be as healthy as other cities?

<comment><USER3> [http://www.88-gong.com](http://www.88-gong.com)

[http://www.startupshk.com/](http://www.startupshk.com/)

[http://www.hkcocoon.org/en/index.aspx](http://www.hkcocoon.org/en/index.aspx)

[http://hkcommons.com](http://hkcommons.com)

[http://jobs.webwednesday.asia](http://jobs.webwednesday.asia)

</comment></comment></comment><comment><USER4> I'd look to freelance yourself out to London agencies on the proviso that the majority of work is to be done remotely and that you'll be around for kick off meetings etc. Once they trust you you'll be able to switch this to pretty much 100% remote (possibly look to reduce your rate as a sweetener) and then just go to cheap SE asian country of your choice, doing visa runs every X months.

There is a large culture difference between different countries and you may as well spend some time in each to see how they fit before looking for a full time position

</comment><comment><USER5> Hi, Malaysian dev here (PHP too)

Stick to Kuala Lumpur area, particularly Bangsar for devs jobs. Most sexy startup here is Mind Valley and they are super cool for us local devs.

Me myself based on Cyberjaya, working on ebook backend stuffs. I do not know any openings but i'll ask around. So far i have many luck freelancing with local jobs from Skillpages.com . You can try your luck there.

Glad to help fellow HN!

</comment><comment><USER6> Hong Kong, hands down. It's way more fun than Singapore (personal opinion) and there are virtually zero local developers (A friend of mine works at an incubator there and several of the startups have had open positions for months on end).

</comment><comment><USER7> Should probably specify what countries you're targeting, as there's a pretty big difference between say, Cambodia and Japan.

<comment><AUTHOR> Sorry, mainly Singapore, Thailand, Malaysia etc. Have now edited the original post.

<comment><USER8> Is your university anywhere in the list on this page: [http://www.mom.gov.sg/foreign-manpower/passes-visas/work- hol...](http://www.mom.gov.sg/foreign-manpower/passes-visas/work-holiday- programme/before-you-apply/Pages/default.aspx)? If yes, you might qualify for a working holiday visa in Singapore. That would make getting a foot into the country much easier.

<comment><AUTHOR> I don't have a degree, I have 3-4 years experience but part of me thinks on paper (particularly to Asian employers) this wont look as good as a degree.

</comment></comment></comment></comment><comment><USER9> geoarbitrage, my friend.

Work for clients in high cost-of-living countries. Spend your time in lower cost-of-living countries.

Instant lifestyle upgrade.

Aren't you a little old to still be using PHP? ;)

<comment><AUTHOR> I have heard other people suggest similar, it does sound very attractive - something to work towards maybe.

Re: PHP - I have front-end experience including some of the emergent technologies such as Node.js etc.

Out of interest, what skills / technologies would make me more marketable to employers (overseas or otherwise)?

<comment><USER9> In terms of technology skills, PHP is definitely at the low-end in terms of what you can get on an hourly basis... [http://tinyurl.com/lxsxp3n](http://tinyurl.com/lxsxp3n)

To make you more marketable to potential clients, I'd recommend focusing on some skills that are complimentary to programming. That may include domain- specific knowledge of a particular type of client you want to work with (e.g. bioscience, healthcare, local government) or it may include things like usability, SEO, or lead-generation. Find the profit centers in your clients business and find a way to get as close to those as possible. Learn the language they use to describe their work and make sure you use the same vocabulary when speaking with them.</comment></comment></comment>


Ask HN: As a developer, what are your biggest pain points? - <AUTHOR> As a developer, what are some of the most impactful problems you or your peers face? These could be technical or non-technical, work-related or not. <comment><USER2> The fact that interviewing for software engineering jobs tests skills that are mostly unrelated to software engineering. Related: interviews that are SE relevant, but in no way apply to the job at hand.

Example: I was asked by a 50 person company to "design the Twitter home page/feed for the world." Relevant to SE, sort of... I mean, who designs massive distributed systems themselves without being able to consult colleagues or the internet? Relevant to a 50 person company? I suppose they wish it was....

<comment><USER3> Might be worse? Yes, whiteboard coding questions.

Unbiased opinion, but this is a problem I really care and I'm trying to solve with [https://type12.com](https://type12.com)

</comment></comment><comment><USER4> The need to be stationary for 8 hours a day. standing desks help, but not enough. I plan to start doing yoga, which I think will help with this.

<comment><USER5> Not perfect, but... get up and walk around! You have more than enough to think over for a short walk on a regular basis. If it doesn't seem like it, maybe it should. In practice I only spend a few minutes a day actually typing code. Most of my time is spent trying to figure out WTF I should do.

<comment><USER4> good point. i used to walk and think a lot when i was in academia. the act of walking always added a different dimension to my thought processes, though it's hard to describe in exactly what way.

I'll try to make an effort to do that more often now! thanks

</comment></comment></comment><comment><USER6> Technical debt. Some places let this stuff mount up under constant pressure from product or management to always deliver features as quickly as possible. This makes it more difficult to track down bugs or add new features as this mounts. Most often it severely impedes on the ability for low-mid level engineers to write good quality code as the complexity of refactoring the existing issues surpasses their skill level.

I guess the big pain point then is actually having management that doesn't support tech debt cleanup at any appropriate level. Without support, budgeting you'll end up at a point where even as a skilled developer your choices are to a) say to hell with your managers guidance and blow the whole iteration refactoring just so you can even start on the right footing with a new module, or b) write code that isn't as reusable, maintainable, or performant.

</comment><comment><USER7> As a web developer, my biggest pain point was the never-ending pressure to get a project done by tomorrow with perfect no bug code.

Another was designers designing because it's "cool" and everyone else is doing it as opposed to designing for app function and helping the user get around the app easily. Some designers love eye candy that weighs the app down with useless features that are cool once but get in the way over time.

One that really comes to mind is bad SCRUM project management. The longer projects will always get spaghetti code when badly managed that will be a bear to maintain. It's not too bad for smaller projects but longer project the manager needs to be a master to divide the project into manageable parts that will deliver good code.

</comment><comment><USER8> Thinking you are finished with a project, then taking on another project that's suddenly taking all of your time - while fixing bugs or making improvements to the previous one. Now you're suddenly under a lot of pressure.

<comment><AUTHOR> I hear that. I was once employed as the sole full time internal webapp developer for a local company with 600-ish employees to serve. Over time, more applications == more code == more bugs == more features/improvements == more "customers" to interact with... Being able to move that quickly was a lot of fun, but managing everything was challenging.

<comment><USER9> That's basically my job now.

Absolute technical freedom with absolute responsibility.

It's made me _very_ cautious about adopting _any_ 'new'/'shiny' technology, I'm sticking to things that already have mass market adoption and a proven track record because I simply don't have the time to disappear down rabbit holes.

I keep a scratch list of "this looks interesting, check back in a year" and sometimes even then it goes back on the "check back in a year" list.

<comment><USER10> Besides for research projects or your own company, in my opinion this should always be the case. I see people literally screwing their employers by introducing 'shiny X' (usually seen in a frontpage post on HN...) saying it will be faster. It never is in the greater scheme of things and it always costs more because it will have issues.

<comment><USER9> Couldn't agree more.

Outside of work on my own time I play with things I think might be useful or worth using a year or two from now, if they are fantastic, if not I learnt something and had fun.

At work it's PHP (I inherited that project sadly), C# and Java, On my radar in the next year are Kotlin and F# (Kotlin particularly since we have java applications in production on industrial handhelds and the codebase previous dev left on those is...worrying).

As for people screwing their employers by picking unproven new shiny, I think in the main part that's because of mismatched goals, Employer wants reliable software but doesn't understand what dev is doing and Employee wants a resume that will get them hired so skates to where the puck will be on the ooh shiny.

I've been programming since I was a kid in the 80's and the one thing I've learnt (often the hard way) that no language/framework/library is a substitute for thinking things out, that and _everything_ is a trade off in some direction.

A 5mm square A4 pad and a pack of decent coloured pens has saved me thousands of hours over the years.

<comment><USER10> Also been programming since the early 80s and I do by far most programming in my head and on paper (I 'just have to type it in'; that is mostly bullshit because of the real world vs my abstractions but it does save me a lot of wasted time behind a computer).

Screwing the employer is a tad harsh but I am the employer often and I see people coming up with these things, so I give them some room to play. Usually they just go back to the old ways when they see it is not that silver bullet the Medium article claimed. I just can imagine when someone does this with more power or less supervision within a company as an employee and actually costing the company money for some unproven and resume driven thing which does not necessarily bring any business value.

</comment></comment></comment></comment></comment></comment><comment><USER11> Interviews. They are so disconnected from the day to day work that causes devs to 'prepare' for weeks/months to clear the interview only to get back to doing what they were doing before or something like that in the new job.

</comment><comment><USER10> As most clients only appreciate things when they see them; a better enviroment to mock up applications which look and feel like the real thing but take less time than actually implementing the real thing. I used many tools meant for that but usually the endclient (internal or external) says 'yes thats great' or 'come back when its done', which are basically the same remark in reality. In the first case when you deliver, they feed back things 80% of which could have been caught when you showed the mockup/clickthrough but they really thought at that time 'yeah looks ok, but come back when its done'.

Besides just spending far too much time on actually doing a chunk of the actual work (which might not yet be commissioned for), I have not found effective ways of fixing this issue.

<comment><USER12> The problem with mocks that feel like the real thing is that the client then interprets that as the project being nearly done and doesn't understand why you still need another $N months to build it.

</comment></comment><comment><USER13> Incomplete or missing requirements. When it isn't clear what you are trying to deliver, you introduce a whole host of problems to the project.

</comment><comment><USER14> End to End Testing Flakiness - at my last company we spent a large amount of engineering time automating end-to-end tests. In the end we found them flaky, maintenance heavy and couldn't get to 100% browser coverage. E2E tests are of huge value but their costs are still too high.

<comment><USER15> Yep. We were just getting a handle on it and then the new wave of frameworks have largely broken it again due to browser DOM's not being stable. Basically gave up automating testing of our last VueJS project after 5 years of successfully automating traditional web stacks.

</comment></comment><comment><USER16> Honestly none. Not when I compare what I do to anyone I know.

Pay is excellent. Hours are standard, work environment is comfortable. Jobs are plentiful. (Again compared to other professions)

I know my programing skills here are nothing. But after 20+ years of doing this professionally it's clear there are not many people who can do this type of work.

I'm very lucky to be one of them.

<comment><USER17> I know right? I would be bored out of my mind in an environment that doesn't have problems. I'm hired to fix problems, I don't care if it's technical, people, process, whatever. The more problems there are to solve, the more I'm challenged to fix it. When all problems are solved, then it's time to move on to a new challenge.

</comment></comment><comment><USER18> 1\. Hype driven development: NoSQL, microservices, serverless. Used in places where they do not fit. Same with CV driven development.

2\. Risk-averse traditionalists/architects. Instead of choosing right modern tools they keep pushing for Oracle/PHP/Java whatever they know.

2\. They pay me a small fortune but I always get slow Windows box. VirtualBox helps but it is complex and slow. My three years laptop is a few times faster than new company laptop.

3\. Not enough room for personal growth. I have family and I have less time to learn new stuff.

<comment><USER19> Absolutely agree. The amount of technologies that one has to be familiar with just to get an interview is ridiculous. And then once you are hired you are still doing maintenance on the 10 year old ASP website. Also: 3\. off by 1 errors.

</comment></comment><comment><USER20> Most of the pain points raised here are a day to day reality, fair enough, but I would like to also bring up another point not often surfaced here:

Fellow developers not aware of the business requirements, or fellow developers not being able to see things from the business perspective and where the money comes from. I know, our code is not monadic enough, but we do really need to solve that problem affecting customer X before end of September, or there won't be enough money in the bank to pay for that fresh avocado on Monday morning.

</comment><comment><USER21> Not necessarily a developer problem exclusively, but I always have to fight with the AC.

I'm freezing all day long, while some of my coworkers are apparently sweating. I think it has to do with the fact that the AC outside of the conference rooms is much more "efficient", and these coworkers use the conference rooms way more than I do.

</comment><comment><USER22> Not being disturbed. Being able to stay focused.

<comment><USER23> This. I've found a pair of 3M Peltor Optime III do a pretty good job at keeping people away while I'm working.

[https://www.amazon.co.uk/Peltor-Optime-Earmuffs-Headband- Bla...](https://www.amazon.co.uk/Peltor-Optime-Earmuffs-Headband- Black/dp/B000VDX18E/)

North American equivalent appears to be:

[https://www.amazon.com/3M-Earmuff-Protectors-Hearing- Protect...](https://www.amazon.com/3M-Earmuff-Protectors-Hearing- Protection/dp/B00009LI4K/)

[https://www.amazon.ca/3M-Peltor-Optime- Earmuffs-H10A/dp/B000...](https://www.amazon.ca/3M-Peltor-Optime- Earmuffs-H10A/dp/B00009LI4K/)

<comment><USER7> Yes, but co-workers don't like it and then you become the antisocial hermit in their mind.

You have to let them know why you are doing it.

<comment><USER23> >You have to let them know why you are doing it.

Absolutely, yes. When I managed a tech support team in an open plan office, the indicator for "do not disturb" was either standard headphones or ear defenders. That was part of the new starter initiation, so everyone knows from day 1.

</comment></comment></comment></comment><comment><USER24> This isn't specific to development, but feeling burnt out at the end of the day, every day. I also struggle with getting enough sleep, getting enough physical activity, and finding time to just get other things done. If I could, I'd only work 25 hours/week. Maybe someday.

</comment><comment><USER15> Having skills go stale every 3 years.

It seems impossible to really ever get really good at anything because everything you learn is trashed within a few years. It induces a feeling of constant mediocrity.

</comment><comment><USER25> Writing tests first. Sometimes it's hard cause I am more flowy and designing interfaces and I'm just needing work here.

Also anxiety, and distractedness.

<comment><USER26> Your comment is a day old already, but I'll reply anyway.

Can you elaborate what you mean with anxiety and distractedness?

I've switched from developer to product owner, and then back to developer after two years. The problems I'm having with my role came back instantly.

I'm anxious that I'm not good enough, taking too long for everything, not smart enough to understand complex existing code that I have to modify.

This anxiety alone keeps me from properly focusing on the job at hand. And the more time pressure there is, the worse my focus becomes, because I feel I have no time to understand everything properly and have to hurry, which only leads to a worse solution and more problems in the end.

Add to this the 'normal' distractions of working in an open plan office.

Listening to other people's experiences sometimes helps. Yesterday I watched Sandi Metz' talk "All the little things", and also reading about Clean Code in general, and about imposter syndrome sometimes help me think that it's not really my fault and that I'm at least an average developer.

Then again, I'm also prone to asking too much of myself and being overly ambitious, also with sports, nutrition, life in general, so I'm not really content with being an average developer.

But being 40 already, I feel like it's already too late to become really good at anything, when I have 20-year-old colleagues who are already presumably better than me, despite me having 10 years experience in various roles and companies.

And then there's so many things that I could improve in, systems architecture, frameworks, backend, frontend, databases, OOP principles, learning new languages etc, that I don't even know where to start and the whole endeavour seems futile already.

That's when I ponder quitting the dev role again and switching into something else, but how often can I do that before my CV looks like patchwork and nobody will hire me because they don't really know what role I'm actually qualified for?

That's my struggle, anyway. Having worked as a developer for quite some time, but not really feeling like one.

<comment><USER25> I think it's a running dialogue in the mind that I need to quiet. I have specific problems, but if I solved them a new set of things would arrive to my mind.

I appreciate reading your thoughts, I think there are a lot of universal problems there. With so many things to learn, I just remind myself of the Joel Spoelsky essay, fire and motion.

Thank you for your post, it really helps me a lot.

</comment></comment></comment><comment><USER27> Those times when you're not adding business value when developing features

</comment><comment><USER28> The 5-day work week. If I could have a 3-day weekend every weekend, my quality of life would be so much better.

<comment><USER29> BaseCamp supposedly has a 4-day work week policy for the summers. Does anyone know of any other companies like that?

</comment></comment><comment><USER30> Finding enough time for coding (which is great fun).

</comment><comment><USER31> Untrained or poorly trained managers. The lack of solid leadership that exists in organizations of every size is stunning to me. The jobs I've had where I was my most productive was when I had quality managers leading the department.

</comment><comment><USER32> As a freelance engineer, not knowing how to efficiently invest my time in learning something new. In other words: how do I keep staying relevant in the market?

Unlike other professions, having more experience does not relate to being more valued, often the opposite (image a medical doctor being dismissed for having too much experience). A software engineer (that wants to stay a developer) needs to re-invent herself multiple times during a career.

How do I pick what to learn? Just going by what interests me or what is hyped doesn't seem to be a good strategy

I'm working myself on a start-up to solve this problem (broad idea is to find companies that sponsor learning)

</comment><comment><USER33> \- Lack of communication between design and development at the conceptual stage.

\- Designers spending hours on particular pages with no consideration on how it affects other areas of the site.

\- Need some tools but the process of justifying and convincing management that we need them leads to just buying them myself.

\- Sharing common code snippets between team members

\- Forced to stay online and be receptive on Slack while attempting to focus on code

\- Open plan offices and the constant deluge of inspirational talks/events (I work in an "innovation space")

\- No time between projects. One's done then it's another, and another.

\- Crappy Jira tickets with little information.

\- Jira

Apologies, this may have been mostly a rant. It's been that kinda morning.

</comment><comment><USER34> Working with other Developers.

<comment><USER35> Working with egotistic devs.

</comment></comment><comment><USER9> The inevitable Schema vs Code mismatch that creeps in.

I've yet to see a belts and braces solution that works when introducing it on an existing database (rather than from the start with something like Flyaway).

I mostly like SQL but I kind of wish someone would do a clean slate design of a relational data store and unfuck the last 40 odd years of cruft.

I work in an environment where our data is eminently relational and generally mapping to a relational db type structure is quite simple but actually dealing with the minutiae of the various RDBMS's is just painful.

<comment><USER10> I was wondering about this a few days ago when I was, again, stuffing a square peg in a round hole by doing work you would hope a db or orm should be able to handle.

Is there any research going on to solve this in a non OO environment? I worked with (expensive) OO databaes in the past and that was crap, nosql is not helping much either, although the idea (I say the idea as I hate the implementation) to have the language married with the datastore like Mongo is something. I have seen non OO environments where the company just extended sql to be a full generic programming language which also works but it all feels... Not quite there. Q/k on kdb+ I find pleasant as I find Mnesia with Erlang. That feels far more natural than the other choices, but I feel it can be better with research and more FP oriented.

</comment></comment><comment><USER36> The rate of change of javascript frameworks and tooling. Need to learn a new one every year roughly. And dump all the working code and knowledge gained next year.

<comment><USER36> compare with Unix shell commands I learned in 1980, that I still use every day

</comment></comment><comment><USER37> Being told I was getting hired a backend Java developer for a first job and then working in a JavaScript, Java and DevOps full stack role for the last two years.

The frustration that comes from being required to be competent on a large range of technologies because of this and feeling just as I start to invest enough time in one I have to switch to doing something else. Most recently was working with Jenkins and Groovy!

</comment><comment><USER38> Having to spend most of my time learning how vast piles of other people's code works and very little time getting to write any of my own.

</comment><comment><USER39> Petty, charted off 'areas of responsibility' that hamper natural collaboration.

These may be cozy to some middle-managers to protect their domain, but ultimately this slows down the project flow via scrolls of email, request tickets, kowtows and 'bribes' just to have some matching project pieces fit. I guess, it's all down to team interactions.

</comment><comment><USER40> As an interpreted lang developer (Python), hate the small things that can cause major delays, for example, "permissions missing on folder", or "filename_1 not found" (it was actually filename1). Little things that could be automated could make life a lot easy.

</comment><comment><USER41> 1\. The industry changes so much I can't _really_ tell if/when my skills will be truly dated (I work in front-end web/UI)

2\. Sales/marketing. I'm a consultant and I just want to code and have work, but all of this stuff is just such a constant drag on my time.

</comment><comment><USER42> Users/PMs/Management either don't know what they want, or worse, they think they know what they want, but can't articulate it or tell you something else. Then after you do it, they tell you it should have been some other way.

</comment><comment><USER43> Bad habits of coworkers - the worst of all is loud throat clearing or summoning snot. Eating smelly foods noisily at desks when there is a break out area available! Loud talking on conference calls!

</comment><comment><USER44> \- Technical decisions from non-technical people (especially management and politics)

\- False commitment to up-front design decisions, even in the face of absurdities and architectural violations

\- Inability to throw away code

\- Overengineering

\- Underengineering

</comment><comment><USER45> Working on user pain and trying to serve their needs while someone is pressuring you to work on something that a number of people can do.

</comment><comment><USER46> Having a truly shared and portable dev environment

</comment><comment><USER47> Users. :)

<comment><USER48> second that....

</comment></comment><comment><USER49> The pressure to deliver code that isn't of high quality and tested.

Requirements that are extremely unclear.

</comment><comment><USER50> Open plan offices. They're fantastic for managers / saving space, but just awful for trying to focus.

I recently read a good medium article[1] about why they are a terrible idea.

[1]: [https://m.signalvnoise.com/the-open-plan-office-is-a- terribl...](https://m.signalvnoise.com/the-open-plan-office-is-a-terrible- horrible-no-good-very-bad-idea-42bd9cd294e3)

</comment><comment><USER51> Having to explain technical things/difficulties to non-technical people.

</comment><comment><USER52> Writing bash scripts.

<comment><USER52> Related: Reading bash scripts.

<comment><USER53> Related: Running bash scripts? :)

<comment><USER11> Related : Rewriting bash scripts to windows batch scripts because they can't get cygwin installed on that one client machine. Ughh!

<comment><USER19> Related: Rewriting the batch script to be PowerShell because reasons.

</comment></comment></comment></comment></comment><comment><USER54> Managers who call meetings for the sake of meetings.

</comment><comment><USER11> Us devs got so much to complain about !</comment>


Show HN: We created a Mac app that creates presentations from Markdown - <AUTHOR> http://www.decksetapp.com

<comment><USER2> I have a lot of hesitation about plopping down $20 without being able to try it first (which is why I generally dislike buying apps on Mac App Store). Too many unanswered questions. How does it handle text overflow? Is this going to go away it two months? Are new features coming (maybe export to PPT)?

I'm going to give it a try anyway, since it would be pretty damn useful to be able to whip up a presentation in a text file. I really hate arranging things in Keynote/Powerpoint. It takes forever. It's definitely struck a chord with me - so if I buy this, I hope that it gains more functionality.

<comment><USER3> If you do, please let us know what it turns out.

<comment><USER4> I did. Not wholly impressed. Needs way more options regarding the presentation.

</comment></comment></comment><comment><USER5> This seems to be quite nice. The generated slides look very good.

For everyone looking for a html based alternative: slideshow (or S9) [1] is a ruby tool that also lets you generate slides from markdown. It has output plugins for most of the popular html5/js-based presentation systems.

It is a nice tool but what I like even better is its mailing list [2]. It is a wonderful place to learn about and discuss alternative and/or related projects.

[1] [http://slideshow-s9.github.io/](http://slideshow-s9.github.io/) [2] [https://groups.google.com/forum/#!forum/webslideshow](https://groups.google.com/forum/#!forum/webslideshow)

<comment><USER6> Reveal.js ([https://github.com/hakimel/reveal.js](https://github.com/hakimel/reveal.js)) also supports writing your slides in Markdown.

I've used it for the last 3 or 4 presentations I've given and it has worked out well. It doesn't come with a huge variety of themes, but it is easy to share - I can just push it out to Github Pages.

<comment><USER7> Reveal.js is practically the default presentation tool for some groups at my workplace. Works quite well and looks quite good as well. Publishing is easy and works on FF and Chrome.

</comment></comment></comment><comment><USER8> Love it. I've been making my presentations in InDesign for a while now, and exporting to PDF, and while the end result always looks great, I end up spending an inordinate amount of time choosing the typeface and the look and feel. Turning a Markdown document into a presentation by simply selecting a theme and a color scheme sounds wonderful to me, especially considering the themes are high quality.

One thing that's not entirely clear, though, is how the automatic layout works. For example, does it colorize photos to match the color scheme? What if you don't want it to? How does it resize photos when it needs to? Is text size based on the amount of text in a slide? Is it fully automatic or can some things be tweaked manually? I'm guessing this stuff has been thought through pretty well, but OTOH "it automatically makes things look pretty" does sound a little bit too good to be true.

<comment><AUTHOR> It does colorize photos according to the color scheme, however, you can also turn this off: [http://www.decksetapp.com/support/#how-can-i-prevent- deckset...](http://www.decksetapp.com/support/#how-can-i-prevent-deckset-from- applying-an-image-filter)

Yes, images are resized, depending on what you want: [http://www.decksetapp.com/support/#whats-the-best-way-to- wor...](http://www.decksetapp.com/support/#whats-the-best-way-to-work-with- images-in-deckset)

The text does not resize. You can make headers 'fit', which means they fill up the available space. The only thing that automatically scales down the font when needed is source code =). Being Objective-C developers, we really needed this, haha.

</comment></comment><comment><USER9> Looks interesting. I certainly wouldn't buy before trying though. I'd strongly suggest a crippled version that lets people platy with it - disable saving, or watermark or ... you get the idea.

</comment><comment><USER10> This is very impressive.

One speculative question (because the Markdown would be mind-bogging for most of your users, but) do you plan on including animations?

I know those have got a bad rap after your lame colleagues at a company too big to be cool made whizz-bang into a series of horrible failed effects, but… well done, animations can help to explain complex things, a lot. There was a link to dozen of great examples yesterday on HN.

<comment><AUTHOR> We had a prototype, but it might take a while to do this right. So: maybe... but first, there's a lot of other things to do...

</comment></comment><comment><USER11> Somewhat relevant: [http://remarkjs.com/](http://remarkjs.com/)

</comment><comment><USER12> Saw this and instantly thought presentations from a gist might be cool. Looks like someone already has an implimentation: [https://github.com/nzoschke/gistdeck](https://github.com/nzoschke/gistdeck)

</comment><comment><USER13> This looks absolutely great. I, however, would like to chime in for a downloadable test version, just to see the workflow of how to actually build a presentation.

</comment><comment><AUTHOR> And of course, I'm very happy to answer any questions!

<comment><USER14> I won't pay $20 without trying it first, otherwise it's like throwing money out of the window… Is there any plan for a downloadable trial version?

<comment><USER15> or they could offer a 24 hour or 7-day full refund?

<comment><USER16> Unfortunately we cannot offer something like this through the App Store. However, you can request a refund via Apple for a purchase in the App Store. It's a bit of a hassle though...

<comment><USER9> No. But you couldput a demo/crippled version on your Web site for people to evaluate.

</comment></comment></comment></comment></comment><comment><USER17> i'm ok with giving you a cookie

</comment><comment><USER18> There are so many ways to create an App without making it Mac dependent. Why did you choose that way? It's something I'm looking for but I'm like 99% on Ubuntu and 1% on Windows nowadays.

*edit: From what I can see from the start page it's awesome! Would instantly buy an Ubuntuable version! 20 Bucks seems to be a good price.

<comment><AUTHOR> We are Mac developers, and we wanted to make use of all the great stuff that Mac provides us in terms of text layout... But we are thinking of what we could do to bring this to other platforms as well.

<comment><USER18> Thanks! I subscribed to the landing page.</comment></comment></comment>


TheDailystock.com – The Daily Short - <AUTHOR> http://www.thedailystock.com/the-daily-short <comment><AUTHOR> hey guys, if any of you are into finance, this is a little experiment I have been running. I am using a systematic approach for the selection and my theory is based upon Nassim Talib's thoughts.

I will be adding a new stock trade every M-TH, and reviewing the portfolio on Fridays. I hope you guys enjoy, and make a ton of money off it!

CL</comment>


Ask HN: Right to live and work in this location - <AUTHOR> "You must have the right to live and work in this location to apply for this job."
"Whereas we welcome international enquiries, only applicants that are legally entitled to work in New Zealand and can make themselves available for interviews in New Zealand will be considered for advertised positions. Others may not necessarily be responded to."
I'm trying to find a job in New Zealand, Canada, or Australia. I've applied for several without even an interview. I've updated my LinkedIn, posted side projects on HN, and asked a recruiter for help, all without success.
I can't get a work visa without a job offer.
I have all the qualifications and work experience for the Skilled Migrant Category (NZ), Express Entry (Canada), and Subclass 186 (Australia). Having moved a lot on Working Holidays before, it's now my intention to immigrate and settle down.
Should I lie, and pretend I have the right to work already just so I can get an interview?
It seems dishonest, but I feel like an automated filter is just deleting my applications. <comment><USER2> Companies can obviously only hire employees with the legal right to work in the jurisdiction of the company. Depending on the country, there is a process for the company to sponsor the visa of foreign workers. Some companies do this, some do not. Sponsoring a visa is expensive, and if they do not already have a policy of doing so, you would need to be an exceptional candidate for them to undertake the effort required to sponsor your visa.

Companies that do sponsor visas will usually mention this in the job posting. Look for the words "visa sponsorship." If they aren't there, but you really want to work for the company, I suggest contacting a hiring manager or even the CEO via LinkedIn and explaining your situation. Since they aren't sponsoring visas it's probably a small company and you can easily find a decision maker. Ask them about sponsorship options and give them a soft sell on yourself.

Definitely don't lie, because you're just wasting your own time that way. Eventually you will need the cooperation of your employer to submit the paperwork, and depending on the country they might need to pay real costs to file it. That's not something you want to surprise them with.

</comment><comment><USER3> Lying about your work status is the worst thing to do. You want to be completely upfront about it, otherwise you just end up wasting both your time and the company's.

In my experience it is very rare for a company to change their mind about "visa sponsorship" after meeting a candidate. Either it's something the company can do and they will advertise it as such (to have access to the biggest possible pool of candidates), or they don't want to go through the hassle and even amazing candidates won't change their mind.

Applying remotely to jobs and requiring visa sponsorship is very complicated. You're competing with locals and candidates who may need a visa or work permit but are already on site for interviews. You are basically last in the line.

I'm surprised you didn't take advantage of your WOs to build a network or apply for permanent positions. I think your best bet is to pick one country, move there, even as a tourist and start looking for something while you're on site.

</comment><comment><USER4> You haven't stated where you are from, nor how would they know about any of your residency papers( unless it's linkedin and you write about it within the application).

But what makes you think it's not just them ignoring you/got too many applicants that caused them to not reach out to you? Unless the explicitly told you about this, maybe it's your resume?

</comment><comment><USER5> I am in a similar situation. And I found that it works great when the recruiters/companies feel that you really want to move and will not do any last-minute cancellation.

In my case, I was just granted a Work and Holiday kind of visa, my SO already moved and started to work. When I told recruiters that I was moving even without a job offer, the conversation was way easier and smother - and yes, I still need to get a long term work visa, but I can work while waiting.

</comment><comment><USER6> No point in lying as you will be discovered straight away when you ask for your support letter addressed to CIC or whatever the Aus/NZ authorities are.

It's possible to get into Canada without a job offer via the Express Entry system. There is also the IEC if you are under 30.

</comment><comment><USER7> Never lie about anything ever when it comes to getting hired. People will find out, you'll be unable to keep it up, and your reputation will be ruined.</comment>