hacker news with inline top comments    .. more ..    26 Aug 2016 Ask
home   ask   best   3 years ago   
Ask HN: Is there any US bank with a sandbox or API?
65 points by kparjaszewski  12 ago   54 comments top 26
smitherfield 12 ago 2 replies      
Capital One provides this toy API: http://api.reimaginebanking.com

If you want to create an app or startup that does anything involving banking, look elsewhere. The chances you will get approval from banks and regulators are zero. To have a halfway decent shot, you would need years, significant industry connections, expensive lawyers on retainer in New York and Washington, and the ability to prove you have cash on hand in the high 7 figures.

Here's a good example of what I'm talking about: https://medium.com/@oscargodson/thatll-do-pig-that-ll-do-899...

sjtgraham 12 ago 2 replies      
I'm working on Teller (https://teller.io), which is a universal banking API. We don't support any US banks yet (but we certainly plan to), but we will be publishing a sandbox API in the near future along with the GA release of our production APIs.

In the US I recommend you check out Plaid (https://plaid.com), although I believe they offer read only APIs.

There is also the Open Bank Project (https://openbankproject.com) which is also intended as a universal API but I don't believe has any production integrations, although they do have sandbox APIs.

Email address in profile if anyone wants to chat more about this topic.

tinbad 12 ago 1 reply      
Nope, up until earlier this year I worked in the 'innovation lab' of a top 3 US bank, that was supposedly leading in the banking API space (one of current hottest payment companies uses our backend/wholesale services) and we only offer APIs to big customers and not public, let alone a sandbox environment. My impression with all the regulatory and compliance issues it will take a long time (if ever) that banks will release such tools publicly. By that time hopefully someone will figure out a better system to bypass altogether...

EDIT: Yes, there are aggregators who have agreements with banks, but I believe the OP asked for directly accessing a bank's API, which I believe is not possible with the exception of some beta programs here and there that gives access to some non trivial bank data.

alistproducer2 11 ago 2 replies      
You're going to have to scrape. I'm working on an open source competitor to Mint. I call it POSADA (personal open source automated digital assistant). People run their own scrapers (plu and play, dockerized rasperry pis) so they don't have to trust their credentials and personal data to a 3rd party.

I envision a repository of integrations (ie, scripts for certain sites) so as people create integrations, you share them with the community. There's also a mobile app that allows users to get updates from the assistant, makes requests to it, or give confirmation before the assistant takes action.

mercora 10 ago 0 replies      
In Germany i do not know any bank that does not support [0]FinTS when using online banking with your account. I would consider that a documented API for external use.

However, you asked for american banks and i haven't seen options to get a sandboxed variant albeit i am sure these exist. Another option would be to open accounts at some Banks....

[0] https://en.wikipedia.org/wiki/FinTS

mwexler 12 ago 0 replies      
While I would expect we will see every bank releasing APIs sooner or later (http://www.theregister.co.uk/2016/02/10/consumer_trust_centr... shows the UK heading this way already), you may find it easier to work through an aggregator (plaid, yodlee, quovo, etc) initially for consumer-facing experiences.

Other commenters point out that some US banks have shared some early APIs, but most are not for public consumption and are limited to "partners". I suspect we'll see some restrictions on API access for a while still while regulators and banks get comfortable with an API approach.

Citi has had a Mobile Challenge for a few years with some API test access (http://www.citimobilechallenge.com/), and the Open Bank Project has a sandbox (https://openbankproject.com/) for their version of banking APIs.

But for now, unless you want to leverage aggregators, I think you'll need to just keep reaching out to the banks to be included as a "partner" and try to get early access, or wait til they open broadly, and I wouldn't expect to see that til the next few years for most large banks.

lhnz 12 ago 0 replies      
Isn't that what Plaid [0] provides?

I know in the UK the only production banking API is Teller [1].

[0] https://www.plaid.com/

[1] https://teller.io/

lefstathiou 9 ago 0 replies      
We are a young unfounded company and work with most of the major us investment banks and the answer is there is no sandbox or API that they will share with you. Our experience is that the banks won't waste their time on anything that feels beta so you have to invest in having a solution built out and people using it (a catch 22). The exception to this rule however is that banks work for their clients (this pertains to investment banks not retail) and they will use a new tool in the context of an engagement when asked by the issuer, investor or firm they are representing. Not sure what you're planning to build but go to their customers first (issuers or large investors) who are much more agile. Once you're in the system you can navigate through the onboarding. Happy to share our experiences further if you want to discuss - reach out directly.
throwaway2016a 12 ago 0 replies      
A lot of banks support the Open Financial Exchange format http://www.ofx.net/

Here's a list: https://wiki.gnucash.org/wiki/OFX_Direct_Connect_Bank_Settin...

Note that some banks (I think Bank of America is one) turn off this access by default on your account to prevent people being tricked into providing access but a quick call to them will get it enabled on your account.

inglor 10 ago 0 replies      
In practice, everyone uses products by companies like Yodlee, they barely work and have a ton of production bugs and they're expensive but they sort of get the job done and they "work" almost everywhere.
revicon 9 ago 0 replies      
I'm playing with https://github.com/euforic/banking.js right now, looks promising, sounds like other ppl have used it to connect via OFX to their respective banks (I use chase which requires a $10 per month fee to access)
drglitch 11 ago 0 replies      
Look into FinTech Sandbox (boston) - they are backed by Devonshire/FMR (aka Fidelity) and provide an incubator-like program for anything fintech-related. Its probably a best place to start if you want to do anything in the banking space and dont have high millions raised already for connectivity alone.
downandout 9 ago 1 reply      
Depending on your use case, https://plaid.com may be able to help. Used by Stripe, Venmo, etc. and supports more than 15,000 banks.
gregparadee 12 ago 0 replies      
Not necessarily a big bank but Visa also has a developer site with several APIs that include Payments, Data and Analytics, and Fraud. Their website can be found at https://developer.visa.com/
ch4ch4 12 ago 0 replies      
US Bank just opened up their read-only API for a hackathon this weekend: https://usbinnovationsd.eap.soa.com/#!welcome
dmourati 10 ago 0 replies      
This was the business model for Standard Treasury before they got acquired by Silicon Valley Bank. If you want details, you should talk with Dan Kimerling, one of the founders.
endswapper 11 ago 0 replies      
Dwolla provides a sandbox and they can connect to banks. So, there is a layer between your app and the bank, but it may give you the functionality you are seeking.
vonnik 12 ago 0 replies      
Have you tried Yodlee? They serve as the API for many banks.
randomsofr 9 ago 0 replies      
Most banks support, NACHA files over SFTP. But you will need a contract and stuff.
shamir 8 ago 0 replies      
BBVA has public APIs in the US and Spain -https://www.bbvaapimarket.com/ More APIs are coming too.
tommynicholas 12 ago 0 replies      
What do you want to do? Pull transaction data or something else?
syngrog66 8 ago 0 replies      
Silicon Valley Bank (svb.com)
44448 12 ago 1 reply      
Ask HN: Is there any use nowadays for a proprietary C compiler?
2 points by ignoramoose  2 ago   4 comments top 3
greenyoda 1 ago 1 reply      
People are still apparently using Intel's C++ compiler despite all the free ones that are available. An overview of their compiler can be found here:


Intel's compiler writers might have a competitive advantage because they have access to the people who designed the chips. Understanding their machine architecture better than anyone else in the world might enable them to generate faster machine code.

technion 23 ago 0 replies      
There is a competitive advantage in CompCert[1].

However, that advantage is only of benefit in certain spaces.

[1] http://compcert.inria.fr/

flukus 43 ago 0 replies      
I'd say no. The days of closed source development tools are almost entirely behind us, especially for core tools like compilers. MS was the largest major holdout to this and even they are coming around.

This is a good thing.

Ask HN: Optimal strategy to sell startup shares?
5 points by HowDoIEquity  6 ago   2 comments top 2
toast0 1 ago 0 replies      
In the hypothetical situation where the stock has a clear value, is liquid, and you have no organizational penalty for selling; I would want to limit at least the vested stock to some percentage of my net worth -- maybe 5%-25%.

However, it's very likely that you would not have liquidity, or that trying to sell your vested shares will upset the organization and may make it harder to vest further shares.

mmastrac 6 ago 0 replies      
Sell enough to bump your life up to the next step - keep the rest. With your given example, sell $500k and pay off your house (or buy a house somewhere reasonable for cash). Keep $500k and roll the dice for whatever it turns out to be.
Ask HN: Trying to prevent 24/7 on-call, please help
7 points by webappsecperson  6 ago   3 comments top 3
davismwfl 5 ago 0 replies      
So to the legality question, but please understand IANAL, the short answer is no it is not illegal, at least in the US.

Regardless of whether you are a salaried worker or hourly, it is legal as long as you are compensated for the time. Are there limits, sure and they vary based on your exempt status. e.g. a Salaried worker isn't entitled to overtime, unless certain conditions are met or violations present (certain states have some varying rules too). Hourly workers it is actually easier, you are paid OT for hours exceeding your normal FT schedule, in the US that generally assumes 40 hours a week.

In the end, if the company requires it for your position you are on the hook to show up and do the work. There are some state and federal rules, but in general if you are compensated then they can ask you to do whatever. You can vote with your feet and walk, but outside of that there isn't a huge amount you can do to change it other then making sure shit doesn't break.

I ran a 24/7 shop that handled 911 calls and fire/ems dispatching, we started with 2 people (including me) and grew from there. We all shared call duties monthly, splitting it into the smallest increments that made sense. The reality is we all cared and all busted ass to make sure shit didn't break, and when it did we fixed it and took it personally. It wasn't just about the people reporting the issue, it was for our own sanity.

seanwilson 5 ago 0 replies      
I've heard of e.g. development teams of 10 where over 10 weeks each person is on-call for one week to spread the burden around. I've worked in places where a 24/7 support team would do this kind of thing (again, spreading the burden between their team) so the developers were freed from it. If you literally are on 24/7 call though I really can't think of what you could do about it except renegotiate or leave as that sounds completely unreasonable and unsustainable to me.
AnimalMuppet 6 ago 0 replies      
In action? You mean like, they routinely call you in at any time, 24/7? If that's what you mean, leave.

In development, you get called in sometimes. It happens. At my current job, it's happened once (at 9 PM) in seven years. At previous jobs, it happened more often. I accept it as long as it's rare.

If it's all the time, it means the company is badly run - too much happens in panic mode, not enough by regular operations. That's your cue to find a company run by grownups.

Ask HN: What are your startup ideas that you aren't pursuing?
2 points by marginalcodex  1 ago   2 comments top
marginalcodex 1 ago 1 reply      
Heres mine: My proposed business is a centralized website similar to Kickstarter that does the financing for new music albums. With the spread of streaming services, many artists are now making an insufficient amount of money through record sales. Bands would list the albums they could potentially release (ie their next album, a live album, b sides etc) on a website where once the band has reached their asking price, they will start working on/or release that album. The price listed is not how much the album costs the band to make, but the amount of money that it would take the band to feel sufficiently incentivized to make/release the album. Once the album reaches this point, the band would release the album for free online. This creates two new streams of revenue - fans who really love an artist (or have lots of money) can contribute proportionally. Additionally, cheap fans that otherwise wouldn't pay for the album would be incentivized to with the hope that the album comes out sooner, or out of fear that it won't be released at all. You can read more details here: http://danfrank.ca/startup-ideas/
I'm about to give up on AngularJS, I'm going to try React
4 points by zappo2938  10 ago   11 comments top 7
seanwilson 5 ago 1 reply      
> My implementation is pretty vanilla AngularJS with ui-router. All I want is for a user to use forward and back browser buttons to navigate

This really shouldn't be hard to get working. Try downloading a sample/example project that has routing set up already then strip it down to the bare minimum. Throwing a whole framework away because you're maybe missing a line of code somewhere isn't going to set a good trend.

arisAlexis 7 ago 0 replies      
If you are going to spend a week in angular for routing you will spend a month in react cause react is a view rendering lib. Just read the docs and for for http://angular.io (angular2) they have a hands on example
aprdm 49 ago 0 replies      
Vuejs is what you really want
lastofus 6 ago 0 replies      
If all you really need is a router, you should probably just use a router:


I've personally used this router with in a React SPA, though you can use it with pretty much anything including something simple like jQuery or Knockout. If you don't want to use a module loader, then grabbing the original Backbone router is probably your best bet.

niftich 10 ago 1 reply      
Though I enjoy React, React (by itself) isn't a full MVC framework like Angular.

Before you throw out everything, try this:https://docs.angularjs.org/guide/$location

ry_ry 8 ago 0 replies      
React is a very nice UI view rendering lib, but that's pretty much all it does. Which isn't a bad thing at all, just something to bare in mind coming from Angular.

jsx is incredibly straightforward to read/write, and the actual time it takes to build anything is trivial, but if you drop a lot of es6 on it babel is going to output some moderately horrifying code when you dig into it.

Get your head around the component lifecycle stuff early and save yourself some O(n) heartache down the line.

calcsam 10 ago 1 reply      
Do it! React is way better.
Ask HN: Unusually-located startups
9 points by EFruit  10 ago   6 comments top 4
haney 7 ago 1 reply      
I work at Bellhops in Chattanooga, TN. We were able to raise seed locally, and Series A and B from Bay Area and NYC investors while sizably growing market share. It definitely depends on what industry you're trying to start a company in but it's worked out pretty well for us.
sklegg 10 ago 1 reply      
Is Seattle considered an unusual location for a startup?
dansipple 8 ago 0 replies      
I don't know if you want to consider them a startup, but Dribbble[http://dribbble.com] is located in Salem, MA.
nullski 7 ago 0 replies      
Portland, Maine has a killer scene. If you are early stage you have everything you need here and can easily branch out if you get big enough.
Ask HN: Failed interview, feeling unemployable and depressed what do I do?
360 points by deathbysw123  2 ago   223 comments top 123
mik3y 2 ago 8 replies      
I worked for a "big 4" (Google) for many years, and now I lead the engineering team at a startup. I've interviewed many hundreds of people. And I've "been there" in anxiety about interviewing for something new.

Let me make you a deal: call me up and I'll interview you, no "puzzles". Except instead of this being about a job with me, I'll give you feedback from the interview and any advice I can. You can reach me at mikey@ (domain in my profile).

(Depression signs are another matter; others have given some good advice there.)

eropple 2 ago 4 replies      
Hey, OP.

Impostor syndrome sucks. Everyone has it. This industry is a bunch of nerds (and this part is not pejorative, I am one) who spent most of their lives being identified by how smart they were and they are culturally incentivized (and this one is pejorative, because tech culture is trash, but it's not your fault unless you perpetuate it, so don't!) to be desperate to win the approval of their peers by how bulging their foreheads are. You will not, statistically, win enough of these nerd fights to be Lord High Nerd Of All You Survey. You will feel dumb, you will feel clueless. And so does every person around you, including the prick who's sneering so you feel worse than he does. I am not intending to be dismissive of how you feel, because I've been there. But I have learned that there are much more important things to worry about than "oh noes, not all of the biggest tech companies don't think I'm A-1 and the stunted people around me kinda suck." You will, I promise, be fine.

You can change the game. I embrace not knowing stuff, and I'm a consultant so I'm supposed to be all-knowing. Clients blink in surprise (and appreciate) when I say "I have no idea about that." I just go find the answer. Because I'm not dumb. Neither are you.

I have a 33% offer rate (3 for 9) when talking to GooAppFaceTwitrosoft. I rejected those three offers. And it's funny, right? When I wanted them, they didn't want me. When they wanted me, I realized I didn't want them. But you're inside, at one of the big companies, right? I would hope that you know the game: if you keep applying to these places, if you keep trying, you will eventually get an offer. And if you know the game, you should be able to find the perspective to laugh it off. But I'd bet money you probably don't really want one, at least for the reasons you state.

(edit: So I skated over the "death doesn't seem so bad" thing on first read, and that's red-flaggish. I am not going to flap my hands about depression, because I not a head doctor and don't even pretend to be one. But you should talk to someone, 'cause if your brain chemistry tends toward dark places it's worth getting checked out, and the advice regarding the Suicide Prevention Lifeline if you're feeling really bad is great advice. But, for serious: you will be okay if you give yourself a chance to be. Nothing in tech is worth breaking yourself over.)

jlj 2 ago 0 replies      
If you can't get out of your dark thoughts, seek help, talk to a friend, find a mentor. There is no shame in asking for help. Don't struggle alone. If you need someone to talk to call 1-800-273-TALK (8255), or see http://www.suicidepreventionlifeline.org.

Check out the book Counterfeit Gods by Timothy Keller, it helped me out and put the importance of my day job into perspective, in the big picture of life. There are so many reasons besides work to be alive.

You may face the same doubts in your new job. You may be on a toxic team, or your judgement may be clouded by depression. If it is really a toxic team, keep interviewing quietly, you will get better each time. Interviewing is a skill and like any other you can get better at it. Be realistic though that the new job may not immediately fix your problems, but still some change might help you get you out of your rut.

This will pass. You are worthy of all the goodness that life has to offer.

nurettin 1 ago 0 replies      
>>I don't know where I went wrong. I used to be >>intelligent. I used to be liked by my teams. I >>used to be good at puzzles.

>>Now I'm dumb and worthless.

I would like to address this part only.

I used to work for a startup where conditions got worse and bosses got greedy to the point of increasing our commute time by 1.5 hours and reducing our paychecks using new tax cuts as an excuse.

During the time I was there, I was the "rockstar programmer", the "super-committer", the "feynmann of scheduling algorithms" and as soon as I quit, I was the shameful person of broken promises and worst coder ever in history.

Months later I was still told that former employers were saying things like "fixing code he wrote" and "cleaning up his mess" from a few collegues and friends. Since I know for a fact that I was a valued employee one day and worse than dirt the next day, I don't blame myself for this change. Neither should you.

You are the constant. Your intelligence did not change. Your character did not change. You are just responding to a new environment. It seems your surroundings changed considerably and some adaptation is required. I suggest you figure out what changed and how to adapt. It requires some work, some persistence, some challenges may lie ahead, but it is nothing to despair about.

Your image among others is a fleeting social construct prone to change with just a few words, just a few jobs completed, just a few successes.

helpingout 2 ago 5 replies      
You have classic signs of depression. Perhaps major depression.

The worst part of depression is that it clouds normal thought processes. That's probably why you can't perform as you once did.

Find a way to see a psychiatrist you feel comfortable around. Go with a family or friend if that helps get you over the hump.

So many high achievers I know go through this. You're not alone, and with proper help you'll get through it, and be stronger too.

pinewurst 2 ago 0 replies      
I went through similar experiences and my ultimate conclusion was that the problem was those sorts of cultures, not me. There are many, many other employers than the "Big 4" and a correspondingly large variety of cultures. It is not a sign of strength or brilliance to be able to pass arbitrary (and they are arbitrary) hazing rituals.

You are not dumb or worthless for being unable to snap solve BS programming or algorithm puzzles.

Find a place, a team and role that is deserving of you.

Keep in mind too, that despite the propaganda, none of the "Big 4" does anything really to better the world.

santoriv 2 ago 0 replies      
"My thoughts are descending into the darkest reaches. Death doesn't seem so bad anymore. Then I don't have to think about all this."

First of all, get some help if you need it. Your number one priority is your mental health. http://www.suicidepreventionlifeline.org/

Therapists can help with depression, as can medication. I've had chronic issues with depression and the number one thing that helps me is making sure I walk 2 miles a day on the treadmill. Makes a world of difference.

Secondly, and I can say this because I've been on both sides of the interview process many times - interviews are a crapshoot to a large degree. If you take enough of them, then you will definitely get a job. If you take just one, any number of insane reasons that have absolutely nothing to do with you could have prevented them from giving you an offer.

I've never worked at a "Big 4" company but if your expectation is that you will pass every interview you ever take for one of these companies, then you definitely have extremely high(unrealistic? maybe impossible?) standards for yourself.

Please be safe, take a little time off, do some exercise, talk to a professional, and try to reset. hugs

williamle8300 2 ago 1 reply      
This sounds like a total non sequitur but a simple solution (I've found) is to get some form of hardcore physical exercise! Try lifting some iron, or running on local natural trails. Physical exercise increases mental clarity because it increases neuroplasticity, and releases hormones you can't get from a largely sedentary lifestyle (programming, engineering, brainy-work) like adrenaline, testosterone, epinephrine, etc. All that good stuff. You need this to get more even keel if you spend a lot of time in front of a computer. It will aid you in understanding the nature of your problems, and formulate real plans to conquer those problems.

For lifting weights, google "beginner workout program." Always, always, always focus on "form" over the amount of "weight" you lift. This pays in dividends as you progress.

For running, there's usually a local trail that everyone goes to. Just use that, and start running. Even if you just walk it'll do wonders for your intellectual life, and imaginative powers.

Anyways, ending my new-agey rant. I can relate to you, and found these things helpful for me. Don't hesitate to shoot me a message, and I'd be happy to give you some pointers.

lostcolony 2 ago 2 replies      
So the way you feel about interview puzzles is how most people feel about them. It's -stupidly- rare for people to 'figure out' the question in an interview; even those who appear to are just dredging it up from having seen it somewhere. A lot of those style questions are things that took someone weeks to figure out originally, and while we may be better equipped than they were, and so able to figure them out faster now, they were doing it in the comfort of their own homes, not in an interview. You're not dumb, you're just being compared against people who handle interviews better, and those who have seen the problem before.

Keep looking. Seriously. There are a LOT of jobs out there for technical people. You found -one- opportunity; maybe it would have panned out, maybe it wouldn't have. But it sounds like you're limiting where you look, if you were going to go from one Big 4 company to another. Talk with your wife; maybe you want to go to another state? Maybe take something remote? There are a lot of possibilities to explore. Many interviews may lead to failure, but others may lead to an offer.

Talk to your wife about how you're feeling, too.

googthrow500 2 ago 1 reply      
Just want to chime in and say you're not alone. I am miserable at Google and have found the biggest lie Google recruiters tell people is that internal transfers are easy. I got "exceeds expectations" and still find the transfer process to be mountains of red tape. And for as much as everyone makes it seem like you can walk into a new job, my few attempts at exploring have run into people getting hung up on "So why do you want to leave Google?" Bay Area is also terrifyingly expensive to be unemployed.

Ultimately, I know I won't go hungry and it's just a job/career. Doing my best to focus on things that make me happy outside of work. Tech is a stressful career and job searching sucks, so don't feel alone, just focus on the positives.

judahmeek 2 ago 0 replies      
Remember that the Big 4 are some of the most selective in the industry and that even they admit that their puzzles have zero predictive power about a person's intelligence or abilities.

You really sound like you're just suffering from burnout.

Take a break. Cut loose. Go tell your wife to go fuck herself if she can't understand that how your burnout is effecting your mental health (But do tell her about your burnout first. Hopefully, your wife will be your strongest pillar of support while you recuperate. If not, find a different support network.)

Remember that you did make it into one of the Big 4 and that that's more than enough to impress a lot of people. Also, remember that when it comes to criticism, there's at least as much B.S. and power-plays as there is constructive consideration, especially in more competitive environments.

ImTalking 2 ago 1 reply      
Mate, you self-worth is being jeopardised by (may I say) your own deluded thoughts and your reliance on external validation.

When I first joined IBM research right out of school I thought that everyone would be some Einstein and I would be blown away. And at first I was, with everyone talking acronyms and things that just flew over my head. But over time, I realised the place was run by only a few truly smart people and the rest were just regular 9-5'rs. Don't ever compare yourself to anyone. Another memory: I played pro tennis years ago and I would watch some player and think "OMG, this guy is amazing", but I never knew that this guy was probably looking at me and saying the same things. I learned not to care about appearances or be intimidated by someone off court. I learned that the only thing that matters is when I'm on the court, playing against him and trying to kick his ass. Nothing else mattered.

And jumping ship is not the answer. My mother said a great thing: "when you move, you take yourself with you". If you have deluded thoughts and rely on external validation, then why do you think moving will solve this?

WhitneyLand 2 ago 0 replies      
This is an extremely common situation. No doubt you are not alone at your company, but no one will admit it.

This is just a temporary down cycle in your life. It's hard to see now but things will get better again in time. While you're waiting it out you must see a pdoc to get treatment.

You are not a loser, less capable, or less intelligent. It's all an illusion created by your brain and it's fixable.

Also you must realize a lot of big 4 interviews are bullshit and don't mean anything. Don't believe me? Read about how Google realized its own interviews were bullshit: https://blog.stackoverflow.com/2016/02/the-stack-overflow-in...

So from a scientific perspective, you actually have no right to criticize yourself based on admittedly invalid criteria.

So maybe you want to believe me, but are not sure if I truly understand your "big 4" level of difficulty. Well surprise! Been there done that, worked with PhDs in math/cs, people from Stanford, Harvard and the rest, people claiming an IQ of 180, etc. My conclusion? Everything above applies no matter whar company you're at.

Again, your abilities are not the problem. You are suffering from insecurities and depression which are fixable.

Here's an experiment for you: When you go to see your local pdoc, ask her how many people she knows like you at the same damn "big 4" company you work at, suffering silently together on the same campus.

Hang tough - https://en.wikipedia.org/wiki/This_too_shall_pass

acjohnson55 2 ago 0 replies      
There have been a couple points in my life where I felt like you describe. I felt worthless and was experiencing suicidal ideation. The way out for me was challenging assumptions I had been living under.

One thing I suggest for you is to challenge the assumption that working for a Big 4 company equals success. There are a lot of alternatives out there. A lot of people find success and value working for companies that produces things they are into, that may not be traditional tech companies. These places tend to have a lot of trouble finding technologists, because everyone wants to work Big 4, at an established unicorn, or at a hot, rising pre-unicorn. There are companies out there that don't do puzzles. As a hiring manager, I think they're worthless.

When I was in a dark place, I didn't seek professional help, but I'd recommend it to anybody who is depressed. I think I was playing with fire struggling to fix myself. I got lucky that I found my way out. I don't suggest taking that chance.

I also suggest seeking couples' counseling to help you and your wife get on the same page. It truly sounds like some time off to regroup could make a massive difference. Having someone help you two unpack your underlying goals and help you think outside of the box could be very helpful.

It's not an accident that you got your job. You are smart. Hang in there. Take it from somebody who's been there, there is light down the tunnel, and there's so much joy to be had on the other side.

Karupan 2 ago 1 reply      
I just went through my first interview after 2 and half months of being unemployed. I did have some anxiety initially, but I learnt to work through it. My telephone interview with a hot startup didn't go as planned and I was turned down. It felt like I wouldn't get a job anymore.

It's important to look back to see where you started and what you've achieved. Not doing good at an interview doesn't mean you are worthless! It just means that that isn't the right place for you. But thankfully, there are plenty of opportunities and we just have to keep looking.

Its also important to remember to be yourself. EVERYONE feels like they are an imposter at some point or the other. Just accept the fact that there will be smarter people, and that is okay. Take it easy on yourself, and give yourself credit for all that you've done.

And I wouldn't worry about interview puzzles too much. I politely decline an interview if I don't agree with the process. There is a place for everyone, and if you don't feel comfortable during an interview, chances are you won't fit in the company. And that is okay. Just move on to another place where you feel you can fit in.

And please, NEVER say to yourself that you're worthless! Its very inviting to go down the dark path. Trust me, I've been there. But it serves absolutely no purpose and drains away your life. If you think its serious, talking to people you trust might help.

And remember, you aren't alone. There are lots of people who have faced a similar situation and have worked through it. All the best!

sp527 2 ago 1 reply      
First sort out the emotional issues. Please please please seek help ASAP. If you work as an engineer at a Big 4 company, you have no business feeling even remotely inadequate.

But know also that you're far from alone in how you feel. I've worked at two of the big 4 and still occasionally feel this way. The problem for people such as myself, a lot of others in the HN community, and perhaps even you is that we have a flawed perception of what it means to create value.

You have to expand your thinking. Who you are and what you're worth goes well beyond what you do for a living. Do you make people laugh? Smile? Do you do kind things for others? Do you contribute valuable ideas and thoughts? Do you maybe even have a creative hobby? Are you a good husband? A good friend? It's great (and important too) to be an economically productive agent in society, but that's only a statistic that's as truly bland as it sounds.

We have so much opportunity to add value to this world that feeling miserable about it is silly. Get out there and be a better you. Focus on impacting the lives of others (doesn't even have to be a lot of people or 'scale up') in as positive a way as you can and you'll discover existential clarity, as opposed to the myopia in which you presently find yourself mired.

tostitos1979 1 ago 0 replies      
Please don't feel so bad. I'm an old timer ... in the old days (prior to 2004), we'd get programming jobs after a 30 minute conversation. Despite official inflation numbers, salaries 10-15 years ago are the same as the glorious 100K+ job of today. What started as something Microsoft would only do (full-day interviews and puzzles ... the latter they stopped because it was pointless), was adopted by Google (because they want to raise the collective IQ ... snicker), and now done by most tech companies. This is a trend, and like other stupid trends of today (e.g. scrum/agile, microservices, devops), these will go away.

I have two suggestions:

1) Don't equate your sense of self-worth to your tech employment. This requires making friends outside of tech, and pursuing hobbies. If you need medical help, get it sooner rather than later (anxiety, depression, ADHD, etc. are a lot more common than you would think).

2) There are thousands of tech companies out there. It is BS to say smaller companies are worse than the big 4 tech companies. You seem to be someone who cares about making a meaningful contribution. I respect that and share that with you. I strive to earn my pay every day. In truth, I fail many days, and some days I feel I earned my pay 100 times over. So it evens out.

One final note ... some interviewers are assholes. They make you feel like shit. A youngin will take it, but older folks know how to spot it. My last Google interview, I had 4 interviewers who were professionals and one complete ass-hat. I considered making the HR person know about said ass-hat but decided against it. If I encounter such an ass-hat in the future, I think I will tell HR so the person's damage may be contained. For my part, I'm not interviewing at Google any more (this was my n'th interview with them and frankly, I'm tired of it even though it seems they are not).

Anyways ... be happy my friend ... life is a precious gift; tech moves constantly - it is brutal but it is fun.. check out the stories of people like John Bardeen, Robert Noyce, the Whatsapp founder, John Carmack, etc. Even the great achievers have had to go through tons of crap.

jombiezebus 2 ago 1 reply      
It sounds like you are not a good personality match for the other people on the team (and vice versa). Some people are very facts / decision driven and will push their opinions a lot more, whereas you sound like someone who is more receptive / consensus driven. If one team accumulates people who work in one way, anyone who doesn't fit that mold could struggle on the team since the behavior expected of them does not come naturally.

How would you feel about being more pushy with your methods / opinions? You can always push back on feedback in pull requests if you feel your contributions are being suppressed. It sounds like your manager might approve of you being "less nice" this way.

The most important thing to remember is that the intelligence you feel you had is still there in exactly the same place. Just because you cannot show your ability on your current team, it doesn't mean the next team won't think you're amazing.

Have you tried moving within your current company?

mtmail 2 ago 0 replies      
I worked for two big-4 in the 2000s and think these puzzles are bad and often serve to make the interviewer look smarter. I never had to do one when I got hired and I doubt I'd pass one now. Don't question your intelligence based on those. See discussion in https://news.ycombinator.com/item?id=11001259 and maybe https://medium.com/@RobertYau/why-phone-screens-for-hiring-a...

When was the last time you had holiday? This might include days away from your family to get in an extra calm environment. I'm asking because I had US-collegues who didn't take a day of holiday in 5 years. And collegues who quit because they were burned out. All in the name of meeting deadlines or pleasing the next manager. Time off is important.

privateersman 2 ago 0 replies      
I think you are placing too much weight on your employment. It's good to have a job, but it shouldn't be your sole focus. Technology can be horrible because conferences and communities glamourise these big technology companies. You are buying into that hype, yet the reality is different.

I suggest maybe looking for work with an interesting business that isn't as well known - one that doesn't have weird, abstract puzzles during the interview process. A place where you can build your confidence, rather than be a cog in a multinational machine.

As for the depression/anxiety. You sound like you are over thinking things. Criticising elements of your life, rather than accepting them. The lack of confidence from your job will be making it worse. Read about mindfulness, it's a collection of techniques that teaches you to look at your surroundings in vivid detail without making judgements, and to just sit down without thoughts running through your head. The depression and anxiety will slowly fade away as you get used to thinking in a standard fashion.

tiagotalbuquerq 1 ago 0 replies      
I've been through a sort of same situation. I became lead product manager of the #1 brazil's startup, 1 month after that, I was fired because I was too depressed and couldn't handle what I achieved.

It's because I got burned-out (due to the trash tech culture).

I felt like not recognizing myself as the guy who achieved the most vertical growth curve in the company. And I was sure I couldn't do it anymore in any place else.

I was sad thinking about the past, "how good I was" and much more sad thinking about "how good I will never be again".

Depressed people forget to live the present, they just think about past and future, it generates a lot of fear, avoidance, procrastination... you are simply putting all your energy where it can't help you.

The present time is your life, live it! The Sun rises everyday. I remember what liberates me about fear was read the phrase:

"Until now, you survived the worst days of your life."

You are strong enough to keep surviving. And think, I know you really don't wanna die, it just seems the only way to reach peace, but it's not.

I like to think the Ironborns:

"What is dead, may never die!"

You have only one life, you can always give up and try again every day. (you're already dead, huh?)

This death thing I'm talking about it's like a germans like to think:

"Don't take life so serious, you will not escape alive".

Talk to your wife, be open, don't be afraid. If she doesn't understand your situation, what you suffering and doesn't support you, leave her. You deserve better.

Try to remove fear from your life. Fear are ruining your career, your dreams, your relationship.

Life is a miracle, don't waste your time, follow your dreams. It's real, you can believe you will succeed, you can believe you will fail, know what? What you believe will become true.

Seems like some guru shit but it's true, I know, you will know.

Live the now, fuck the rest.

(sorry my bad english)

isuckatcoding 1 ago 0 replies      
Hey OP. Just wanted to say I know how you feel and I am going through the exact same thing (also at a "big 4"). Been interviewing for nearly 6 months now and I always get caught off guard by those technical puzzles.

I've basically accepted that I'm a terrible programmer and come to terms with mediocrity but that said I'm just going to keep learning and making stuff.

The other thing I've noted is that San Francisco is this weird and overly competitive bubble. For instance, my experience applying to Seattle startups has been phenomenal. Most of them don't make me do the scrutinizing live code thing but rather give me a day or even a week to finish a very simple but realistic project. (I know there bad examples of this practice out there but usually these projects have been very small and take at most 2-3 hours).

Anyway, keep trying and don't forget that you're not the only one struggling. Also, the fact that you actually get to write code and submit pull requests already makes your job sound better than mine haha.

stlHusker 1 ago 0 replies      
"I've heard from multiple people that I'm the nicest and most patient person they've ever met. I don't know where I went wrong. I used to be intelligent."

I can certainly identify with those feelings. So much of my self-worth early in my career was based on how I felt about my intelligence / ability, etc.

Here is the thing, though, most software is extremely ephemeral. What you write today is gone tomorrow, either because technology shifts, user interest shifts or simply for no damn good reason at all. Here is another thing: your intelligence is also ephemeral. Eventually, you will slow down with age.

What doesn't disappear is the impact you make on the people around you. For every instance I've felt of stupidity and worthlessness from a failed interview or a problem that was just too much for me to grasp, I can take a step back and temper those feelings with a mere handful of comments of appreciation from the past. "That project we worked on 5 years ago was a pile of sh*t but man I enjoyed working with you, we worked as a team you weren't an insufferable a$$hole like that lead we had." "When we worked on project xyz and you were the architect and let me research and develop new approaches and gave me a safe place to fail without really failing; that really helped me in my career." Those comments when you get them are golden.

Again, none of this is to say that your ability isn't part of your worth; it's just that it does not comprise the entirety of who you are. Most certainly you did not get married because your wife thought you were Stephen Hawking. Most certainly you are valued to me as you remind me of what I continue to go through.Most certainly you are of value in many ways.

rudyrigot 7 ago 0 replies      
In my experience, big companies tend to have algorithmic "puzzles" for interviews; smaller companies tend to test more your builder skills, actual engineering skills, the ones they'll need (although you find exceptions on both sides).

If you feel that you can build good software, and just suck at puzzles (I'm right there with you), then maybe you should consider targeting smaller companies. Not necessarily young startups, but not a big 4, for sure.

Also, statistically, in a job search, you will fail A LOT. You can totally poorly fail 70% of your interviews, and still be a perfectly great engineer, that's not a crazy rate. You won't find the job of your dreams if you try only once; I don't believe it's likely that you will find the perfect job for you even if you try 5 or 10 times. So don't let ONE failure take the best of you, and improve your odds by trying a lot more.

namelezz 2 ago 2 replies      
> I'm dumb and worthless.

No you are not. You passed the interview and you are working at one of the "Big 4" tech. It's a great achievement there.

> I'll never get a job again because I can't solve the puzzles.

Don't worry those skills are trainable. There are several online resources to improve your puzzle solving skills[0],[1],[2]. It takes time but it's definitely doable. Beside having the current company name on your resume is a really big plus.

If you are too stressful, go our with your wife do something fun with her, visit your friends or your family members. Don't forget to LIVE YOUR LIFE.

[0] - https://www.careercup.com/[1] - http://www.geeksforgeeks.org/[2] - https://leetcode.com/

blm 1 ago 0 replies      
You still are intelligent. You still can be liked by your teams. The way you feel is just clouding the way you see yourself right now.

When you go for interviews people often dont see your potential. They often dont want to take a gamble on you turning the boat around soon enough for their liking. Very often people pick up on how you feel about yourself and use it to form an opinion of you. One that often agrees with how you feel about yourself. The good thing about this is things change when you take control of your feelings and change. The situation is more in your hands than you realise. You have control.

The biggest thing you need right now is time. With time your feelings change and you see yourself differently. You will be able to remember the postive times and show yourself you are still capable. Dont give up if things don't change in a week or a month or several months. The improvements are so small that it is hard to notice every day. However as the months pass, the change adds up and you notice it.

I know it feels like leaving the current job is the only option. But unemployment can make you feel bad, even worse. That is something you need to avoid. What I did was find a differnet job that gives headspace to think and keeps the bills mostly paid.

noahlt 2 ago 1 reply      
At every company, for any given candidate, there exists a set of interviewers who will always fail you for an interview. There is no company with >1000 employees at which you could interview with a 100% success rate.

I think you will really appreciate this blog post http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog... by Steve Yegge about getting a job at Google.

arc_of_descent 1 ago 0 replies      
I can understand the depression. I was unemployed for 4 months in 2014, and went through a major depression.

I couldn't even muster the energy to look for a new job, just the thought of looking into my Vim editor made me feel miserable.

That said, I came out of it. You will too. I'm now coding like crazy :) Please go see a doctor. I did, and stayed in hospital for 4 days so that the doctors could conduct all kinds of tests on me. I was diagnosed with major depression. I took some meds (still taking them), started walking daily, and soon got out of it.

Also try meditation. Its wonderful. And some Yoga.

unabst 1 ago 1 reply      
Just assume you have depression and seek external professional help. You can afford it!

When you're depressed you won't perform well. Depressed people have darkness following them around and people will avoid you. So you're caged in with your thoughts, but they just get darker, because you're depressed.

All signs point to depression.

> Death doesn't seem so bad anymore.

Healthy minds never see this as an option. Suicidal thoughts are a sickness, never a forgone conclusion. How else would it end up under "side effects" on a label?

bdcravens 1 ago 0 replies      
There's a lot of money to be made in companies other than the big 4 or 5. Those companies tend to have crazy programming puzzles because everyone is bought into the value. Smaller companies don't have time for that crap - they need to solve problems, not validate their CS degrees. It's a damned power trip, and you'll only be solving those kinds of problems in your job 5% of the time. If you can move past the idea that you need to work at a big 4 to be valuable, there are some really amazing opportunities out there.

I'd recommend doing some mentoring on a site like CodeMentor. Working with some young blood and re-experiencing the pure joy of writing code to do things is quite invigorating.

Please sit down and discuss things with your wife. "it's unacceptable" is a very concerning statement to me, and sound more like a business partner than a loving partner.

At the end of the day, you are intelligent. You are valuable.

kasbah 2 ago 0 replies      
It sounds like you are suffering from imposter syndrome. Definitely look it up if you haven't heard of it as it is extremely common among engineers and developers.

Find someone that knows you to talk about this. It's very hard to give specific advice with out knowing your personality or the full story.

Try and remember that your life is much more than your work. There are so many other things worth living for.

IANAD 2 ago 0 replies      
I was where you are, but not in as good of a position.

You will be ok.

If your current team is smarter than you and you helped hire them, then that should be a feather in your cap. Even if you are on such a smart team, that is a sign that you did something right at some point, right?

Some things you could do:

* Go to a recommended psychiatrist. There are many new variations of drugs, and they should be familiar with them. Don't just go with something because they mention it and don't try too much at once. Make sure they have all the info they need to help you solve things.

* Reduce intake of bread, chips, and bagged snacks. Eat less.

* Go on walks. Get exercise. If you are overweight, decide that you are going to get healthy, and don't diet. Just regularly exercise and eat well in a way that you can sustain.

* Be your best even if that's not good enough for your team. Be a great parent, be a great friend, and be good to yourself.

* Get help from a technical friend you trust with your resume to make sure that it looks great. Do the same with your Linkedin profile, and get a professional photo with you smiling and looking good and put it on there.

* Practice interviewing before you start your job search. Right down every question and answer you can think of. Practice interview problems and puzzles you find online.

* Read whatever you can that will help increase your knowledge in the areas that are relevant to your position.

You will get through it. Don't just quit without another job and use up your savings. First do everything above to get in top shape, then go on vacation, if you can before you get your next job! When you come back, talk with recruiters some more, do some interviews, choose your job carefully- don't take a job unless you and your family are both 100% on it. Usually your company won't fight hard to keep you, because they know you've checked out already- don't take it personally. Don't burn the bridge back by telling them how you really feel, because you might need to go back. Accept the new job. Take a week or two in between jobs to relax some more.

Your life will be awesome. Just don't give up and remember- you have to focus on being the best you can be given what you are and can be, realistically. When you're expectation far exceeds what you can do, you're going to be unhappy.

shams93 2 ago 2 replies      
It's helpful to place yourself in context you are not the only person who's felt brutalized by this industry. I doubt you suck you wouldn't have ever made any team if you were really terrible this industry can be very hard on self esteem, it can get very lonely. I've survived 25 years in web development some days I wanted to cut my wrists but you soldier on. I haven't even had more than 1 day off since 1995. Keep a stiff upper lip it's a tough industry don't take things personally .
RandomOpinion 2 ago 0 replies      
Having worked for another one of the Big 5 and departed, I'm somewhat sympathetic. My advice would be:

-Consider that you might be experiencing the early symptoms of burnout, depression, some form of anxiety disorder, etc. Checklists of symptoms are available on the internet; if you feel you match those symptoms, consider professional help. As as aside, the stigma is not as great as it used to be and, being employed by the Big 5, you should have access to relatively generous medical benefits and a HR department that is conscientious about giving accommodations for health issues (if for no other reason than avoiding bad publicity and an aversion to lawsuits). If you do go this route, I recommend seeking out a teaching hospital, if there's one nearby; you have an improved chance of getting good care there.

-It's time to start leaning on your professional network. Start contacting past co-workers and friends outside your current employer and get advice, do practice sessions, and job leads.

-Technical interviewing is a learnable skill and, as often noted on HN, often has little to do with your day-to-day job, even if you're at a top company. There are books and sites for both the behavorial side and the technical side of interviews. Start drilling an hour every other day until you have your behavioral answers and your techniques down pat.

-Lastly, remember that passing an interview is mostly a matter of luck. Sometimes you just get some git whose favorite interview question happens to be something you didn't study (see Yegge's description of the interview anti-loop [1]). Sometimes you get someone who got up on the wrong side of the bed. Keep trying, learn from your mistakes, and you're bound to find a position.

Good luck!

[1] http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...

a3n 1 ago 0 replies      
You work in a Big 4? There are probably other opportunities elsewhere in your current company, and it might be much easier to move within than out.

You should talk to a mental health professional. "I used to be ... Now I'm ..." means something's changed, and it's not likely that you aren't smart anymore.

You might also talk to that same professional about how to ask your wife for support.

deRerum 1 ago 0 replies      
Agreed. Way back when, when I was young and stupid and knew everything, my head was full of logic puzzles and programming tricks. So it was easy to solve them in an interview. But today, there are so many things in my head that I cannot keep them all there at the ready...so I usually dump less important things (like puzzles) out of my brain's fast-retrieval cache, and store them in long term memory.

Also, I work on multiple problems at once so I have to do a slow context-switch, and fill my brain's cache with the working-set of the problem (usually by googling stackoverflow etc.) and then solve it quickly, before dumping the cache.

As I developed more wisdom, I usually don't keep small details in my long-term memory, but only repeated patterns and useful details.

Interview questions are more appropriate for a simpler time when programmers were more single-threaded in their heads. They are also heavily biased towards the programming issues of the 1970s and 1980s...doing all of the things which were left out of the standard libraries...recursion, dynamic programming, sorting algorithms, string parsing, set theory, data structures etc. In my humble opinion interviews should focus on questions of style--take this code, refactor it. Refactor it again given new constraints. Multithread it. Make it secure. Refactor it given that you cannot touch this non-optimal code that someone checked in in a hurry and cannot be removed in a short time frame. Etc.

jrnichols 1 ago 0 replies      
> Now I'm dumb and worthless.

My thoughts are that to even have the job that you have now, your programming/coding skills are years above mine. You may feel dumb and worthless, but someone like me would be sitting there going "Wow, I wish that i could do that."

It's all about perspective.

> Death doesn't seem so bad anymore. Then I don't have to think about all this.

I used to be a full time tech support guy, then desktop support, then sysadmin. I felt dumb and worthless at that job most of the time. I made a complete career change into healthcare and made my sysadmin stuff more of a hobby. 10 years later, i make way less but overall I'm happier. perhaps some new hobbies will help? one of them might even lead to a new career.

along those lines, i'm a paramedic, and we see death from a way different perspective. I've been there just after someone pulled the trigger and have seen just how heart wrenching it can be for the friends and family.

Please talk to someone. I'm not sure where you are, but there are resources available. :/

android521 1 ago 0 replies      
You are working for the Big 4. That's an enviable position for many already. It means even if you may not be the best rockstar, you are not a bozo.

Other people have given a lot of advices on job finding or finding a doctor for depression.

In the long run, I think you should save up and use invest the capital. Slowing switch from generating your income from your labor to generating money from your capital. That should be the ultimate freedom. We should code for passion not code for money.

veganjay 2 ago 1 reply      
OP- it sounds like you are experiencing a high level of anxiety & depression. Speaking from similar experience, the world can look very bleak at times. And interviews can be very stressful.

Definitely counseling & medication can help. Please know that your worthiness is not defined by your job, or your position. Try to imagine yourself talking to a son/daughter and what you might say to them if they shared the same thoughts with you. sometimes we are hardest on ourselves.

Please listen to the other good advice in this thread.

stonemetal 2 ago 0 replies      
>The first thing I thought is that my attitude is bad. But this can't be - I've heard from multiple people that I'm the nicest and most patient person they've ever met. In fact, my manager has criticized me more than once for being "too nice" i.e. that I should stand my ground more, or push people for things I depend on from them.

Who said being "nice" and having a good attitude where the same thing? Sounds like you do have a bad attitude not in the Hell's Angels way but in the "I don't actually give a shit any more so lets do whatever" sort of way. An engineer with a good attitude will actually give a shit about the quality and type work they do.

>Death doesn't seem so bad anymore.

Sounds like the start of a bout of burn out or depression, you should look into that.

For things to do:

Get a non-technical hobby that can take your mind of work Judo, Yoga, Meditation anything that takes a lot of focus to do right but won't kill you if you do it wrong aka no chainsaw juggling.

Exercise more try to hit an hour a day, it will help calm your mind and improve your mood. Swing by /r/bodyweightfitness learn how to do cool gymnastics stuff.

See a shrink. Even if you aren't crazy it can help to have a neutral third party to talk to especially one with skills.

brooklyndude 2 ago 1 reply      
Take a break, watch Bachelor in Paradise. You think people are crazy? You ain't see nothing yet.

Plan B?Go to India, take off a few weeks. Your mind will be blown.

Then come back to planet earth. The internet thing is getting a bit old, farming is hot, maybe a career change is due.

fspear 1 ago 0 replies      
You are already at a "Big 4", you should be proud!. Do you know how many developers like myself struggle just to get past a phone screen with a "Big 4"? It's completely demoralizing being considered absolute garbage just because you took too long to solve an algorithm puzzle and even more so as an experienced developer, you start questioning everything you've done until now, you start questioning if you can even call yourself a developer to the point that im seriously considering dropping altogether from tech.

On a side note how long are we developers as a collective willing to put up with this hiring fad? We seriously need to start shutting these stupid practices down, the OP is only one of many developers that are feeling the same way.

Enough is enough time to say a big FUCK YOU to the "big 4" and everyone else who wants to be like them.

jgord 1 ago 0 replies      
Definitely look around beyond the Big4 hype, find a funded startup where you could be a larger fish in a smaller pond. You should be able to find a better culture fit - nice work, nice people, value life after work etc.

Don't believe that crap about IQ being fixed - the more you work the brain muscle the better it gets. Do puzzles you enjoy that are hard ... if that's whats between you and your ideal place of work, you can improve that with practice.

You can try reverse psychology too - Jeez, Im an idiot, but how would a non-idiot do this puzzle ?? A lot of problem solving is not about raw IQ .. theres practice and skills, and having a big bag of tricks, and creativity.. and persistence. People aren't born doing puzzles..they learn it. None of us are Einstein or Feynman .. but we do what we can, work at our craft. Perhaps just measure your effort going in, not the results coming out, at least for a while ?

You seem like a decent human being. Things will come around.

jtchang 1 ago 0 replies      
Interviewing is like dating and there is a certain amount of randomness to it. For every interview you might as well roll some dice. A certain percentage will reject you NO MATTER WHAT. It happens. Especially at large companies like Google/Facebook/Twitter/etc.

I've done a fair share of interviews as well and would be glad to give you a bit of feedback as well.

JDiculous 2 ago 0 replies      
Why are you defining yourself by your job?

First of all, you work at a Big 4. You're already in the top <5% of engineers in terms of prestige. You can probably easily get an interview at >90% of companies that are hiring.

Second, even if you're only able to get an offer at some "unprestigious" company - who cares? You're more than a job. You're a unique individual with a unique perspective and a ton to offer to this world.

You got into a Big 4. That is not an easy feat, and clearly you are a smart individual.

Recognize that you're in control of your own life. If you want it bad enough, then work for it, and you will achieve it. I don't know what type of work you're doing, but I'd wager it's probably not unsolved cutting edge theoretical physics type work. That's fine. My point is that you can prepare for it. And if you don't want to prepare for it - don't. Who cares, it's your life, live it how you want.

abannin 2 ago 0 replies      
Sounds like you're dealing with some tough stuff. Everyone has times like these, so just know that you're not alone. I'd really encourage you to talk to a professional.

One of the things that helped me get through a pretty dark rough patch was just time away from responsibility. Then, when I jumped back in, being in a supporting/safe environment.

DeadReckoning 2 ago 0 replies      
I was in a very similar position as you a while ago and was equally despondent. I thought I was a good engineer, I had a good track record and experience, lots of open source, etc but my interviews were a dice roll. I would either answer the question easily or fumble quite a bit and not get the offer. I would get extremely nervous during these high pressure interviews and the more I was rejected the more nervous I got.

My saving grace was finding a place that didn't haze the shit out of with whiteboard coding but gave me a very involved take home project solving stuff similar to their real world problems (I did do a timed online coding screen and some high level technical discussions as well). Obviously there are some downsides to doing a take home project in terms of the time investment, but see if you can find a more enlightened place that gives you this option. Maybe someone on HN knows of companies who are open to this.

thrwaway3248975 2 ago 0 replies      
A lot of other posters asked you to seek help for depression, so do that.

As for the interviews, heres a general set of advice thats given to a "average" engineer.

1. accept that you won't pass all of the interviews all the time

2. interviewing is a learnable technique, refer to leetcode, cracking the coding interview, elements of programming interviews, etc, and slowly brush up on them

3. when interviewing, interview with more than one company, preferably putting the companies you're less interested in first so that you get a practice run

the most important above is #1, as stege yegge's blog post mentions, there will always be a set of interviewers that you'll never get an offer with. thats okay though, just accept what happened, analyze what went wrong, and practice similar problems, especially ones that you missed that divine inspiration on.

everyone knows that these technical interviews are a dumb game, don't worry too much about not getting an offer from that one company

aeijdenberg 1 ago 0 replies      
Have you considered transferring to a different team with a different project in the same company? Generally this is much easier than moving to a new company, you get to keep any accrued benefits of tenure, and in a big tech company the culture of different projects can be so vastly different that a change like that can feel pretty much like you're working at a new company.

Also - don't worry about failing interviews. Having done hundreds on the other side, and seeing many good candidates be rejected, it's clear the game is stacked against the candidates, erring on the side of caution (no hire), knowing we'd miss out on many.

And finally, if you are depressed, do seek help - others on this thread point to great resources. Use them.

zer0gravity 1 ago 0 replies      
You need to step back a little and look at yourself not as a programmer but as a human being.

When you try to value yourself strictly through the feedback from your peers you may lose yourself.

You need to have an internal compass as well, that will allow you to respect yourself for what you are, a human being, a creator in this ocean of possibilites we call life.

You need to shout to yourself : "My life matters, my life has value!" , and it's the value YOU give to it.

Reflect on your values, on what matters to you, what you want from this world, forget the others for a moment. Just stay with yourself, be gentile and compasionate with yourself. You don't have to correspond to what other impose on you. Don't try to live up to a false image.

Just enjoy the things you like for now. You will feel better.

nedwin 2 ago 1 reply      
Many great comments here which hopefully help, and I'm not going to address the anxiety/depressive side of the coin - others have done that better.

One piece of advice I got from a manager around interviewing was to be trying to interview somewhere every 3 to 6 months. He's incredibly happy in his role but he interviews to a) find out about new opportunities/products/technologies but b) so that when he finds that one job he really wants he is well versed and ready to nail the shit out of the interview.

You're clearly a smart guy. Do a little study on interview techniques + up the volume of interviews (plus reduce the stress/emphasis on any one interview) and I think you'll surprise yourself with how great you really are.

pshc 2 ago 0 replies      
I assure you the "I'll never get a job again" feeling is very common but as a "Big 4" alumnus you have nothing to worry about (:
Futurebot 2 ago 0 replies      
Lots of good advice so far. I'd add two things:

1) You're already at a top company, so you're way ahead of the game already. You could step down to a less stressful / lower pressure culture company and see if that fits you better. They do exist, and they can be fine if you care about the work and environment more than the prestige. Just having a top four on your resume will may it considerably easier for you to get hired.

2) As above, there are plenty of companies that skip brain teaser type tests (advertising and broadly-defined "digital media" companies are two I have experience with.) Hard technology companies aren't the only option out there; now that software is in every industry, so too are the jobs.


Broken_Hippo 1 ago 0 replies      
There are a lot of good comments here.

First things first, the obvious depression/anxiety. I'm gonna guess it has been happening for some time now at a low level. You mentioned being criticized for being "too nice", which is one of those weird low-level depression/anxiety markers. It was tolerable then, and suddenly you have all this stuff happening. You didn't do anything to make things "go wrong", nor did you lose intelligence. It is just that your brain has gone a bit wonky right now. The brain is an organ, a body part, and body parts sometimes have glitches and you are seeing the symptoms.

But it is ok because there is stuff that helps it get back on track so that you can be you again. It is just really getting urgent right now. If it were your leg, heart, gallbladder, or pancreas (diabetes), you'd be at the doctor or ER right now or at least have an appointment with your doctor.

And that is exactly what you need to do. The first step is the hardest. You can take folks this letter so you don't have to explain it. You can go to the local ER, your regular doctor, urgent care, or a psychiatrist. Call the suicide hotline and they'll get you in touch with folks. You can have someone else drive you or make the appointment if you'd like, after telling them or showing them this post. You can email them this if you can't seem to do it in person.

The likely outcome of this is that you'll get some medication, which will help get your mind in a better state to start doing things with these problems and make it so they aren't consuming your mind in the same way. You might wind up in the hospital for a short time - this is generally a safety measure or being in the hospital after a severe injury. You may or may not get some time off work. There might be some therapy. This is more for some help working through all this so that you are better off in the future - much like you get phsycial therapy after an injury.

After this stuff, taking care of the rest of the issues will be much easier. Dealing with work, changing jobs, and those dark thoughts. It may be that you change jobs and things like that, but you can deal with that stuff one at a time once you get your brain in a place that it isn't sabotaging your view of the world.

jurassic 1 ago 0 replies      
There are many good suggestions in this thread re: interviewing, exercising, talking to a doctor.

While you are in this interviewing holding pattern figuring out your next long term landing spot, it may be worth exploring if you can transfer internally to another team at your current company. I'm working as a consultant with a consulting company that does a lot of difficult enterprise projects that are 6-12 months in duration, and the novelty of new challenges makes a huge difference in my personal ability to cope with shitty situations. Usually by the end of a large enterprise engagement I am feeling burnt out, but a second wind always comes when the next (shitty but differently shitty) project comes along and I have new people and problems to occupy my mind. It relieves that feeling of being trapped and powerless with the unchangeable aspects of a company's enterprise culture.

I honestly have no idea how anyone maintains their sanity while trundling along on the same stuff for years on end; I think those who do are the exception not the norm. So don't feel bad that you're struggling - You're in good company.

fatdeveloper 2 ago 0 replies      
Been through exactly same phase. Looking back I did this:

1. Keep trying, never stop2. Be with positive people , friends3. Engage in somtheing else like sports....takes your mind off... I played cricket and went to gym every day....wasn't easy but it helps slowly4. Work hard, don't give yourself that free time to think.... You know what Empty mind is capable of....5. Don't hesitate to take a step back, you dont have to be genius or do what others are doing..

Best of Luck

lyqwyd 2 ago 0 replies      
It happens to all of us, last time I was interviewing I was asked the exact same question two days in a row, the first time I answered it without trouble, but the very next day I choked. It wasn't even a difficult question. After that the interview went downhill.

I was pretty discouraged after that, but all you can do is go on to the next one with an open mind. There are lots of great opportunities out there. A lot of interviewers understand nerves and will take that into account

drawkbox 1 ago 0 replies      
If it was your first interview in a while don't take it so hard. The interview game is broken and devs are rusty on their first couple if they haven't in a while. The real value in engineers/programmers is can you deliver a product and ship? If you can worry little, if you can't, start some on your own, gain some confidence.

If you can deliver, just practice up applying for smaller companies to get your interview game up. Never go to the interview with the company you want to work for first, get some reps in, worst case is you have a bunch of jobs offers to pick from and some leverage.

Look at it this way, you were good enough to get into one Big 4 and you can do it again. But your manager is right, stand your ground, you have to KNOW that you can do it to even start. Nice guys can be pushovers and get steamrolled in developer culture, stand your ground to actually be nice, don't just do as others want, do what is right for ship and the product. Sometimes you have to throw down in the ego driven game of development and ask for forgiveness later.

was_boring 2 ago 0 replies      
> I've been feeling extremely anxious about work. I don't feel well in my current team because everyone is smarter than me and I think no one likes me (people forget to invite me to meetings, I'm not invited to outside events, etc.). Every pull request I submit gets a load of criticism. I don't feel valuable to the team.

> The first thing I thought is that my attitude is bad. But this can't be - I've heard from multiple people that I'm the nicest and most patient person they've ever met. In fact, my manager has criticized me more than once for being "too nice" i.e. that I should stand my ground more, or push people for things I depend on from them.

To be honest, I've found that "highly opinionated" engineers can end up preying on those who don't stand their ground. They can use them to push their own opinions through, devalue the others work, and therefore view the other as less important than themselves.

I would take your manager's criticism to heart. It will take time, but you must push back for your own reputation. My only hope is that your manager can moderate when they see you're drowning.

probablyfiction 1 ago 0 replies      
There are a couple of things going on here.

First, you are not in a good place mentally. Your self esteem is pretty low and that is the reason you feel like such an outcast at work. Since you're at a big 4 company, odds are good that you have an Employee Assistance Program available to you for free. They can get you set up with a therapist where you can start exploring these issues. The therapist is prohibited from sharing any of this with your employer. Unfortunately, most EAPs only cover a few sessions. In my opinion, though, the benefits of therapy are well worth the cost.

You have to get your emotional issues figured out before you can find the kind of fulfillment you're looking for. Even if you get another job, you will just wind up repeating this same scenario at the next place. I don't doubt that the work culture may be terrible, but the emotional issues you have going on are a core reason you're dealing with this stuff. Your boss is right, you are too nice. Part of being a healthy person is having healthy boundaries. You give and give and give, thinking that it's going to make people like you, but it has the opposite effect because it's just not normal. The end result is that you get excluded.

Second, software hiring is TERRIBLE. It's not just you. I just spent three months searching for a programming job. I got rejection after rejection (usually for doing poorly on those fucking logic puzzles) and it really made me start to doubt my level of expertise. I started making changes to what I was looking for. I changed the target seniority level. I started to lower my salary requirements. Then...boom. I landed a job with the right seniority level for my skills and a salary right at my original target. Now I'm working at the type of company I want, and I'm going to be moving forward in my career. I'm incredibly lucky (and thankful) this opportunity came along or the software hiring process would have convinced me that I simply didn't have the level of skill I thought I had.

Your ability to solve a puzzle is (usually) not indicative of your ability to solve real world business problems. The exception, I think, is at those big companies like you're applying to. So, you need to get better. Fortunately there are a ton of resources out there. If it's important to you to keep working at a huge tech company, then this is the only way to get in unless you have a personal connection. Read some books. Study like it's your job. Eventually stuff will start to make sense.

You have to believe in yourself in order to keep the job search going. That ties into your self esteem. Seek out some counseling, and start studying those brain teasers. You'll get to where you want to be.

danenania 1 ago 0 replies      
A lot of people are focusing on the depression and job issues, but it sounds like your marriage could be a big part of the problem. You already know what you want to do--this decision is yours, not your wife's.

I know fighting sucks, but this one is worth the fight. You aren't doing either her or yourself any favors by condemning yourself to misery.

stjarnljuset 2 ago 0 replies      
Please do what's best for yourself and your health. One possibility is to take a disability leave for depression, or talking to a mental health professional may help you fight the negative thoughts. Speaking from experience, talking to my therapist helps to ground me and prevent my thoughts from spiraling out of control.

You deserve happiness and to be around those that appreciate you. Don't give up the fight.

bsg75 1 ago 0 replies      
> I feel that 1) I'll be forever with the current company and 2) if I'm ever laid off, I'll never get a job again because I can't solve the puzzles.

(1) You have an income currently, and that gives you time to explore new opportunities, be that education or employment. Take the time to find something that you will fit your needs, instead of only the other way around.

(2) I might be getting testy in my later years, but if I company wants to interview me with "puzzles" I question their judgement, and thus my interest in working with them. I believe that interviews are two way discussions, and if the hiring team turns them into games where they have the advantage, I would look elsewhere.

donretag 2 ago 0 replies      
Do not let yourself be defined by your job. Even though you spend most of your waking hours at work, you are still more than that job. Any job. Even if you are the weakest link at work (someone has to be), you are still more than that.

Seek validation outside of work. Collect that Big 4 paycheck and remember to enjoy the rest of the day. You are still living a better existence than perhaps 90% of this Earth.

kazinator 2 ago 0 replies      
> I used to be good at puzzles

Was that right after university? Doh, of course! The whole concept of science and tech academia is built on one puzzle after another; you're brainwashed with them as a new graduate. You're still brandishing that newly honed examsmanship when you go into interviews.

You were good because of training; you can't get back into that game without that training.

powmonk 1 ago 0 replies      
Yeah, that sucks. You seem to be in a really bad place mentally though, which is going to massively amplify any feelings of rejection, so bear that in mind when you're beating yourself up. You could just be down. I found that getting help, reaching out and realising I had a problem was the biggest step in getting better. I still get depressed from time to time but I can see the signs now so it doesn't ruin my life anymore.

As for the interview, so what? Keep trying. It took multiple interviews for me to find the right fit. Not getting the job doesn't mean you are shit or worthless. Those puzzles are of questionable validity anyway, maybe the interviewer was a bit crap.

Either way, rejection is part of life, you need to pick yourself up and keep trying until you find the place you need to be. That's going to be near impossible if you're depressed though, and it sounds like you are so look for some help.

Good luck

monkmonk 5 ago 0 replies      
Don't spend your life doing something you don't completely love. Quit and do something you love completely.
joyeuse6701 2 ago 0 replies      
Hey, I'm a software engineer just like you, I was laid off and spent 6 months trying to get a job. It took awhile to get a job offer, and then took awhile to find the right one (I applied to 40+ companies). I went through a deep depression with every rejection. It was very discouraging. As you say, it can feel hit or miss, and it's tough to get the answer right under pressure, and very difficult. So here's my advice from my own experience:

1. Absolutely go find a therapist. No matter the stigma, even if your wife or someone else disapproves. Find a few that seem right, and pick the one that feels best, and they will help ground you in reality.

2. Consider Meditation. Research it online, whether it's literal guided meditation (headspace and calm are good apps for this) or in another form (sport, gardening, hobbies). This can help you get by in some tough spots.

3. Improve yourself. If you had not practiced for interviewing, you can start and apply again in a few months. There are many resources (hackerrank, Cracking the Code interview) etc. Practice over and over, that's what makes good people great. You will fail more times than succeeding and that's fine, there's no reason to be ashamed. Just don't quit. Many of the great people of our day became great through practice. If engineering is what you care improve, or you're passionate about something else, then start practicing and improving in that. It'll help with your self worth when you can see your own progress in things you care about. Be that a cool raspberry pi project, a dinky website, or something else.

If it all sounds rather handwavy and you'd rather stick with a concrete approach consider: Serotonin, Dopamine, Endorphins, Cortisol. Begin activities or methods that will regulate/raise the former three, and lower the latter. Finding the motivation to do any or all of these will not be easy, you probably won't want to many days, as that can be the nature of depression, but start with one, or a little bit of one and build. Any of the above can help with that.

Stay the course and remember, you are more than a job, more than what your peers think of you, more than what your manager thinks of you, more than the puzzles you could or could not solve, more than your perceived intelligence, more than your savings, and more than what your wife thinks is OK when it comes to staying or leaving your job. You have all the tools to be happy, you just have to sift through the clutter to find them :).

richardw 1 ago 0 replies      
Are there resources you could use inside the company? E.g. a coach/therapist? I think they'd be super-aware of the stresses of working in the business and honestly it's the closest fastest way of getting some support that I can think of.

Just talking it out on a regular basis with someone who knows the pressure. You're not the only one at that company feeling like that.

If you have (in the past) thought yourself smart and capable and liked, then you can find your way back to that with a bit of help.

Once you have a bit of a better emotional/skills platform and more resilience, then you can choose if you want to stay or go, and you'll find you've strengthened your position for new jobs. You might also find that your environment is pretty good, once you're more able to handle the pressure and BS that it comes with.

foundersgrid 2 ago 0 replies      
Start working on a side project!

With a side project you'll:

1. Create something other people will hopefully enjoy to use.2. Have an opportunity to flex your skills.3. Gain feedback from users who want you to improve (much more valuable than feedback from ego-driven team mates!)4. Show others (users, the community, team mates and companies) how badass you are.

patmcguire 2 ago 0 replies      
If I'm wrong, ignore this.

Take a vacation. A scheduled vacation. Partly because you deserve a break, but also because everyone will come scurrying to make sure of a steady transition, and they'll miss when you're gone for a bit, and then you realize people freak out when you're gone, which is a certain sort of value.

throwaway_monty 1 ago 0 replies      
If you're laid off, I'm pretty sure you'll have an easy time getting into a not-big-4-tech-companies. Big 4s are pretty great resume boosters.

It sounds like you lack assertiveness. Its nothing to be ashamed of. Navigating social situations is hard.

Do you like you? Do you have people around you that like you? If you have those things, having a troubled career can be okay. If you don't, you make yourself a lot more vulnerable to bumps along the way.

mariachiloco 1 ago 0 replies      
>> Death doesn't seem so bad anymore. Now I'm dumb and worthless.

It's not a reason. People with down syndrome can live happy lives, why not you?

>> I don't have the option to stop working for a while. I have the savings for it, but it's unacceptable to my wife.>> I don't know what to do.

Don't talk negative about yourself to your wife. That's the only relationship advice I can give you.

andrewstuart 2 ago 0 replies      
Whether or not you pass job interview with company X or company Y says precisely nothing about your value as an employee or as a person.

It's like dating. Either the fit is there or it is not. In most cases not (for most people). Just keep dating till you find there's an easy fit. Same with job searching.

raverbashing 1 ago 0 replies      
Oh, a "Big 4" rejected you. Are they the only companies that exist?

Oh you fail their stupid interview process? So what?

The opportunity you seek may be in a "Medium Many". Or in a "Startup Some". But it's harder to hear about them if you don't actively look for it

mathattack 1 ago 1 reply      
OP - A lot of people can say that you'll figure this out. And you will. If you can get into a "Big 4" tech company doing engineering work, there are a lot of other places that will hire you.

But please get professional help first. You can look into your company's Employee Assistance plan, or outside, but what you are going through could be a chemical imbalance in your brain that you just can't control. I've lost folks close to me to this, and there isn't a rational plan to solve this other than to talk to a mental health professional. There is no stigma to this.

lsiebert 2 ago 0 replies      
Working with smarter people in the room who give you valuable feedback on your code (valuable assumes they don't just just tell you what to change, but also why, so you can make better judgements) means you are becoming a better developer. You are lucky to have that.
deedubaya 2 ago 1 reply      
Tell me about something you accomplished today. Tell me about something you accomplished last week.

Tell me about something you intend to accomplish next month.

Give us a view of your world from a positive perspective. In doing so, you'll find not everything is bad. This is the first step in the right direction.

youtuzu 2 ago 0 replies      
Go see a doctor to prescribe you anti-depressants and call the suicide hotline when having dark thoughts. Then, divorce your wife. Clearly you're not in a happy marriage if she cannot see that you're unhappy and will not support you.
MorePowerToYou 2 ago 0 replies      
Talk to a professional. Don't take those stupid interview puzzles too seriously. Interview with other, smaller companies after taking a break. I did the above three things and couldn't be happier with my current job. Be patient with yourself.
reacweb 1 ago 0 replies      
If you used to be intelligent and good at puzzles and have difficulties now, it may be caused by sleep apnea (https://en.wikipedia.org/wiki/Sleep_apnea). I have moderated sleep apnea and since I take my medic (5 month), I have seen big improvements in memory and a slight improvement in my relationship with other people.
AlexOrtiz201 1 ago 0 replies      
Life is more than your day job, and depression is a hole only you can dig yourself out of. Food for thought, maybe it isn't your niceness, it could possibly be that your misery is bleeding out; it could be depressing being around depressing people. Good luck and really think about how temporary your life already is, don't miss out on it cause of the struggles.
throwawayy777 2 ago 0 replies      

PLEASE POST AN EMAIL ADDRESS. Just make a fake one. You need to know something.

back_beyond 2 ago 0 replies      
You are not your job. Fuck it.
goldenkey 2 ago 0 replies      
Just quit. You probably have some savings. Don't continue working for Amazon and receive death by 1000 papercuts. Just quit while you are ahead and start studying mathematics or something that you actually enjoy.
hkmurakami 2 ago 0 replies      
Many of the best engineers I know (who are also nice people) can't pass a Big 4 puzzles interview to save their lives. It definitely does not make you a lesser engineer to no longer have the toolbox to solve these (after all, they're rather useless on the actual job).

> I used to be liked by my teams.

How is your personal social life outside of your marriage? At least for me, my darkest times were the times when I didn't have close friends to spend time with on the weekends and after work, where I truly felt safe to "be myself" without worrying about my every word and action being judged.

innertracks 2 ago 0 replies      
Been down in the deep depression pit of darkness myself. Your career isn't worth losing your life.

There's lots of good advice in these comments. Don't make any final decisions in your current state of mind. Seriously. Seek help out of the darkness. Finding a therapist who is a good fit may take some doing.

For some great perspectives:



ipatriot 1 ago 0 replies      
Hey, I hope you get your spirits up and you get a job you want more in the future.

For the "not feeling intelligent", I've had that happen to me, but this book called, Mindset the New Psychology of Success, really helped me because it teaches you that hard work, dedication and willingness to learn are what made you smart, not that you were born naturally smart.

PureSin 2 ago 0 replies      
Hey, don't be too hard on your self. I failed interviews from Big 4 and a lot of other startups too. There are tons of false negatives as a part of the interview process.

Just focus on yourself and your job.

jsmith0295 2 ago 0 replies      
It sounds like your primary problem here is anxiety. You may want to look into seeing a psychiatrist and getting some medication. It's been very helpful for me, especially in social contexts like pull requests. But without or without medication, it's a problem you need to be mindful of and work towards on a daily basis. It isn't easy, and I frequently find myself feeling a lot like what you're describing, but it has been getting better for me. Don't give up.
fsloth 1 ago 0 replies      
You sound exactly as my wife (who functioned as a R&D engineer and radiation safety officer at a high tech company) over a year ago - I had to drag her to a doctor. She was diagnosed with depression. In the end she finally found sufficient help (psychiatric treatment and a therapist that understood her). Things are slowly lighting up.

Please seek help immediately. I'm sorry I can't help you more - different continent.

partycoder 2 ago 0 replies      
First of all, your problem starts before the interview.Before an engineer, you are a human being. Think about the balance in your life. Once you understand how to balance your life, you can proceed to worry about your occupation.

Think to which extent your external and self criticism is factual and fair. Before dealing with opinions, deal with facts. What are the FACTS behind the opinions? are they true? is the opinion proportional to the fact? And work your way through there.

davelnewton 2 ago 1 reply      
Get actual, immediate help. ASAP.

Unrelated, but the issue w.r.t. your wife is probably something else that should be discussed, but it's secondary to the immediate issue.

As soon as you reach the point that "death doesn't seem so bad anymore" you need to take a step back and put things in their proper perspective. If you cannot do this yourself, or feel that the risk of attempting to is too great, then you need to put your trust in someone else until you're rational again.

arenaninja 1 ago 0 replies      
For me, puzzles are 50/50. I'm not employed by the Big 4, it's not a goal of mine, but with some effort I'm confident I could land a job there.

The issue with puzzles is that they're not relevant to any of the work I do, and if they are it's tangential. I probably lack some insights that people who code day in and day out do, but I doubt it. I was in Austin over the weekend for a tech presentation thing, and I overheard this conversation:

* P1: So what are you working on now?

* P2: Oh, I'm working for a shadow startup

* P1: Nice, what's the stack?

* P2: It's redis, NodeJS and (something I don't remember)

* P1: Cool, that's awesome

To me that sounded like brogrammer culture talk. And P2 turned out to be the one giving the presentation. At the end, I wasn't impressed, there were several mistakes, like giving people who are just starting out code that didn't run, and never trying to run the code in the first place. I asked that we run the code before everyone was dismissed and everyone walked out with a working version

I lost my original point, but it's unlikely sucking at puzzles makes you any bad. Take any criticism in stride, it's unlikely to be a personal reflection of you, defend a point if you have it. You are not your job. Find a hobby?

imron 2 ago 0 replies      
> I don't have the option to stop working for a while. I have the savings for it, but it's unacceptable to my wife.

Don't stop working - if you're not careful it can exacerbate depression and you'll find out in 1 year that you're still just as depressed but now you don't have any savings either.

Find a better job. It doesn't have to be Big-4, but you need to be doing something productive with your time.

exo_duz 1 ago 2 replies      
Dear OP,

I'd like to share some of my experiences with what you're going through. Bear with me, it might get a little long.

I've been planning to move to SF for since 2 years ago and came here to look for jobs in January 2015. I was hit with a brick when I realised that the interview process is so different to what I have come across.

I have 15 years of website programming as a full stack developer and each time I had an interview in the early stages I would feel useless and inadequate of my skills. I wasn't prepared for all the questions they asked. Overseas it would be asking about my experiences and checking my past work but never puzzles, coding challenges, coding assessments and the likes. I have experienced the full range of coding challenges from your cryptic short ones, matrices, algorithms, data structures and week long real world challenges.

Some of my worst experiences include:

1. a technical interview from a recruitment firm asking me questions about type juggling (http://php.net/manual/en/language.types.type-juggling.php), when I didn't know them asking me 'are you even a programmer?' and then hanging up on me.

2. being cut short at an onsite interview because I didn't know how to whiteboard a solution and them telling me that 'there's no point in continuing the interview'.

3. being treated like shit, given the run around, getting ignored or never getting replies after I did their coding challenges and assessments (seriously it's not that hard to just give a reply if you don't want to continue with the recruitment process). Hey, I took the time to do your coding assessment the least you can do is provide me some professional courtesy.

4. doing a coding challenge with a time limit and the company giving me the run around and finally telling me that they couldn't get the program to run even though I have a live version of it and sent them instructions. They then told me that they would've preferred for me to ask questions rather than take it upon myself to try to solve the problem.

My skill set is quite diverse and isn't just in programming and I normally avoid applying for the 'big 4' because I know that I will never be able to do their coding assessments and challenges. I have failed more interviews that you can think of. I have roughly spent the last 1.5 years trying to get a job here in SF and I have had some of my lowest moments in my professional career.

Being rejected, not knowing how to answer interview coding questions and not being able to whiteboard will hit your confidence hard. I will admit to that. There were lots of times when I questioned myself whether I was a good programmer or not, whether if and when I get a job that I would be able to perform the tasks that were given to me or not.

From some people I have talked to, the interview process has changed dramatically in the US, especially in SF. This wasn't the case a few years back. (correct me if I'm wrong)

I have always thought that the coders in SF and Silicon Valley would be of a higher calibre as this is the mecca of the tech world, just like if you want to be a movie star you would have to go to LA to make it big.

Think of it as your audition, sometimes you pass, sometimes you get a callback but more often than not you fail and won't get a callback. It's just how the game is played. Remember the saying, don't hate the player, hate the game. And these type of interviews aren't going to change anytime soon, so I have learnt to accept it and roll with the punches.

1. Be prepared, but understand that you only know what you know.

2. You can't prepare for every coding challenge (but the ones I have experienced most are matrices, data structures (hash tables, trie, etc), fetch JSON payloads and array/string manipulations.

3. It is just an interview and nothing else.

4. Think of the positive in each failure, what can you learn from it, what you can improve from it and hopefully use it next time.

One thing I have learnt is that just because you don't know how to answer these coding questions does not mean you don't know how to do your job. You have to find a company which is willing to see past that and hope that a company will see you for who you are to the company and not what the company wants you to be.


As for your mental side. I also suffered from mild depression because of an unrelated issue a while ago.

Please, please, please talk to someone. Your family, friends and support network is the best way for you to get over it. When I had my problems, some of my friends stayed with me for 1 week without leaving my side to make sure I was ok. I had my mum and girlfriend then, now wife fly back to see me and make sure I was ok after just leaving the week before (I was living in Japan at the time and they were in Australia).

There are people out there who can help. Hotlines and the such where people will talk to you and help you out. (I'm not too sure of them in the US, but other comments have got numbers for you).

Your wife will understand the situation, talk to her, make sure she knows how you feel. Don't keep it closed and bottled up. My wife supported me trying to find a job in the US for the last few years. I have been back and forth from US to Australia 4x in the last 1.5 years trying to get a job here in SF and yet she still supports me. Even through arguments, I know she still loves me. Your wife will do the same for you. That's why she is with you right now.


Good luck.

Please DM me on HN and I can give you my email address or phone number and we can catch up if you're in SF.

PS. I'm still looking for jobs just in case anyone is wondering.

snarfy 1 ago 0 replies      
I won't interview at places with interview puzzles anymore.

A day long interview can cost between $500-$1000. They would get much better results if they paid that money to the prospective employee in exchange for solving a small business task and examine their solution.

simonebrunozzi 1 ago 0 replies      
If you are in the Bay area, I'm willing to meet you and try to give you some in person advice. Friends tend to highly recommend me as a "career mentor" and hopefully that would work with you too. my HN username @ gmail.
programmarchy 2 ago 0 replies      
Sounds like it may help to practice being more assertive. The way you described how you're treated by your and employer and wife sounds like a doormat. In my experience, not voicing your own needs/desires can really take a toll on your feeling of self worth. Finding a good therapist really helped me in that area. Best of luck.
ashishm 1 ago 0 replies      
I have seen the same and come through it. Skype me at ashishm001 and let me try to help.
palerdot 1 ago 0 replies      
You are suffering from depression. So all your thoughts should be taken in that context.

PS: I'm also suffering from depression. But I have learnt to take my thoughts relative to my current mental condition. That doesn't make things any easier but gives a solid mindset to see through things.

igauravsehrawat 1 ago 0 replies      
While most people are giving positive sugar coated advice. I would say do the right thing. Stand up for the right thing. If you submitted the PR, stand up for the correct thing and describe it to criticizers, take the feedback and loop over. Life isn't all sunshine and rainbow...


throwaway994882 1 ago 0 replies      
It's probably been said further down, but given how important it is to say, if you're having those kinds of dark thoughts:

Go See A Doctor.

Not next week, not tomorrow, call and get yourself in today.

Go See A Doctor.

kafkaesq 2 ago 1 reply      
Interview puzzles are so hit-or-miss. No matter how many of them I solve, I always stutter when I'm faced with a new one. If the problem is new, it either "clicks" right away or I bomb the interview. No middle ground.

It may helpful to consider that the current interview system is, literally, designed to make you fail.

That is to say: not with 100% certainty -- and on some level, they want at least some of the candidates to succeed, some of the time -- but on another level, it quite deliberately designed to (1) quickly segregated candidates into easily identifiable "badass 10xer" and "worthless poser" categories, and (2) do so with a high, if queasily acceptable false negative rate; along with an allegedly low false negative rate.

That is: it's known to be noisy in both directions; but it's generally considered to be OK -- and many people say this quite openly -- to flush out a whole lot of potentially good candidates if it minimizes the chances of passing a single bad candidate. So it's not that they want you to fail outright -- just that if you aren't clearly and immediately identifiable as their guy/gal, then they want you to "fail fast", as the saying goes, and to do so in a way that you can be easily labelled as a "failure" and a "washout".

Hence -- the whiteboarding sesions; the logic puzzles; the Fermi problems; the "no matter what answer I give they'l find a way to pick it it apart" style of questioning.

Point being -- yes it's a game; yes the rules have changed significantly in recent years; and yes, it's very much rigged, or more delicately put: cleverly optimized to save time and resources (including attention and emotional costs) on the hiring side, at the expense of the those same resources on the candidate's side.

My thoughts are descending into the darkest reaches. Death doesn't seem so bad anymore. Then I don't have to think about all this.

I don't know where I went wrong. I used to be intelligent. I used to be liked by my teams. I used to be good at puzzles.

Now I'm dumb and worthless.

I don't have the option to stop working for a while. I have the savings for it, but it's unacceptable to my wife.

I don't know what to do.

I'm very sorry to be hearing all of this. The good news is the current fad for puzzles and aggressive grilling session is, after all, just a fad. Not all hiring sessions are run this way; a great many aren't -- just keep rolling the dice, and eventually you'll get a fair shot, and find yourself sitting across from the table from someone who treats you like an equal and an intelligent human being from the get go. Rather than a secretly incompetent poser / washout / has-been / never-was waiting to be exposed.

Because it is after all just a game. And you only need the dice to turn up once for you to get out of the current rut you're in.

cuilyahoo 2 ago 0 replies      
I haven't read the other comments yet.

But all I say is, there are far worse people in life with far worse things happening to them "Death doesn't seem so bad anymore" is exaggeration.

Believe in yourself!

grandalf 2 ago 0 replies      
Check out the book "Man's Search for Meaning" by Viktor Frankl.

The book offers a fascinating study of the way that meaning drives and sustains us.

lostmsu 1 ago 0 replies      
Seems a lot like trolling.But the answer is - go to the next interview.
source99 2 ago 0 replies      
Read the book Bounce by Matthew Syed. It was pretty entertaining and gave me a whole new perspective on raw intelligence vs learned skill.
norin 1 ago 1 reply      
Cheer up and speak to someone. I was rejected by one of the big 4, I laughed it off and life went on.
daurnimator 2 ago 1 reply      
Aside: who are the "Big 4" tech companies? I haven't heard it in the tech industry before (only in accounting and banking)
j45 2 ago 0 replies      
One thing to remember is the interview is two ways. It's not a judgement or indictment of you now or in the future capability.
kelukelugames 2 ago 0 replies      
I help my friends do mcok interviews. We always chat about how they think they did. People are terrible at self assassment.
wprapido 1 ago 0 replies      
major depression, a textbook example. go get professional help. i was in the same boat, bad enough that i was kind of out of work for like 2 years
asimuvPR 2 ago 0 replies      
Feel free to email me. I care.
alien3d 2 ago 1 reply      
May I know what is BIG 4 tech companies is ? I only knew big 4 accounting.
ianai 1 ago 0 replies      
I wish HN had more of these posts, for the support.
facepalm 18 ago 0 replies      
Apart from the depression other people mention, how do you do with problems on sites like HackerRank?

Personally I can not take coding problems in interviews that seriously. Surely, it seems to me, the point is showing off your thought processes, not actually solving the problem. Solving the problem might be a matter of luck - sometimes you happen to try the right approach, sometimes the wrong one. Or even having heard about some particular algorithm is luck, nobody can know them all.

One perhaps slightly more realistic variant I have seen was when they gave me the specs for an algorithm and I had to implement it.

Probably many interviewers see it as a "solve it or bust" thing, but then it is their loss.

fapjacks 1 ago 0 replies      
Just to address the depression and anxiety issues:

1) Take a shower and do a load of laundry.

2) Go for a run.

3) Take another shower and put on clean clothes.

4) Eat leafy green vegetables like lettuce or spinach.

5) Make an appointment with your doctor.

I don't know if you're there yet, but these three things (get clean, do some exercise, and eat a healthy diet) actually work fairly immediately in most cases. I've been through years of really bad depression and anxiety (PTSD) after a long time in the infantry and helped many friends with similar issues. Everybody's different, but there's a strong chance at least one of these things will help. And even if they don't help, you've made an appointment to see a doctor.

BuckRogers 1 ago 0 replies      
Just another POV. Be glad you actually have a job in your industry of choice. I've been trying to make a leap to a fulltime programmer for a while now, and failed some interviews. I'm not even doing what I want to anymore and my fear is that I can't even accomplish it at this point in my life.Everyone wants a damn genius or thinks they do, and I'm just a normal guy who enjoys programming.

You have fulltime, real dev experience. You won't have a problem getting another job, but it won't be overnight.

You're already set, you just don't realize it. I'm actually envious of you (in a healthy way). I'd probably spend more of your time watching out for that wife you have honestly, that raised an eyebrow for me. Without kids in the picture you can always easily bail.

ex3xu 2 ago 0 replies      
Sounds like something that Carol Dweck's ideas (http://www.aaronsw.com/weblog/dweck) could help with for you, when she talks about fixed mindset versus growth mindset. Right now, it seems like you are looking for present-tense validation from the external -- "I used to be intelligent... but now I'm dumb and worthless. [drawing evidence from criticism of pull requests and a failed interview, which are normal and perfectly natural challenges for someone starting out in their career]" Whereas a more effective way to try to frame your conceptions of yourself and human beings in general may be to take a future-tense inclusive view, where your current challenges are considered as opportunities for your future self to become more skilled and intelligent.

It's natural for intelligent, scientifically-minded individuals to tend towards a fixed mindset, where you create hypotheses about yourself, collect evidence based on your performance on objective measurements, and draw durable conclusions from that evidence. But while this may work for physical laws in physics or chemistry, human beings change and grow in response to stimuli -- so in fact that most intelligent version of yourself possible is the one that overcomes all your current challenges, instead of becoming discouraged by your current inability to overcome those challenges in the past.

There is no need to base your own consideration of your own worth as a human being from your ability to solve interview puzzles or submit code requests. Simply take a vow to yourself to forgive yourself for even your most painful failures. Do not view them as evidence against yourself, proving your adequacy or inadequacy -- instead try to come to view your failures and challenges as stepping stones towards a more skilled future version of yourself. And try to understand that when someone criticizes you, it is because they want to help you improve. That was and still is a difficult one for me.

About your social status -- people tend to take unconscious cues in how they think of someone from how that person views themselves. The goal is not to edit your actions until you have convinced them to like you. (See Bill Murray's character from Groundhog Day.) Instead, once you come to like yourself by finding ways you can be of service to others, and view yourself as part of a greater whole -- in the social scale of as a member of your community, as well as the time scale of past, present, and future you -- the friends and social invitations will come. (Dale Carnegie's book helps too.) To borrow an idea from calculus, try to care more about your dx than your x, and approaching the limit of the best self you can be.

:) I'm sure there will be a lot of other helpful advice given in this thread. If this particular line of thinking appeals to you like it did to me when I went through something similar to what you are going through, feel free to let me know as I have infinitely more links on this from that time in my life.

hans144 1 ago 0 replies      
i am at a Leadership level at one of the top 5 retailers. i generally read HN but never write..so this is my first attempt to comment.

i have interviewed about 300 people in 4 years and built at team of 50 or so engineers (full time). i manage about 15$ million in personal budget and about $30mm matrix budget.

first of all, i agree with many who said you are already doing really well being at top 4. many times i have seen folks struggling like you are (as once i did when i was a developer) and that burden can be reduced by two things.

1. your learning to understand your emotional intelligence. 2. your understanding of how your team mates work.

read or listen to John Maxwell's books or read emotional intelligence.

Many of us look past our accomplishments and continue to look at unrealistic expectations. i know i will never be Steve J or Elon M. so i have made peace with myself of setting realistic expectations from my life though i strive to move higher in life and job.

in addition, since you are already are at big 4 and are not yet laid off means you already are valued. perhaps you need to have more 1 on 1s with your coworkers and give them chance to give you feedback.

take them out for lunch and ask for honest feedback but request of them "hey i know i am not perfect, but can you give me honest and constructive feedback without making it a complaint<read bitch> fest so that i can improve myself?"

i was really smart coder but i had one downfall i have pretty shitty memory when it comes to memorizing definition, but i can program like hell. i had very hard time passing interviews in backward places like central USA. then i decided to move to north east and since than i have increased my salary 6 folds in 8-9 years and generally get raises every 6 months. i am the youngest person in my position in the companies history.

what i am pointing out is that may be a change is good for you if you are unhappy.


lets look at the positives:

you are living in the best times in the history (you can fly wherever you would like, you eat and drink whatever you like,...)

life is so beautiful..the world is so beautiful just take a break and time to appreciate it. you should never think about hurting yourself..espeically if its about money because they fucking print money left and right..you just need to go pick it up. its everywhere.

i came to this country with my parents who worked at Albertson's grocery store for $5.15/hr.

my total salary in 2005 was 11,200. today i make quarter million and have good investments. my parents are healthy, as my daughter and wife.

life should be appreciated. money is not everything...job is not everything...if you are intelligent which you MUST be because you are at top 4 tech co. then the piece you are missing is inner peace.

Mz 2 ago 2 replies      
avn 2 ago 0 replies      
Complete all these questions and interview again until you succeed: https://leetcode.com/problemset/algorithms/

Go for a free Vipassana meditation course: https://www.dhamma.org/en/locations/directoryhttps://www.youtube.com/watch?v=kTwaTk26qbE

Take your wife partner dancing: https://www.youtube.com/watch?v=v9xxeWRxSbA

Good Luck!

Ask HN: I'm 28yo. Should I start college now, or get real world experience?
19 points by Calist0  1 ago   36 comments top 19
DrNuke 1 ago 0 replies      
Real world experience = living and working together with other people = social skills. The 6-12 months bootcamp is probably the best ROI you can have: not too long in time, very demanding and job oriented, face to face with other people. You may also want to get in touch with former poker players turned developers, just send them an e-mail, they will probably tell you more from the perspective you really need. Good luck!
EnderMB 15 ago 1 reply      
Can you not study part-time? When I was studying CS, there was one older guy in his thirties who was already a programmer for a defense contractor. Simply being a professional programmer put him ahead of plenty of others in my class, leaving him with the task of purely getting his head around the theory while supplementing the programming knowledge he already had from working. When he graduated, he ended up studying for a masters full-time, and then he joined Microsoft.

In terms of finding work without a degree, it's not impossible, but I'd be prepared to start near the bottom of the ladder, underneath the graduates. A dedicated developer will do well regardless of their education, in the same way that a shitty developer will still be shitty even if they have a top-tier CS degree. I've worked with incredible developers with little to no education, and shitty developers with Oxbridge degrees. If you're looking to study part-time, that probably won't matter all that much anyway. When you graduate, you'll have several years of solid experience, and you'd be in a much better position to evaluate what you need to know before joining a big company.

nicholas73 14 ago 1 reply      
This is a no brainer - do both. Your school is mostly covered, so just build your portfolio along the way. Who knows, you might not find a job for a while. Not only this, by having something else going on you don't have to accept some rinky dink bucket shop offer out of desperation. You might also get exposed to new ideas and college girls.
buchanaf 1 ago 2 replies      
If I were you, I would honestly consider a top tier bootcamp if you can get in. Its typically 3-6 months and slingshots you directly into your desired career.

At your age (also my age), I just don't think there's is a ton of value in 4 years of college, especially full time. All things equal, 4 years of work experience is going to grow your skills and employability by magnitudes more than a college degree. I know many people who have gone through bootcamps without college degrees--dropped out or basically passed after high school-- and they were successful in getting jobs. Granted, they were very smart people. While I don't know if you would be able to get a job at those companies mentioned above (certainly possible), I don't think college degree would help at all, but 2 years of solid software engineering work experience might.

-thoughts from university and bootcamp grad

coralreef 1 ago 1 reply      
I started learning programming at about 24, I'm 28 now and have been an indie developer since starting. I completed a 6 courses at a local university for a programming certificate. To be fair I haven't started looking for a job, but I might after this year.

I wish I just went to school and got it over with. When you teach yourself you'll come across topics that you wish you were exposed to sooner, and would probably help propel you further and quicker. For example, one of my courses covered data structures and algorithms, but barely. If I want a job I still need to learn how to practically implement them and practice, which is a difficult choice to make when I could be working on products. I might not have the discipline to teach myself algorithms/data structures today because I mostly don't care about them, but if it were a school assignment I would have done it and learned it.

totalcrepe 15 ago 0 replies      
If you have any bachelors then you should be able to add a BSCS with about a fulltime year of credit. I would do that part time over 4-6 years, ideally while working somewhere that pays for it.

If you don't have a bachelors, I would recommend getting one. But again, you can find somewhere with tuition reimbursement and do it slowly.

(If you already have another STEM degree, I would consider a masters that builds on it and requires programming before seeking a CS degree at a level you already have in another science.)

I finished my bachelor in my 30s, and I am glad I did. It is one less thing to worry about when looking for a new job, debating if I want to rock the boat changing the terms of my current employment, etc. It also lets me work in markets that are tough without any degree and continue to dictate most of the terms of my employment when the economy is in a down cycle.

While I get very similar things from MOOCs as from my degree, it is nice to have had the in person lectures as they seem to trigger a different kind of memory bootstrapping when I am drawing a total blank. I just wouldn't pay for them myself at the US market rates.

_RPM 7 ago 0 replies      
I will be graduating college this year, just a few days after my 26th birthday. Don't worry about age.
taxicabjesus 1 ago 0 replies      
Somewhere in my stacks of books there's a copy of "The Screwing of the Average Man", by David Hapgood [1]. One of the chapters points out that College was originally something wealthy parents to send their children to, so that their offspring would have a leg up on the underclass. When hiring to fill a position, those doing the hiring would choose to go with the college graduate because they were "obviously" a better candidate for the job.

Then WWII came to a conclusion, and lots of newly unemployed veterans had nothing to do. According to Mr. Hapgood, because the Congress didn't want a bunch of PTSD'd young men wandering around, they started the G.I. Bill. [2], which paid for retired soldiers to go to college too. Thus began the college cost spiral.

I suffered through a computer science degree. It is a piece of paper hanging on the wall.

If you choose to start a college program, you have to be very focused on what's important to you about the courses that you take. I most certainly would NOT start out full time... Maybe take two courses to get a feel for the institution. You'll probably find that you're perfectly capable of teaching yourself quicker than any course you take.

[1] https://books.google.com/books?id=-PJ0DLVOIXcC (I don't agree many of the "screwings" that this book describes, but it does have a good point about college)

[2] https://en.wikipedia.org/wiki/G.I._Bill (my one WWII grandfather had already graduated from dental school, so he used the GI Bill to learn to fly a plane. My other grandfather had no interest in "more school", didn't take advantage of it, and barely scraped by for a long time)

NhanH 23 ago 0 replies      
There is at least one other poker pro turned programmer, who ended up at AirBNB in his first job. http://haseebq.com/farewell-app-academy-hello-airbnb-part-i/

You can search for the discussion of that link on HN.

mrits 1 ago 0 replies      
There are big differences in how demanding Universities are. I'd go to one that is known to be easy and try to graduate in 2.5-3 years. Between summer classes and permission to take more hours you can really accelerate things.
stevenwiles 9 ago 1 reply      
I don't think you will be able to get a good software job starting so late. Sorry, man. Good luck trying something else!
runesoerensen 1 ago 1 reply      
There's some good advice in this post[0] by Sam Altman as well as the two extensive discussions[1][2] it has sparked on HN so far :-)

[0] http://blog.samaltman.com/advice-for-ambitious-19-year-olds

[1] https://news.ycombinator.com/item?id=5934698

[2] https://news.ycombinator.com/item?id=7696844

brianwawok 1 ago 1 reply      
Here's one plan... Start applying for jobs and do a college application for the fall. No jobs in a month? Try school.

It's a tough pickle. College helps so much for your first job. But 4 years of your life could very likely be used for not much.

Me personally I gained a lot from school. But you don't need it to code some apps.

hallz 1 ago 0 replies      
It will be difficult to get a job at a big company without a degree.

If you can afford it studying full time is probably a better experience (lets you focus and enjoy the lifestyle). Otherwise work and study part time.

Good luck!

MalcolmDiggs 1 ago 0 replies      
How about both? I worked full-time through most of my college years, as did many of my classmates. It's rough, but not impossible. Night classes, early morning classes, online classes, etc.
5_5 22 ago 0 replies      
Get a job first. This will open your mind and will help you identify what actually you want to work in software development.
ashitlerferad 1 ago 0 replies      
Jump into Open Source and learn on your own time.
nicomfe 1 ago 0 replies      
check this out, might be useful if you dont wanna spend thousands in regular uni, https://github.com/open-source-society/computer-science
cup 1 ago 1 reply      
What do you have under your belt so far?
Ask HN: Did I miss a thread about this $900M acquisition?
6 points by webtechgal  15 ago   4 comments top 3
dalke 15 ago 1 reply      
There were 5 HN postings about it in the last few days https://hn.algolia.com/?query=Media.net&sort=byDate&prefix&p... . The only one with comments (20) is https://news.ycombinator.com/item?id=12342889 . It was flagged, fwiw. There wasn't the sort of discussion you are looking for.
MalcolmDiggs 2 ago 0 replies      
Ad-tech is such an odd-space. Every glimpse I get of it is fascinating: huge scale at minuscule latency, hard engineering problems, super-high valuations and exits: and yet, if you told me the top 10 names in ad-tech, I probably wouldn't recognize any of them. And I think most people are the same way. It's just a weird black-box sector of tech that almost nobody talks about. Not sure why though...
wwalser 2 ago 0 replies      
This hit the front page of Medium on the day. I was surprised that I didn't see anything about the acquisition on HN as well.


Ask HN: What is the recommended way to create Windows desktop apps right now?
34 points by spapas82  1 ago   76 comments top 16
Raed667 1 ago 2 replies      
VisualStudio with a basic Windows Forms application in C# should be one of the simplest ways.

The default look is not that bad for a business oriented application, and the drag-and-drop features are really simple to learn.

Java Swing with Netbeans graphical editor would be my second choice if you like Java better than C#.

EDIT: From personal experience, I found that styling the application beyond the default look, was simpler in Java Swing, using look-and-feel packages. For Windows Forms (maybe because my lack of experience) I had to do most elements as images in order to get the style I wanted.

pux0r3 1 ago 1 reply      
I'm going to throw my vote in for the C#/UWP pairing. I am part of the prototype team where I work, and when I need to target Windows it's my weapon of choice. Sometimes I can't get access to something I need due to the sandboxing, so I'll drop back to WPF. I am familiar with forms, but I find that UWP/WPF's XAML is much easier once you get used to it. I would recommend against MVVM stuff if you're just prototyping or making small one-off apps, that is a time trap in those cases.

That being said, if you don't want to hit the more "Universal" part of the UWP and you just want to tie into shell commands/utilities, it's hard to beat Python with TKinter.

I'll also use Unity a lot (I was previously in games, and we do a lot of entertainment work). It's probably not what you like, but you'll be able to hit every non-embedded platform under the sun (including Windows and UWP, but also including Chrome, various TV's, &c). The UI system has improved a lot, and their (older) IMGUI implementation makes it super easy to wrap a UI around logic.

Finally, I'll add that (especially if I know that I'm building for a specific platform), it's hard to beat the native rendering APIs these days. They're all super easy (all being UWP/WPF, Android, iOS's UIKit, and macOS's AppKit), and will generally get out of your way. I've gone down the Xamarin route in the past, and it turned out to be overly difficult to build some simple apps (plus, I've had trouble deploying to Android in some instances).

mike_hearn 1 ago 3 replies      
You could use Java with Avian, which is a small embeddable, statically linkable JVM. It uses LZMA and aggressive dead code elimination to make tiny binaries. If you use it with SWT you get native widgets too, and they have an example which does exactly that weighing in at only one megabyte:


Creating such a tight binary isn't entirely point and click, but if you want a tiny self contained executable and don't want to assume a pre-existing runtime like .NET then your options are really only VB6 (classic), Delphi or VC++ and all of them will involve a lot of arcane wizardry too.

makosdv 1 ago 4 replies      
If you just want to make a simple Windows Forms application, I'd just use .NET (VB or C#). If you don't have Visual Studio, you can download the Express version for free.
pavlov 1 ago 2 replies      
Can you limit support to Windows 10 only? If so, you should go with the Universal Windows Platform.

UWP has got the latest and greatest tools from Microsoft, and it's more coherent and pleasurable to use than any of the older options. You'll get a modern-feeling UI with much less effort.

obihill 1 ago 0 replies      
I would just like to echo my support for Electron. I think it's one of the most important development platforms out there.

Of course, the great thing about it is that you can use HTML5 to build native apps on Windows, Mac, and Linux. As unique selling propositions go, you can't get much better than that.

As a Web developer, I am going to be using it soon to build a few apps and I'm really looking forward to it.

djinn_and_tonic 1 ago 1 reply      
I think it really depends on your skillset. If you're a node/JS person, you can easily make a desktop app with electron.

If you're purely targeting windows, and want this to be a 'traditional' desktop, then go with WPF. If you want this to be a 'store' app, you can use WPF or Javascript.

You can do all of this w/ VS Community edition, or if you're going the JS route, try VS Code!

pawadu 1 ago 1 reply      
Most people should write universal apps: modern language, modern tools, modern UI.

If you don't like that there is always Qt.

skilesare 1 ago 1 reply      
We are using electron with nice results. It is great if you already have a stable of js devs and you need to do something with the file system and or network access. We basically have electron load in our basic tool and then have shims that can go to local dbs instead of making web calls so that users can patch in to their own data without having to open a bunch of ports on their internal networks.
pentium10 1 ago 0 replies      
We use Xojo (former RealBasic), it's quite good it compiles native apps on all major platforms. Language is quite easy to understand and pick up, the resources are big, articles, conferences, libraries, and video material: http://www.xojo.com/resources/ If you want to check out some apps made with Xojo, you need to go to this FB group https://www.facebook.com/groups/127238180792805/
boduh 1 ago 1 reply      
What kind of apps do you have in mind? Care to share more details?
kohanz 1 ago 0 replies      
Not sure about recommended, but I develop a few Windows desktop apps that run on special systems (think a PC that is connected to custom hardware). We use WPF, which is an improvement over WinForms, especially in terms of UI look and feel.
TimJYoung 1 ago 4 replies      
We use Delphi from Embarcadero Technologies:



1) Solid, super-fast, single-pass compiler that produces native 32-bit/64-bit executables that can be deployed by copying them to the target machine (single, monolithic .exe with no external dependencies).

2) The language, Object Pascal, is statically-typed, easy to learn, supports procedural/OO/functional coding, and includes modern features like generics, RTTI, and class/record helpers. IOW, you aren't forced to code everything in a class, if you don't want to. The string support, especially the Unicode string support, is also very good.

3) The Visual Component Library (VCL) is still pretty good for creating Windows desktop applications (native, not universal "apps"), and you can skin your application for a different look and feel. Database access is also top-notch, and you have access to a pretty large set of 3rd party components that can be installed into the IDE as first-class residents of the IDE.

4) Development productivity is very high in the IDE, with a WYSIWYG form designer and two-way tools for coding the UI (what you do in the designer is reflected in the code-behind, and vice-versa).


1) The price is high, but they're starting to fix that with more special offers and will, hopefully, continue to move the price down.

2) Partly the cause of 1), the product has been mismanaged over the years and its developer base has dwindled accordingly. This was also partly due to the fact that C# grabbed a lot of their market share (as well as the original developers of the product, including Anders Hejlsberg, the architect).

3) The RTL and component library (VCL) need pruning a bit. They've got a lot of legacy code in there due to an almost-maniacal focus on backwards-compatibility.

4) The IDE is a bit schizophrenic and needs to be updated, but it does include just about everything you would need in terms of real-time coding with error highlighting, code-completion, formatting, Git/SubVersion integration, etc.

5) Memory management is deterministic, which makes it very fast, but does require a Create/Free cycle for class instances. An ownership model helps to alleviate this for GUI applications (forms "own" the component class instances that are placed on them). Also, strings and dynamic arrays are reference-counted and managed for you, and you can wrap class instances in interfaces that will allow you to use class instances in a reference-counted manner, also.

In summary, if you simply need something to create desktop applications for Windows now, especially for vertical market software that will be deployed on a lot of machines, then Delphi is a good solution and can be a technical advantage for your company if you know how to use it well. If you're looking for something that you can use to further your job prospects, then it might not be the best solution for you, and you might be better going with .NET/C#. But, be forewarned that application deployment can still be problematic with .NET - the developer edition of SQL Server 2014 refused to install on my development machine this week because the SQL Server .NET-based installer could not cope with something in the .NET installation on my machine.

umen 1 ago 0 replies      
Qt c++ best for Gui Easy , but needs dynamically linked , the license problematic sometimes
Khelavaster 1 ago 0 replies      
Visual Studio and WPF, with NuGet as a package manager. Use WiX to build your installer.
TeeWEE 1 ago 1 reply      
If Cross Platform is important, i would recommend Chrome-Apps: https://developer.chrome.com/apps/about_apps
Ask HN: Open source webpage snapshot software
3 points by needhelpplease  12 ago   2 comments top
moondev 11 ago 1 reply      
Found a phantomjs docker image for this here: https://github.com/ubermuda/docker-screenshot

docker run --rm -v (pwd):/srv ubermuda/screenshot http://www.espn.com/ espn.png 1920px

espn.png will now be in the current directory with 1920px width


Ask HN: Make money as a skilled developer? (Please help)
23 points by ffggvv  1 ago   9 comments top 7
saluki 1 ago 0 replies      
That's why they call it work.

Start planning do you want to start your own business or just get a better day job.

Start listening to this . . . http://www.startupsfortherestofus.com/Rob has had an amazing journey.



And I'll recommend my favorite talk:https://www.youtube.com/watch?v=0CDXJ6bMkMY

It's definitely hard and depending on your point in life it can be really hard to transition from day job to your own business.

single+young is easier than family+mortgage but either way you can do it.

I went from day job to consulting full time. I am working on products and a SaaS but it's definitely not easy. But it is enjoyable and the potential payoff is 10x your day job (most likely). Plus you control your own destiny for the most part, vs being an employee.

But work is work, if they pay you decently and it takes care of your needs plan your move carefully as you might not have it as bad as you think.

Maybe changing day jobs if a first step and start stair stepping with products/apps as another revenue stream.

Good luck.

Cozumel 1 ago 0 replies      
Maybe try changing your mental approach? Don't confuse 'working hard' with 'making money', it's possible to work your ass off and not make anything, conversely you can do very little and make a lot.

It stands to reason you're not the only person in your situation, so as a skilled developer, why not build a portal to connect developers with people who want work doing? Maybe something like Freelancer but specific to your country?

aaronbrethorst 1 ago 1 reply      
Get a better day job? That seems like the most obvious, immediate solution.

edit: mind elaborating on your situation in your post? Where are you physically located? What are you looking for?

tmaly 13 ago 0 replies      
Read or listen to the book How to Fail at Almost Everything and Still Win Big by Scott Adams.

He takes a systems approach over a goal approach. When you try to build a side project or startup, even if you fail, you should still have built a set of skills to help you in your next attempt.

stephenr 21 ago 0 replies      
Based on your question and comments below, I would suggest trying to change job. However rather than using the race-to-the-bottom one off job sites, I'd recommend trying to find work with a remote company.

Depending on your skills I'd recommend seeing if somewhere like X-Team (or one of their sister companies, X-Five, XWP, etc) have any positions open.

adude2016 1 ago 0 replies      
If you are a skilled developer, it shouldn't be hard to leave your day job or find a different one. If you want to work hard as a developer, you can do independent consulting gigs also.
davix55 1 ago 0 replies      
I know what your saying. Finding something non-trivial is hard. I know a lot of developers in your situation, I was one of them. Let's chat and see what we can do
Ask HN: Paid alternatives to WhatsApp
4 points by reacharavindh  12 ago   4 comments top 3
iends 2 ago 0 replies      
What about Telegram? It's free though...
msh 11 ago 0 replies      
well not paid but signal seems pretty well funded and not likely to sell.
Ask HN: Modern live streaming solutions for the web
5 points by alanz1223  1 ago   6 comments top 3
billconan 3 ago 0 replies      
there is a standard called mediasource api


I tried video streaming with it.

rudimental 20 ago 0 replies      
Blab used WebRTC. They did this by using OpenTok (made by TokBox).



Source: I work there :)

doubleorseven 1 ago 2 replies      
Check out HLS.Based on http so no special ports or udp. Also support HTTPS.And you should reconsider WebRTC, it's amazing.
Ask HN: What is your language choice for coding challenges?
4 points by InquisitiveMe  22 ago   7 comments top 7
tom_b 9 ago 0 replies      

At stockfighter.io and HackerRank, I enjoyed practicing my Clojure hacking skills. HackerRank supports Clojure as a language that is submitted and run against automated test suites for challenges. At stockfighter.io, you can choose any language since you are submitting answers to a REST API.

My Clojure chops increased and I now use the language at work for new development.

I am debating a switch to python for machine learning challenges (maybe Kaggle?). If I decided to return to the enterprise world, I probably should drift back to plain Java for challenges.

technion 22 ago 0 replies      
I think this is actually a flaw in many such challenges.

I hit questions where I would say "I would do that in production in Erlang, or C", but then the only metric you are judged on is time, and suddenly I'm writing Ruby again.

I think that's fine when the challenge is scoped as "who can solve this challenge?", but there are "job application" type challenges with tight timers where this is just the wrong approach. It's similar to why you never write tests in such environments, once you get a tick on the challenge.

kzisme 12 ago 0 replies      
If code golf counts as a challenge then Jelly https://github.com/DennisMitchell/jelly
wprapido 10 ago 0 replies      
python FTW! it doesn't get in your way and supports all paradigms. after all, it's a language of choice for so many CS courses
InquisitiveMe 22 ago 0 replies      
I have always been using Python for this but is about time to improve this skill by using more serious programming language. In sense that it should be lower lever and at least have static typing. Contenders are: C/C++/Java. My feeling is that Java knowledge would be more useful for future work but C/C++ would make more familiar with memory management.
aprdm 12 ago 0 replies      
Python for sure. Usually they care if you can do the algorithm. Python doesn't get in your way. It's almost plain English
viraptor 22 ago 0 replies      
If the challenge explicitly allows managed languages, it means you don't need raw processing speed to win -> Python is fine. Need raw speed -> C, or C/Python mixture.
Ask HN: How do you pull out of a rut?
9 points by Pixelicious  1 ago   1 comment top
kleer001 4 ago 0 replies      
You haven't said how long you've been working just to make ends meet. After 18 months I would worry. Less than 6 is just on the low side of average.

Try adding working on open source projects to your routine. Try going to some cons or volunteering for them or in other community projects.

Are you living with your parents? In your house? Barely making rent in a crack house?

How old are you?

In the end, eat healthy, get plenty of sleep, and keep your nose to the grind stone, your ear to the ground.

Ask HN: Where to live within California
10 points by shmapf  1 ago   9 comments top 6
mgberlin 29 ago 0 replies      
I live in Santa Cruz and really like it here. Fantastic mountain biking, beach-going, and all around outdoors stuff. With the bay just over the hill, there's a pretty reasonable tech scene and some jobs. Housing is pretty out of control, though.
hijinks 14 ago 1 reply      
I moved from NYC about 6 years ago. I first moved to San Mateo and it was a great location. About a 20 minute express train ride into the city and the rest of the Valley is commutable also.

When we had to consider school for our daughter we moved out to the far east bay in San Ramon where its the only place with good school districts that we could afford a house. If i time the BART right my commute door to door is a bit over an hour. The office was like a minute walk from a BART stop in the city.

I don't take any jobs where I have to drive since the commute to San Jose might be 90 minutes (usually 30 minutes with no traffic)

We are in the process of moving out of the area. We love it here but can't afford it on a single salary. We got lucky with owning a house in the area but making almost 200k and living pay check to pay check sucks.

niftich 1 ago 0 replies      
Subjectively I find areas surrounding Monterey Bay very pleasant, which includes places like Monterey, Pacific Grove, Carmel-by-the-Sea, and Pebble Beach; but also on the other side Santa Cruz and its suburbs. It's expensive, but you're close to the coast, surrounded by greenery and potentially redwoods, and are reasonably close to SV/SF without having to contend with it daily. Though traffic is a challenge, it's within plausible commuting distance of SV.

If you're looking for somewhere a little more removed from major activity centers, the extended San Luis Obispo area including Morro Bay and Pismo Beach is decent, and you're nearly equidistant from both LA and SF, about 3-4 hours away. It's outside of commuting distance, but well-within daytrip distance.

I happen to be enamored with San Diego too, but it's all the way down at one end of the state, and it's two hours closer to Phoenix than to San Francisco. If you're looking for centrality, you won't find that there, but the city is lovely, and it's a functional metro with good jobs and a large military presence.

Edit: Bay Area peripheries like Santa Rosa (in the north) and Gilroy/Morgan Hill/Hollister in the south, maybe Tracy/Stockton in the east, are probably a good compromise, but other than striking a balance between affordable and not-too-far from SF/SV, are not too compelling in their own right.

Edit: Coastward LA periphery cities like Simi Valley, Thousand Oaks, Ventura, Oxnard, are quiet, shaded, suburban, but also pricey. LA traffic is a nightmare; you're 'on paper' within reach of LA, but don't bet on it.

Other than possibly Sacramento, I don't find the Central Valley particularly appealing. The cost of living is lower, but with the exception of Sacramento and Bakersfield, none of the valley cities project a strong sense of place; this applies to the desert exurbs like Palmdale and Victorville too, except for maybe Palm Springs.

Every other area of the state is on the periphery and you're too far away from major employment centers to be a useful place to make a living in the general case.

centdev 1 ago 0 replies      
The South Bay (Redondo Beach, Manhattan Beach, Hermosa, parts of Torrance) is a great place to live. It's relatively close to Downtown LA (8-12 miles). Driving from South Bay to west LA is only 30 mins so the drive isn't horrible. Driving from the valley to West LA is horrible. South Bay and Valley are great for families. Having lived in NY for a few decades, then to NC, LA traffic is not that bad considering. It's more about how to navigate and that's where Waze is really helpful.
steve1011 1 ago 1 reply      
Ive lived here most of my life, in both southern and (currently) northern California. Sure, the weather is nice, but my advice would be to stay away unless you are already wealthy or forced to move here for work etc.

If you live in any sort of population center expect traffic to be a nightmare from 6-11am and 3-7pm. Taxes are also some of the highest in the country and poorly implemented social policies continue to increase these on an annual basis.

If you are looking for something in particular that California has to offer, there is almost always better alternatives (see: Oregon, Washington, Arizona, Colorado, Nevada, etc...)

moocow01 21 ago 0 replies      
I moved from SF to Midtown in Sacramento. I personally really like it. Its probably the most affordable urban area in California. Its not as dense as SF and has nowhere near the tech jobs but its a very interesting enjoyable place in its own right. Great people, food, beer scene and vibe. Might be a place worth looking into.
Ask HN: Is it possible to fight back against the big 4 hiring fads?
19 points by fspear  1 ago   25 comments top 8
JSeymourATL 1 ago 1 reply      
> let's do something about this.

Career Capital Theory-

Research shows that the traits that lead people to love their work are general, and can be found in many different career paths. They include things like autonomy, a sense of impact and mastery, creativity, and respect and recognition for your abilities. Once you recognize that these traits have little to do with following a pre-existing passion, and can be cultivated in many different fields, you can safely abandon the myth that there's a single right job waiting out there for you.

On this subject, Steve Martin's advice is solid > http://lifehacker.com/5947649/steve-martins-advice-for-build...

freestockoption 1 ago 1 reply      
I've worked in some big names in tech. What I do notice is that sometimes people go into these companies thinking they've made it and that they will just naturally grow due to being at a big name co.

I've realized that most companies are similar and opportunities don't just fall into your lap. Want a low growth job fixing bugs for 10 years? You can probably get that at Google (or pretty much anywhere). Want a job where you can develop the next big feature in Android? You can probably make that happen, too.

If you want the latter, don't just sit there, fall into a routine, and fix bugs all day thinking that one day a VP will knock on your door asking you to be a Software Architect. Don't become complacent.

mrits 1 ago 2 replies      
I have super flexible hours. A private office looking over Austin's green belt. Free lunch. Ability to go to any conferences I want. With my salary I can live just about anywhere I want in the city. Why the hell would I want to work for a huge "big 4" ?
wprapido 1 ago 1 reply      
just avoid them. you really don't need to work for the big 4 in order to have a fulfilling job and/or make good money. also you can avoid steve jobs wanna be employers and execs. we are lucky enough that our industry provides lots of diversity and we can be picky
cbanek 1 ago 0 replies      
I have to say I agree with all that - and on the company side, everyone also says hiring is broken.

Overall, I think the process is just kind of silly, and I'm sure whoever comes up with a better way will be able to make some good money as well.

qaq 1 ago 0 replies      
You do have an option of not working/interviewing for the big 4 or "wannabes".
dozzie 1 ago 2 replies      
First, working in Google, Facebook, Amazon, or Twitter is overrated morelikely than not. Remember that. You don't really need to work in a big companyto have fulfilling job that allows you to grow professionally and paysdecently. (Don't be greedy.)

Second, remember that interviewing is both way lane. It's not only a way foremployer to assess candidate, it's a way for a candidate to assess thepotential employer. Treat it as such.

This may be a clich, but if all I got asked in the interview was some randompuzzles and nobody was interested in the work I had done in the past, I wouldprobably avoid such company. They don't seem to hire based on competency, soI'm likely the first one with the ability to develop and deploya well-designed system (completely different thing from algorithms).I don't like to struggle with making each and every step. The same stands ifthey require specific education.

And the last thing, in current landscape there's plenty of jobs in IT and onlyso many competent programmers, sysadmins, netadmins, or DB operators. It's theemployers who struggle with finding good candidates, not the other way around.

DrNuke 1 ago 0 replies      
Problem is: if you are smart, being an employee just sucks. Realising this opens a different class of problems to you (not to them, they are more than happy to enslave and dumb smart people down).
Ask China: How immersive is WeChat into your lifestyle?
7 points by erbdex  19 ago   6 comments top 3
turingbook 9 ago 0 replies      
WeChat integrated everything:

- Blogging platform? Yes. there are public accounts for enterprises and individuals to publish articles or videos.

- BBS? Yes. there are groups to connect every social circles for you. Every circles. Groups for little family(wife and children), bigger family(plus my parents), even bigger family(plus my brothers and sisters)... Groups for classmates of primary schools, secondary school and high school and universities. Groups for various working circles, groups for various special interests circles.

- Twitter or Instagram or Periscope? Yes. There is friends circle for it. I have thousands of connections on Wechat, and tens of thousands of followers on Twitter, hundreds of thousands of followers on Weibo. But more likes or comments (and from guys I know and real) on WeChat.

- And services you can imagine: Tickets for films, taxi hailing, food or flower delivery, online shopping...

I rarely bring cash or credit cards with me these days. I can pay nearly for everything everywhere with WeChat.

WeChat is for mobile phone as Windows for PC or browser for Web. Actually much more than that.

In China, you can find QR codes everywhere. And the first response for that is open WeChat.

wingerlang 16 ago 1 reply      
Is 30% a number you think is high? It seems perfectly normal to me, I probably spend at LEAST 75% of my smartphone time in the reddit client. The rest is probably shared between my IM clients.

I would bet that most people use WeChat for it's social stuff (IMing or doing 'timeline' stuff) apart from the "novelty" stuff like the ones listed.

If we think of WeChat as Instagram, FB and IM all in one where those aren't the "main apps" for just that, I think 30% seems extremely low.

Obviously I am not Chinese, nor do I live there. And my only experience with WeChat is a couple of months in Malaysia (where it is the main client).

Where I live LINE is the big app, it includes similar stuff like paying etc but I never saw/heard of anyone using them. It is mainly IMing and using the timeline. But we've got FB/IG as well so people use those. But I still think LINE have more than 30% of the peoples attention based on what I see.

zhte415 14 ago 1 reply      
buy a movie ticket- Done

check the air quality- This isn't built into the client, but via accounts you can add. Inferior to a dedicated app which almost everyone has

pay for street food- Done, but scanning a QR code and getting confirmation that's been scanned is more time consuming than handing over a 10 Yuan note and getting change

publish articles- Done. There's also a microblog feature which has far surpassed Weibo, the twitter-like app

report an incident to the police- Not done but see the usefulness. Non-emergency things reported as text could really help police workflow here

release an app- Done. Banking stuff too, and a lot more is coming in 3rd party financial services

order groceries- Done, kinda. Order lunch and get it delivered.

connect to Wi-Fi- Confused. The phone connects to WiFi, WeChat uses the phone's WiFi connection

check the queue time for a restaurant- Not done.

open an online store- Not done. Do you mean use the microblog function to advertise wares; that's common? various middleware linking to escro services etc?

add money to your phone plan- Done. In most cities, all utility bills can be paid.

donate to charity- Well, you can donate/send funds to anyone

find a lost child- Not done

become an internet celebrity- Not done

WeChat has achieved a critical mass surpassing even QQ (they're made by the same company). Not through absolute destruction; QQ is still big on both phone and PC while the PC app for WeChat is limited compared to PC-based QQ.

I mentioned banking above. While WeChat offers payment services at the moment, it's seen by many as a toy compared to AliPay. This will change over the next 6-12 months as behind the scenes Tencent are courting banks (and others I'm sure, but banking sector is my thing) about advantages WeChat offers, for example tracking success of marketing campaigns - instant 'big data' feedback.

Some more things I use WeChat for, almost exclusively.

Office circle- Everyone in my office has to be in a circle where office announcements are made, from at the weekend 'is anyone in, I forget my access card' to sharing teambuilding photos/video instantly to starting a chat between a few people by creating a new group chat

International calls- Video call a colleague in Singapore? Use WeChat and office WiFi. Free and easy.

Helpline- Instant texting, send pictures, video, chat. No 'run in background, share screen' function as far as I know yet, only share via camera. Not technically hard given everything else.

Events- Subscribe to accounts offering new events. I have no idea why Tencent have not yet added calendar functionality.

Discount cards/offers- Shared socially or from subscribed accounts

Lucky money- Like sending money, but randomly distributed. Common for teambuilding

LinkedIn/Facebook- Integrates these services on a very basic level

Other stuff that it does:


Look Around- feature for people nearby that are bored and want to chat/hook up;

Shake- for people 1000s of km away that are bored and want to chat/hook up;

Bottle- feature so if you are bored and want to chat/get something off your chest/hook up you can throw a bottle and someone can reply.


tl/dr At least 30% of smartphone time in China is on WeChat. Often in travel time. But probably not chatting. Reading a post/posts, watching a video someone linked, browsing online shops, it's just in a massive payment & contact-linked type iFrame.

A: "What's the first thing you do when you wake up?"B: "Open my eyes"A: "The second?"B: "Check WeiXin."

Job interview with no specific project details revealed
11 points by bendixso  1 ago   15 comments top 7
shakna 1 ago 1 reply      
It depends.

I've dealt with a few clients like this. Most wouldn't say anything till I signed an NDA, usually the first day of working on the project. However, with some, if I came out and said I wasn't comfortable until I knew more, and was willing to sign an NDA, they'd agree, I'd sign, and get the whole spiel.

Here comes the bite: Some would respond to the request by showing me the door.

Information is paramount in business, and some people are simply unwilling to risk letting anything leak till they're ready.

I absolutely agree that faith in a project determines how much effort beyond the norm I put in. [0] However, sometimes you'll just get a job that needs the professional treatment, because it will fail no matter how well you do: but its still a paycheck, and you still have a contract.

If they end up unwilling to let you know more, then try and judge the product on its caretakers, the people you meet. It might be worth the risk of a terrible tedious failure. [1]

[0] On a bad project, I work my hours. On something I believe in, I've been found sketching relationship trees at 4AM because I had an idea.

[1] The last project I had was terrible. The inception idea was fantastic. It got gutted twice over whilst I was still building it. I went from senior developer, to junior. I lost creative input. So, I was pissed off, exhausted with politics, and demoralised. However, I still got the project in on time, to specification, and got a nice paycheck.

Edit: Why I did [1].

kafkaesq 1 ago 1 reply      
Is this sort of thing common in the software industry?

Oh, it's incredibly common. Aside from companies paranoid (perhaps justifiably so) about sensitive information leaking out through the interview process, by default many companies use at least the initial stages of the process as a kind of a "one-way mirror" -- in which they're scrutinizing you for ticks, fleas, what-have-you, and only in subsequent stages do they lift the skirts, as it were, on the actual projects you might be working on.

With the apparent basic message in mind that they (and their projects) are so self-evidently awesome that they shouldn't have to bother trying to sell you in the idea of working for them (by say, letting you know what you might actually be working on).

But it could also be much more mundane than that. Sometimes the reason they won't go into details is because they've already decided to pass on you, and so they prefer to cut the discussion short to whatever extent possible.

JSeymourATL 10 ago 0 replies      
> I might really want to take the job, but if I were offered it tomorrow...

Turns out that companies blow the Interview Courtship Dance ALL the time. Hence the War for Talent myth.

Push for a follow up meeting with the Hiring Executing, your direct boss. Be candid, tell him you have some areas you need to discuss before moving forward.

Have a solid list of probing questions prepared in advance. If they can't or won't answer to your satisfaction, move on. You've got leverage.

seanwilson 6 ago 0 replies      
If it's a consultancy, it might be the case that they don't have any big signed projects for you to work on yet and they're hiring in the hope of closing some deals soon.
petervandijck 11 ago 0 replies      
Yes this is quite common.

I would try telling them what you said here - "I know from my past experiences that my enthusiasm for the job is directly correlated with the degree to which I perceive their projects will be both meaningful & successful."

Then you can find a middle ground - maybe they can tell you about a past project, or maybe you sign an NDA, or maybe they can just tell you.

guitarbill 1 ago 1 reply      
How big is the company and who was interviewing? If it's HR, they genuinely might not know. I've been to interviews where the interviewer admitted they had grabbed him 5 minutes ago while he was walking past, and he had no idea about the project. They might be hiring because they have budget, for some future project (that might never happen).

Don't get me wrong, all of these scenarios aren't good, and it's a warning sign. Personally, the secrecy alone would make me think the job isn't a great fit for me.

> tell them I can't accept the job without any specifics about the project itself

This, if you aren't happy with the arrangement don't do it (if you have that luxury). Gut feeling can be quite helpful.

eschutte2 1 ago 1 reply      
You can always quit if the work isn't good enough. Realistically, they're not going to be able to give you a full and accurate picture of the work ahead of time anyway.
Facebook is becoming a link farm. Thoughts?
7 points by aligajani  16 ago   3 comments top 3
throwawayReply 16 ago 0 replies      
Hotelling's Law.


Reddit turns into a social media site, Facebook turns into a link farm.

Reddit turns into imgur, imgur adds a community.

Twitter hosts video. Insta adds timelines.

Virtual proximity can be thought of as the distance between distinct activities rather than physical distance. Convergence happens for same reasons that shops cluster.

fitzwatermellow 14 ago 0 replies      
Sunday Times Magazine is on it!

Inside Facebooks (Totally Insane, Unintentionally Gigantic, Hyperpartisan) Political-Media Machine


The trend that bothers me most is seeing otherwise scientifically minded peers, paragons of rationality, who hew to the strictest standards of empirical rigour when it comes to their own research methodologies, sharing the most easily-debunked, inane conspiracy theories as if it were holy writ!

thecupisblue 12 ago 0 replies      
Facebook is becoming what Yahoo was in the early days.A central webpage where you can find a lot of content and where you go to see what's new in the world. The real homepage of the internet.
Ask HN: What is the business opportunity of climate change for startups?
34 points by ThomPete  2 ago   26 comments top 12
baron816 2 ago 3 replies      
The biggest problems brought on by climate change will be 1) water shortages 2) crop failure and 3) flooding of low-lying areas, probably in that order. The "solutions" for 1 and 2 (water desalination and vertical farming) are being worked on by plenty of organizations. A few are also working on fast and efficient construction of housing, but I think that's where the biggest business opportunity lies.

People are going to need housing even if we're able to avert disaster, and there's billions of people around the world who are already in need of stable shelter. If you could figure out how to quickly build a cheap and safe high-rise apartment building using relatively unskilled labor and that could be expanded as necessary or even deconstructed and moved, then you would have a world changing, multi-trillion dollar company.

occam65 2 ago 1 reply      
As historically cooler climates warm up, opportunities shift. A huge amount of industries where geography plays a crucial role will be affected. Vineyards, for instance, will be entirely changed.

The trick is to find an industry currently tied to a specific climate, and predicting where the change in climate will take the market.

I haven't thought about it a ton myself yet, but that's the line of thinking I've been on...

cdoelling 2 ago 2 replies      
This from Peter Wadhams, one of the first people to discover the shrinkage of the ice caps.


"As far as I can see, it will have to take the form of some sort of device into which you pump air at one end and you get air without carbon dioxide coming out the other end. It can be done, I am sure, but at the moment we do not have such a device. However, without something like that I cannot see how we are going to deal with the carbon dioxide that is getting into the atmosphere. We are going to have to rely on a technology that has not yet been developed. That is a measure of the troubles that lie ahead for us. I think humanity can do it, but I would feel much better if I saw governments investing in such technology."

josh_fyi 2 ago 0 replies      
An example: Al Gore won the Nobel Peace Prize and an Oscar for climate change advocacy. And on the side, made up to a billion dollars from climate change business -- much of which was based on e Energy Department grants!


Mz 2 ago 0 replies      
Off the top of my head:

Passive solar design, smaller homes, solar power, wind power, more efficient methods that use less water or energy to accomplish something, public transit, storm/disaster prep and clean up type things, storm resistant housing such as geodomes and smart city stuff.

I am sure there is more.

niftich 2 ago 1 reply      
Arctic shipping will eventually be commonplace during the northern hemisphere summer, bringing both sea- and land-based activity to the region for half of every year. Since north of the arctic circle the sun won't set during this time, the there is opportunity to use (some) solar resources throughout the day.

I expect solar-assisted propulsion systems for ships, solar-assisted power generation, solar-assisted desalination, greenhouses, heating, etc. to power an arctic boom. But since the region will still be far from hospitable, other industries like prefab homebuilding, insulation, and (paradoxically) resource and/or fossil fuel extraction stand to benefit too.

JSeymourATL 2 ago 0 replies      
Bad Air is a Big Problem-- that's an opportunity.

> http://news.nationalgeographic.com/news/2014/08/140812-calif...

rmah 2 ago 0 replies      
Low energy, high efficiency cooling technologies for home, office, transportation, etc.

Security technology (monitoring to riot control) to help governments deal with the social upheaval.

prawn 2 ago 0 replies      
I live in South Australia which is very dry and gets very hot. Through summer months, it can be a challenge to keep gardens alive and houses cool.

There are likely opportunities around smarter approaches to marketing/selling a variety of things to the public: insulation, reflective film on windows (could quote and install without anyone being home), smarter irrigation, on-demand xeriscaping, garden audits, delivery of healthy/refreshing mocktail jugs to offices, etc.

diafygi 2 ago 1 reply      
I'm in a climate change startup, and here's how I look at it: 87% of the energy sources we use are fossil-based[1] and will need to be replaced with non-fossil alternatives in the next 30 years. That's trillions of dollars worth of infrastructure and technology growth opportunity for clean energy and energy efficiency[2]. The next Google will be an energy company[3].

To answer your question more specifically, in order to actually pull the 87% energy transition off, clean energy sources face huge financial and engineering challenges. This presents a lot of business opportunities for tech startups that can improve efficiencies for those clean energy companies. Energy efficiency, electric self-driving vehicles, solar, wind, nuclear, geothermal, public transit, etc. all need to grow by 100x in 30 years, and a huge chunk of that growth will be software driven.

The advanced energy industry is already a $1.4 trillion industry (larger than airlines and fashion industries)[4]. So there is, right now, a ton of market size for climate change tech, and it will grow by several orders of magnitude over the next few decades. Now is one of those rare moments where you can save the planet and have a business model.

For example, my startup is a SaaS company that is used by tons of distributed clean energy resources to smooth out the process of collecting energy data for feasibility analyses. We shave about 5-10% off the installed cost of energy audits and distributed solar, and make money doing it.

So if you're interested in doing tech startup in climate change. Do it! We need all the help we can get. If you're interested in the Bay Area professional clean energy scene, check out the calendar https://bayareaenergyevents.com/ (I run it) and start showing up to stuff!

[1]: https://www.eia.gov/todayinenergy/detail.cfm?id=11951

[2]: https://www.theguardian.com/environment/climate-consensus-97...

[3]: http://www.pvsolarreport.com/the-next-internet/

[4]: http://www.solarpowerworldonline.com/2016/03/advanced-energy...

tmaly 2 ago 0 replies      
in the short term, optimizing traffic lights could greatly reduce fossil fuel consumption.

The current model uses PLCs but something like a neural net or some other type of machine learning could supplement this system to make it more efficient.

opiotrek 17 ago 0 replies      
Selling CO2 limits... oh wait
Ask HN: Taking a few months off?
15 points by throwavay  2 ago   22 comments top 16
junto 1 ago 1 reply      
I took half a year off and went travelling around Central and South America with a backpack, no laptop and no cellphone. I met loads of great people (other backpackers and locals), learnt some Spanish, visited old friends and new ones, saw the sights.

Best thing I ever did. It tweaked my brain somehow. I don't know how to describe it, but I certainly came back a different person.

I booked a ticket into Mexico City and another ticket home from Buenos Aires, and let my travels take me where it took me. I hooked up with people I got on with and we travelled together until our journeys went in different directions. It was surprisingly easy to just go wherever my whims took me.

10/10 would recommend to anyone.

cauterized 1 ago 0 replies      
To me as a hiring manager, a deliberately unemployed stretch looks very different from an unintentional one.

If you wanted to take time off - to find yourself;travel and enjoy being young; take care of family who were ill; recover from burnout; work on a side project; or just take time to carefully consider and select your next opportunity - and you could afford to do it, more power to you.

If you're an engineer who was trying to find a job for 3-6 months in the current climate and couldn't, that raises a red flag for me. Companies are falling all over themselves to hire engineers. If you're unhirable now, you're probably unhirable, period.

Note that my standard is a bit different for other specialties. The market for many other professions is much more employer-friendly and less employee-friendly. A customer service manager or a PR specialist who needed six months to find a job may be great to work with and great at their job but just battling a weak job market and absurd levels of competition and gets more leeway from me.

In any case, like a lot of things, it comes down to framing and telling a good story about it.

jasonkester 1 ago 0 replies      
It depends on how much money you have saved. If you have a full year's living expenses then yeah, go for it. If not, reevaluate how you managed to work a contract for two entire years and not sock away a lousy ten grand :).

So assuming the answer to the above is "enough", then yes. Quit and take some time. Actually, I'd recommend booking a flight somewhere interesting, then quitting. Otherwise you run the risk of spending your downtime in your apartment reading HN in your boxers.

As to your career, it will survive just fine. My resume is more Gap than Work most years, and it has never hindered finding another gig. I actually found that traveling stocked me up with lots of good stories that could be pulled out during an interview to win "this sounds like a fun guy to work with" points. It turns out that those are actually scored higher than "this guy has memorized bubble sort" points in the minds of the people that will be making hiring decisions, so I always considered travel to be a net positive for the career.

Good luck!

spotman 1 ago 1 reply      
Was in an extremely similar situation a few years ago and I kept asking the same question but continuing to burn myself out while I considered what to do.

Finally I just snapped and was unable to work or really communicate with anyone. I stopped showing up and felt horrible for my totally unprofessional exit. I had been barely sleeping and while sure the money was amazing I had no time to spend it.

In hindsight I should have worked on my communication skills and rapidly tapered down my efforts to a sane place. But I waited until I was just broken and had to bail.

However, it was in the end a much much needed rest. I took 4 months off work, got outside a ton, lost a bunch of weight, got my personal life and friendships recalibrated and jobs and work started showing up as soon as I was ready to work again.

Since then I have made healthier habits, and people actually respect me the same amount or more for having those habits. I also have learned tricks to still get an amazing amount of stuff done without burning out, which is largely communication, diet, exercise and sleep, all things I used to be awful at.

Take the break, it will be worth it!

Edit: and with 9 years of experience you already know how to learn, don't make the focus just more technology, at least make it a partial computer break.

sp527 22 ago 0 replies      
Oh this is super easy. Take time off and work on something on the side too. I did this (still am) and am loving it! I'm also based back home with my parents so not burning through savings. Here's how it's all shaking out: (1) working on a cool idea with an amazing friend that may turn into a viable startup (fingers crossed but you never know), (2) taking road trips as often as possible, and (3) learning at a 10x pace compared to when I was employed. I'd rate my employability at around 5-10x what it was before. The only 'downside' is you end up loving your freedom so much that you commit to fighting tooth and nail to keep it :)
0x54MUR41 14 ago 0 replies      
I think doing sabbatical is good for people. I have never been doing that before. Many articles mentioned that sabbatical is good for our health, mental, and mind. This is some articles that I would recommend to read:

1. This is what 365 days without a vacation does to your health http://qz.com/485226/this-is-what-365-days-without-a-vacatio...

2. The 2015 Sabbatical: Why We Should All Take a Month Off - https://www.riskology.co/sabbatical/

By the way, thank you for making this post. It reminds me that I have to take a month off because of my works.

siquick 1 ago 0 replies      
I was in the same boat as you so I left my job last Thursday, and I'm flying to Bangkok in Thailand in 5 hours.

Excited yet terrified.

My worry has been that I am spending a portion of my life savings on this trip. But as my sister rightly pointed out, life savings are for major life events and this is definitely one of those events.

foundersgrid 1 ago 0 replies      
Happy to see so much support for the extended trip. I'm 11 years in, so obviously would highly recommend it too!

I've actually incorporated travel and quality time off into my daily life: 3 weeks on, 3 weeks off. I wrote a post about my experiences here which you may find useful: http://remotejournal.com/blog/how-i-remote-work/http://remot...

caser 2 ago 1 reply      
It's normal. I'd recommend joining a coworking space or getting involved with communities of some kind, going to meet ups, etc, as that will keep you social and may end up getting you work.

If you're interested at all in traveling, check us out: hackerparadise.org

k__ 1 ago 0 replies      
I did it for 1 1/2 year.

From 01.01.2014 - 30.05.2015.

Got a season pass for the local swimming pool.

Learned to play the bass guitar.

Did some game development.

At the end I even invested some time in my masters degree (still not finished, meh :D)

Also, since I'm living polyamory I had much time to invest in my multiple relationships.

After it I started a new job where I make 20% more than in my old one AND can do all this from home, which wasn't much of a change since I did most of my masters degree team projects already remote.

dood 1 ago 0 replies      
Best thing I did since starting work was take a few months off!

That time and space was invaluable for me, gave me the time to work on myself, to figure out what was important, and come back stronger.

I feel a lot better for doing it - but even ignoring that, I'm sure it has had a huge ROI on the missed income I 'spent' by not being employed.

atsaloli 2 ago 1 reply      
How's your savings? How's your confidence about finding work again?

I've taken time off twice (eight months last time) and the recharge was great and worth it.

samfisher83 1 ago 0 replies      
It seems easier to get a job when you have when then when you don't have one.
nicomfe 1 ago 0 replies      
Thinking on doing a whole year "off" next year, off in quotes cause i would do some side projects and stuff along the way.
rabidsnail 2 ago 1 reply      
Taking time off between jobs is very common and future employers won't think anything of it. The only question is whether you can afford the opportunity cost of not bringing in a salary.
nullundefined 1 ago 0 replies      
I was in a very similar situation (nasty commute, 3 years of very stressful work with a lot of hours).

I left without a job lined up. It took me less than a month to find a new job that I liked. I had several offers and declined a number of them early on as I looked for something better.

You can certainly do it. I suggest you take two weeks off to relax and prepare for interviews, then hit interviews hard and keep practicing for whiteboard interviews.

Ask HN: What's your biggest gripe with CSS Media Queries?
3 points by obihill  1 ago   3 comments top 2
dexwiz 1 ago 1 reply      
I don't have a complaint, but I do have a piece of advice. Mobile-first design is real. Developers work largely on desktops, so they make the desktop version first. Then try to use media queries to apply mobile css using max-width. This seems sensible, but just does not seem to work out well. Instead do the unintuitive thing, design it for mobile first, and then scale up to tablet/desktop using min-width to apply styles.

No matter your choice, go one way. try to avoid mixing min/max-width and the cognitive load is way less.

tmaly 13 ago 0 replies      
Not really a complaint, but knowing what the minimal set of screen sizes to use to be the most useful to the most number of devices.
Ask HN: Has anyone else skipped El Capitan entirely?
15 points by gnicholas  2 ago   22 comments top 9
kn0where 2 ago 1 reply      
El Capitan is a refining-things release, much like Snow Leopard was to Leopard or Windows 7 was to Vista (although comparing Yosemite to Vista is admittedly a big stretch). If you're using Yosemite, just upgrade to El Capitan.

There are some subtle new features that, since you're a long-time Mac user like myself, are nice to have but that you probably won't use. However, it fixes a lot of things that were rough in Yosemite. For example, the San Francisco system font is much more legible than Helvetica Neue was. There were also just a lot of general bug fixes in El Capitan. Now that it's been out for almost a year, most issues should be ironed out, so it's never been a better time to upgrade.

SiVal 2 ago 2 replies      
El Capitan runs on the same machines as the previous several OS X versions, supporting machines back to 2007. The next one, MacOS Sierra, drops support for many of those machines.

This suggests that El Cap is the final cleanup of an underlying version that hasn't changed much, while Sierra will be make larger changes underneath. I look at that as a good sign for El Cap. They've identified various problems that they'll never admit to but have silently fixed, so El Cap will probably help more than harm.

Sierra, on the other hand, might be worth watching for a while before you decide.

PlayMeWhile 1 ago 0 replies      
I use iTerm2 and for some reason couldn't upgrade it to 3.x on previous mac os version. The bug ticket on MacPorts even said that I need to have El-Capitan before updating. (But that might simply be a problem within mac-ports).

Only upgraded yesterday. Don't find anything that different. Screens (at least iTerm) seem to fade in and out faster. Also if you move your mouse in a circle consistently the cursor will become bigger. Presumably to help detect it on big screens.

The official post-update "show-off" was talking about updated FaceTime, Messages, iPhoto and a bunch of other programs I never use.

wingerlang 1 ago 0 replies      
I did, but probably not for any specific reason other than having my dev environment setup and not wanting to disturb it. Some tools I use were very shaky with the root changes (was it?) so I just skipped it.

I also keep Xcode6 around for the same purpose and the thought of adding yet another Xcode version is not pleasant. And the latest version requires El Capitan.

I'll jump to Sierra directly, if my mac runs it (Macbook late 2008).

dshep 1 ago 0 replies      
I'm still on OSX 10.9.5 (Mavericks). Don't really like the iOS-style UI stuff they added after and don't need any of the features. The next time I have an iOS project that'll probably force me to upgrade though...
saluki 1 ago 0 replies      
I put it off for a while but El Capitan was a painless and definitely sped things up and improved things so I wish I'd upgraded earlier.
nowlnowl 2 ago 2 replies      
I am still at 10.6.8
Esau 2 ago 0 replies      
I am running El Capitan and I have not really had any issues with it. It is largely just a refinement to the previous release.
daveloyall 2 ago 0 replies      
Sounds like you have actually skipped LOTS of major OS versions, like Debian 5.0 for example.
Anyone notice Google delaying delivery of some emails for 7 hours odd?
3 points by mikelj99  22 ago   1 comment top
onion2k 22 ago 0 replies      
The timestamps on Google's server are indentical once you account for the timezone offset.
Ask HN: Any cool stories about old DOS extender, EMS or Extended Memory?
8 points by sqldba  2 ago   5 comments top 4
NetStrikeForce 12 ago 0 replies      
I have a slightly related one...

At that time I was nothing but a child, so my main interest outside "how does $THIS work" was to play computer games.

I had a 386 @20MHz with something like 40MB HDD. I wanted to play this Sherlock Holmes game my dad bought for my birthday. Mind you, at that time paying for a game was a big effort for my family, so this would only happen once per year (if lucky).

The problem? The game, once installed, was like 39MB or something crazy like that! There was this tool called doublespace or drivespace (can't remember the exact name, I believe both existed) that could increase your total disk space by doing some magic (actually compression, but mostly magic for barely a child). Problem solved, right?

Not quite.

Now I had a second problem: This tool loaded a driver, otherwise you couldn't access your data in the disk, and with this driver I could not hit the memory requirements for this specific game (which also required to load the mouse driver!).

All in all, I could only play this game by deleting everything on the HDD and even trimming down c:\dos :) then installing the game. I believe some time later you could load the doublespace/drivespace driver on to the extended memory, as well as the mouse driver; plus the RAM started getting cheaper and I got a whooping 2MB expansion (so I had 4MB in total) and could play and use the computer for other... games.

As someone else mentioned, you ended up with several boot options depending on the task you wanted to do. Most of the times I wouldn't even load the CD-Rom drivers (that's actually with a 486 I got a few years later) or the mouse drivers.

Those were the times... This is the game in question: https://en.wikipedia.org/wiki/The_Lost_Files_of_Sherlock_Hol...

superflit 1 ago 1 reply      
Ok,I will try to descript some of my memories.

At that time I had an XT with 4.77MHZ and a "turbo" switch where the CPUs go to 10MHZ. We are talking about real power here and a 30MB HD Seagate.

A lot of games/programs run ok with only 640 at that time.But graphic ones and heavier ones need more memory as 1MB or 2MB. Remember that time 1MB was a serious investing or cost.

So what we used to do at that times:

Several configs.sys and autoexec.bat for each application. Eg.:1. Boot with CD-Rom drivers;2. Boot with CD-Rom drivers and others;3. Clean Boot

So I had to choose how to boot my PC before choosing the boot menu, and each menu has its configuration.The more drivers/configs more options becoming an exponential function.

So later came Qemm[1] that optimize all options for best scenarios (more free under 640kb or higher mem free). That was a game changer.

There were several details, but that was it.Ask me about stacked or other techniques from that time if you are curious :)

[1] - https://en.wikipedia.org/wiki/QEMM

svfhn 1 ago 0 replies      
Basically we had this memory limit in DOS. It was pathetic, like 600K.

Memory extenders came out that let you reach over that limit. But you had to make OS calls that flipped the CPU into a different mode first.

That was just the beginning! We also had to write 'self modifying code', emit assembly instructions and make DOS programs rewrite themselves to squeeze every last bit out of graphics routines. I remember counting 'cycles' of each ASM instruction. Fixed point was much faster than float then, we did craaaazy things for 3d graphics, for sure.

Those were fun days of hobby dev, for sure!

gadders 1 ago 0 replies      
I used to work supporting Lotus 1-2-3 for DOS for Lotus in the UK. We quite often had to get people to load a "clean config" by commenting out most of their config.sys and autoexec.bat apart from a prompt command and emm386.exe. This was so we could fit the program in the first 600k and then load the rest into the main memory.
Ask HN: What are the selling points of .NET?
15 points by brightball  2 ago   26 comments top 16
jasonkester 1 ago 0 replies      
On top of all the good replies about Visual Studio and the C# language, one major benefit I don't see mentioned here is framework stability and backward compatibility.

ASP.NET is a Boring Stack. In the best possible sense of the word. Nothing surprising will happen to your code while running in the wild. The server will stay up, memory won't swell to infinity, nothing needs cycling periodically "just in case", and patches for critical bugs (which seem to be few and far between) trickle in via Windows Update on the server and never seem to require user attention. And it's generally fast enough that you won't ever (meaning ever unless you're StackOverflow) need to think about adding even a second server to run it.

Better still, you can know that there will never be a breaking change to the framework. I have code that has been running in production since 2003 with occasional bursts of activity, but mostly just doing its thing without any drama. It started on Version 1.1 and has received a handful of 5-10 minute bump-the-version-then-smoke-test sessions along the way to bring it up to Version 4.5, with never any requirement to rewrite something that was working because the framework authors decided to go in another direction. And of course, it would still be happily running today on ASP.NET Version 1 had I decided to leave it there.

That's huge. It means that, rather than having "keep this website alive" be a part-time job, I can spend that time instead building something else.

And even fifteen years later, that next something else invariably ends up being written on that same boring-yet-evolving Microsoft stack.

samfisher83 2 ago 0 replies      
In my opinion Visual Studios is one of the best IDEs out there. Also .NET is pretty well documented. C# also tends to be very good about getting new features Linq, async, anonymous function, generics etc.
Nelkins 2 ago 0 replies      
As with any platform there are strengths and weaknesses. In my mind, the greatest strength of the .NET framework is the sheer number of ways you can leverage your .NET knowledge to create various types of products. For example:

1. Desktop GUI applications. WPF is in my opinion the best GUI framework for Windows, and many well-known Linux GUI apps have been made with Mono + GTK. You can even create Mac GUI apps with Xamarin.Mac (with commercial support!).

2. Server/web software. ASP.NET MVC, ASP.NET WebAPI, NancyFX, Suave...the list goes on for various frameworks (most of which will run on Windows, Linux, and OS X).

3. Video games. Unity is very commonly used.

4. Internet of things. You can run .NET on a Raspberry Pi, and on various other embedded devices (again, with commercial support!).

5. Mobile apps. You can write iOS and Android applications using Xamarin. In my opinion, it's the best tool to write native, cross-platform mobile apps (when considering tooling, enterprise support, etc.).

Some other great points:

1. C# and F# are generally considered to be very-well designed languages that support a variety of programming styles.

2. .NET has very broad adoption in enterprise. We hear about Rails, Go, Node, Clojure, etc. here in the HN echo chamber, but in any town beyond the big cities you're far more likely to find a C# or Java job. In the next big downturn, you'll be happy to have .NET on your resume.

Now of course, .NET can't do EVERYTHING. It's VM-based platform, so of course there will be applications (very low memory, for instance) for which it isn't suited. That said, from a bang-for-your-buck perspective it's a pretty tempting offer.

jacobprudhomme 2 ago 0 replies      
I guess first and foremost would be Visual Studio. Still one of the greatest and most powerful IDEs to use, in my opinion. I love it. Secondly would be that it might just be the most well-documented and supported native language for Windows, that isn't open-source. The power of all the languages at your disposal (the ones that run on .NET) is immense, and if you already programmed with another standard of C++, getting used to the .NET implementation will be a piece of cake (mostly). Also, if you'd like to go with smaller languages, there are many others that are based on the .NET framework, such as the functional F# or the Python-like (but compiled, not interpreted) Boo.
sharemywin 2 ago 0 replies      
There's a large pool of .net developers that are generally less expensive to hire.

he following technologies feature most strongly in job vacancy advertisements:

Java featured in 18% of adverts with an average salary of $100,000 USD

JavaScript 17%, $90,000

C# 16%, $85,000

C 9%, $90,000

C++ 9%, $95,000

PHP 7%, $75,000

Python 5.5%, $100,000

R 3%, $95,000

Scheme 3%, $65,000

Perl 3%, $100,000


UK-AL 2 ago 0 replies      
I'm a C#/MVC developer working on a fairly large e-commerce site. It's a distributed system using message based microservices tied together using https://particular.net/nservicebus. There is also http://masstransit.readthedocs.io/en/master/

Some great tooling Visual Studio, Octopus Deploy, red gate SQL source control etc

C#/F# - The languages are very nice. Huge inbuilt library.

C# is probably one of the best statically typed, OO languages there is. For functional languages you have F#,

C#/F# is starting to run on many platforms including iOS/Android/Linux etc See Xamarin

The .NET platform is the home of CQRS and event sourcing if you want MASSIVE scale.

Someone1234 2 ago 3 replies      
I'm currently a .Net programmer (C#/MVC).

But we're just developing in-house business systems, on a mostly Windows network which it is well suited for. If you're actually doing a "large web application" (distributed?) I'd likely still recommend Java on Tomcat.

Why? .Net's biggest strength as a platform is that it hooks into other Microsoft services and technologies (from AD, to Sharepoint, to Office 365, to Azure, and beyond).

.Net's biggest drawback, at the time of writing, is still licensing. .Net runs in IIS on Windows Server. Yes, I know, .Net core is on Linux but that isn't near production ready. So for the next year or two you'll be paying for Windows Server which is pricey (both literally and because the hardware per user is lower).

Java on Tomcat running on Linux is cheap. Very cheap. And it is a tried and tested platform that has been used at almost all scales (from small bespoke business applications up through distributed goliaths).

I actually prefer C# to Java in terms of programming language. I also prefer how the .Net libraries are laid out and how thoughtful even down to method overloads are. But ultimately language and library choice should play second fiddle to platform choice and cost/benefit analysis.

If you're doing bespoke business applications in a business with a Microsoft network, .Net may make the most sense. If you're exposing it to the world as a service, I'd do Java or in some cases look at Ruby on Rails or something else.

twunde 1 ago 0 replies      
Pros:1) .Net has strong interop abilities with Excel via COM objects. Where I work, the Operations department basically uses Excel to run 80% of all automated processes. They just need to upload a spreadsheet, press go and everything runs. This is probably .Net's biggest strength.2)You can run everything out of Visual Studio including Azure integrations 3) Unlike Eclipse, Visual Studio is fast and frankly is full-featured unlike Sublime. It's really nice.3) Microsoft stack (SQL Server + .net) works well together4) C# has several frameworks like Web API for REST apis and WCF for SOAP that really make development nice and easy. 5) You do get support5) The main languages are well-written and full-featured. C# and F# are actually a pleasure to use. C# also gives you LINQ which is really has few if any equivalents in the open-source world.

Cons: 1)Very little is open-source compared to other stacks. Be prepared to pay for everything including deployment mechanisms. This also includes tutorials and other learning resources.2)Anything outside of Visual Studio is difficult. This is improved with Powershell, but there seems to be a lack of Powershell knowledge among Windows sysadmins/.Net developers compared to BASH knowledge among linux developers.3)You may need to have 2-3 different versions of Visual Studio installed.4) If you're doing something unusual that's outside the traditional software stack or requires something that Microsoft hasn't built yet, you may be in for a world of pain

In Summary: .Net really shines when you're using it with the entire .net stack especially if you're using Microsoft Office. Additionally .net has the nicest IDE I've seen so far. If you're used to the open-source world it could be a painful journey. There are tons of libraries without free equivalents in .NET and certainly learning resources are limited.In java or python you could easily switch out parts of your stack, that's not the case with Microsoft. Everything is fairly well-polished but there are missing pieces, especially once you start to stray away from the Microsoft solution to the problem.

PerfectElement 2 ago 0 replies      
Visual Studio: I run a medium-sized profitable project pretty efficiently and all I have to install and understand in terms of tooling is Visual Studio.

C#: Very flexible and extremely powerful. For a busy(lazy) programmer like me, it's very easy to find libraries or stackoverflow solutions for pretty much everything.

clyde-radcliffe 2 ago 1 reply      
i've been using .net for years (since 1.x), before was using Java... i think you should consider the very good documentation (MSDN on all) the main drawback, IMHO, is when you try to go out of the MS PATH you could go crazy (eg using different DBMS different than SQL Server or using different implementation patterns).. this applies to medium-big sized project not for simple ones... Hope the .NET CORE will solve this.

Moreover, Visual Studio is great even if a bit buggy.hope this helps

randomnumber314 1 ago 0 replies      
I've done some development with Java, writing Android apps, and some work in Unity making games, and by trade I'm a PHP developer--I'd be curious to hear how .NET workflow compares to these others.
facorreia 2 ago 0 replies      
As an alternative to the native Windows stack (C++) its main selling point was increased productivity and fewer bugs by using managed memory allocation and by avoiding native pointers.
Khelavaster 2 ago 0 replies      
Visual Studio

- One-click build and debug for every project.

- One-click publish to web (AWS, BlueMix, Azure, etc.)

- CodeLens and its inline code annotations.

- Unit test runner is multithreaded, runs tests continually in the background as you edit code.

- Completely integrated with bug tracking and task/'Kanban' board provided by on-site TFS installation or by Visual Studio Online. Checkins can be associated with bugs, new bugs and tasks can be created from the IDE, CodeLens shows which snippets of code have been associated with each checkin, etc.

- Built-in style cop/lint tool as well as static code analyzer tool.

- Debugger prints execution time for each line of code passed over.

- Built-in instrumented/trace-based profiling and sampling profiling.

- Built-in REPL (read/evaluate/print loop) console.

- Debugging supports on-the-fly runtime modifications with the Immediate window. Modify a variable in script and see the modified version propagated through the rest of the program.

- Fakes & Shims is the most powerful unit testing framework in existence. Shims let developers arbitrarily overwrite any dll's, including .Net framework dll's, after they've been loaded into memory to redirect method calls to "shimmed", custom implementations of those method calls. Fakes automatically generates mocks from classes you yourself create.

ASP.Net MVC + Web API from Scaffolding with Entity Framework

- Start with a C# class, optionally annotated with DataTypes (e.g. [DataType(DataType.Email), limitations (e.g. [MaxLength(20)]), and database-oriented attributes (e.g. [Key] or [Column(2)])

- Async server methods are as easy as prefacing the controller method with 'async' and 'await'ing on the function you're waiting on.

- Automatically generate a base ASP.Net MVC + Web API website with a set of 6 database tables for member/role-based authorization and basic user authentication tables.

- Automatically generate a set of 5 csHTML webpage templates for index, create, edit, delete, and details views for the C# class you created at the beginning.

- Add a link to this new set of webpages to the automatically generated navigation bar, which already links to example "about", "contact", and "main" pages.

-Data migrations entail:

...1. Once in your entity framework project's lifetime, run "enable-migrations" in the NuGet console.

...2. Whenever you've made a change to your C# entity class and want to update your database, run "add-migration YourArbitraryLabelNameHere"

...3. When you're ready to push the changes to your test database, run "update-database".

.Net Libraries

- Covers all your bases. If it's something you need to frequently do on a Windows computer, there's a library for it. From strings to spreadsheets to speech recognition and synthesis [for accessibility.]

Networking- Thanks to clever use of generics and a config file, create a ClientBase<TService> MyClient; and you're able to call services remotely with MyClient.ServiceMethod().

- Serialization mode is an enum. It's trivial to switch between binary, JSON, XML, SOAP, and custom serialization.

- Encryption up to TLS 1.2 is trivial by using the correct enum promoting a MemoryStream into an SSLStream.

- Any program can self-host a service or a client by adding a WCF reference and including a config file.

- RESTful HTTP Web APIs out of the box; see auto-generating MVC and Web API sites above.

C# Language

- Built-in async/await and Task/Parallel libraries for effortless multirthreaded, asynchronous, and

- Functions are first-class objects. Func<int, string> GetLength = (s) => { return s.Length; }; GetLength("Hello") = 5;

LINQ Library

- Declaratively filter, transform, and aggregate data on any IEnumerable.

- LINQ to SQL, the .Net ORM querying framework, is always interchangeable with LINQ to Objects. Your data access code remains identical whether you're working with a SQL database or with in-memory objects.

- Virtually eliminate need for foreach loops.

- Powerful base group of features including GroupBy, Select, Where, SelectMany, AggregateBy.

- Easy to mock database collections with in-memory collections for testing.

miguelrochefort 2 ago 0 replies      
Xamarin. It lets you build native mobile apps on Android and iOS using C# or F#.
herbst 2 ago 1 reply      
It's relatively easy to setup on windows compared to other dev stacks.
d0lph 2 ago 0 replies      
LINQ and Visual Studio are pretty nice.
       cached 26 August 2016 04:05:01 GMT