hacker news with inline top comments    .. more ..    17 Sep 2016 Ask
home   ask   best   3 years ago   
Ask HN: Would you join a social network run by a non-profit?
7 points by sharemywin  4 ago   16 comments top 8
nathcd 29 ago 0 replies      
The tracking and data mining is only one problem, another is having my data locked in a silo. What I'd like from a social network is for it to be more like an RSS reader: my posts should be followable via RSS, and my news feed should just be an RSS reader from which I can follow others on the same network and from outside the network. That's a pretty simple way to get me interested.

I also would like if messaging would be handled by something like an email address (like Facebook added and then removed once upon a time), or better yet a derivative of email that's easier to self-host and encrypted by default (maybe something like matrix.org).

To me, working to break down the huge silos is the best thing a non-profit social network could bring. And, to be completely honest, I'm not sure I'd even join it, because in this system I'd be able to participate without joining the network so I could just self-host my website (and RSS feed) and use my own feed reader as I do now.

_nalply 13 ago 0 replies      
As long as I am sure that I am not the product and the non-profit manages to overcome the network effect.

Bonus points for using standards like e-mail, RSS, IRC and the like. Additionally if most of the infrastructure is peer-to-peer. For example a social network based on WebRTC. This way a lot of centralized infrastructure goes away.

2AF3 53 ago 1 reply      
I'm waiting for a distributed system, any non-profit has to comply with government censorship.
NumberCruncher 1 ago 3 replies      
A non-profit is run by real people and a social network needs an infrastructure. There are a lot of bills to be paid. The money paying the bills was obviously earned by someone doing things for profit or is donated by a lottery winner. I don't trust lottery winners, especially when they want to manage my personal data "for free".

If you're not paying for the product, you are the product. That's why I only use social networks with a realistic monthly/annual fee, like Xing.com or meetup.com.

chrismonsanto 34 ago 1 reply      
I don't care either way as long as there are people I care about socializing with on the service.
anotheryou 4 ago 0 replies      
Most of us even joined one by a for-profit. The problem is how to get my friends to move with me anywhere. Locked-in, network-effect, hen and egg problems
sharemywin 4 ago 1 reply      
what would you like to see different from FB, LinkedIn etc.
nuevoyork 3 ago 0 replies      
if you pay me $5 i'll join :-)
Ask HN: What does Facebook actually do these days?
14 points by kackin  7 ago   13 comments top 10
aprdm 21 ago 0 replies      
They have Whatsapp, Instagram and they're Facebook.

I don't know what you mean with "what they actually do". Most people on earth spend most of their internet time inside their business already. I bet they're doing a good work.

brad0 6 ago 1 reply      
Satellite for the Internet.org project https://www.facebook.com/zuck/posts/10102407675865061

Drone www.theverge.com/a/mark-zuckerberg-future-of-facebook/aquila-drone-internet

GraphQL http://graphql.org/learn/

Long term storage https://code.facebook.com/posts/1433093613662262/-under-the-...

perfmode 58 ago 0 replies      
Developing their Ad product, becoming a profitable company.
NumberCruncher 1 ago 0 replies      
Amazon, Apple & Google are making products/services solving real problems and get payed for it pretty well. Obviously in this kind of business you have to be innovative.

Facebook is the problem a lot of people try to get rid of.

paulpauper 6 ago 0 replies      
It's like Google, their job is to make as much $ from advertising as possible and they are doing a damn good job at it through the news feed but also Instagram. They don't need to innovate that much, as they don't much in the way of competition beyond maybe Snapchat. It's a money-making machine. All they need to do is make small tweaks here and there.
sidcool 5 ago 0 replies      

VR through Oculus

Better Facebook, Instagram, Messenger, WhatsApp

Leaps in AI

Internet across the world

gerby 1 ago 0 replies      
If I worked for Facebook, I could do so much for them..
jakebasile 3 ago 0 replies      
They've been pushing live video pretty hard. It's on Facebook itself, via some Blizzard games, in Messenger.

Their At Work products are being refined all the time.

And as mentioned they have plenty of open source stuff.

kackin 6 ago 0 replies      
I know they are doing cool developer-based projects like React, but that's not innovation that matters in a traditional business sense.

Like Twitter, I can't but help think that both platforms have become paralyzed by a crippling fear of not knowing what to do next with what they have. To me that means a recipe of slow but gradual decline.

anotheryou 2 ago 1 reply      
Everybody but those without internet is on board, so they are working on locking us in and supplying internet/facebook to those without internet.

What I remember about locking in: instant articles, live video, favor facebook content over external links and some failed apps (paper, notify).

Ask HN: Moving from academia to tech
2 points by stablemap  1 ago   1 comment top
kvulgan 1 ago 0 replies      
PhD in ...?
How to escape an asterisk character on Hacker News?
5 points by SimeVidas  2 ago   1 comment top
nprescott 1 ago 0 replies      
You can use 3 asterisks - * to italicize a single asterisk:

 *** as such
Or you could always use a pre-formatted block:

 * just prefix with two spaces

Ask HN: What are some examples of well written C/C++ codebases?
3 points by seagoj  3 ago   3 comments top 3
malux85 18 ago 0 replies      

They are a joy to read

Ask HN: Is it possible for someone to not be cut out for software engineering?
167 points by conflicted_dev  1 ago   176 comments top 96
Xephyrous 1 ago 5 replies      
Why do you want to work at one of the big 4 tech companies? Software engineering is a very big field, you don't need to be really good at solving coding puzzles on a whiteboard to be a good developer. Hell, there are developers who do nothing but set up wordpress sites for their clients, and they're providing a needed, valuable service.

You can work as a web dev at a small company without being part of the mainstream silicon valley rat race. Sysadmin-type skills are pretty hard to hire for, and very useful at small companies. It sounds like you've got that going for you. I'd change your definition of success and focus on finding a job at a company with a culture you'd enjoy, and not worry so much about its perceived prestige.

soham 20 ago 1 reply      
[Disclaimer: I run a technical-interview prep bootcamp, http://interviewkickstart.com. I also worked at a Big4 of my time. And then some]

Your problem is not with software engineering. Your problem is with interviewing. Don't let anyone (including yourself) talk you into conflating the two.

Technical interviewing process at big4 is optimized for the interviewERs (and the company), and not for the candidate. They have to do that, because their hiring requirements are massive. When you are hiring hundreds and thousands of engineers a quarter, you usually land with the quick, brash process they have currently, despite however well-meaning you are. They can also get away with it, because they have a revolving door of candidates.

Don't let that signal reflect on your software engineering skills. As long as you can solve problems in reasonable time (and 2x is reasonable by many measures), you are good.

If you want to get better at technical interviewing, then use brute-force methods to do so. Find a good source of problems like Leetcode or Interviewbit, prepare a regimen and stick to it. Repeat problems. Do several mocks interviews with something like interviewing.io. You can also use us, of course (http://interviewkickstart.com).

But like others have said, you don't HAVE to go that route. There are companies who do similar level of impactful engineering and make enough money, outside of Big4, who don't have a seemingly depressing interview process.

lossolo 1 ago 3 replies      
> Concentrated studying and mass interviewing havent led to positive results so far. I can solve most problems correctly given enough time (usually 2x+ longer than interviews).

You are probably here to get some hope. Politically correct it would be to give you that hope because we all know that "Everyone can do and be whoever he want if he work hard". Unfortunately reality is different. Sometimes false hope can make more evil than harsh truth. I am pragmatic that's why i will give you pragmatic answer. You have binary choice. You already know that you struggle with certain things. Give it more time, to the end of the year, so you can determine if the problem was not enough time to learn. If nothing will change then aim lower. If you solve software development problems as you mentioned then you can get into software development.You don't need to work for top 4 tech companies to be happy and solve interesting problems.

danso 1 ago 1 reply      
I know that there's a huge demand for software engineers, and just about everyone can think of the time their company inexplicably hired someone who couldn't do FizzBuzz. But if you've already been hired as an engineer and you've worked there for 1.3 years, at a level comfortable enough where you actually want to keep being an engineer and move on to a "better" company, and you're willing to put in 10-20 hours extra a week studying, then you aren't not cut out to be an engineer. You clearly have the mindset and tolerance of rigor that the job requires.

But it's possible that you aren't cut out for whatever benchmark/ideal you have in mind for software engineering. If a company is looking for the next Jeff Dean, sure, being not confident in algorithms is going to put you at a severe disadvantage. But there are plenty of valuable and important software engineering jobs -- even within the domain of just programming, nevermind design, planning, management, etc -- that aren't limited to those who can show a mastery of algorithms.

One well-known contemporary example: https://news.ycombinator.com/item?id=9695102

My main job is not software engineering right now, though I do a lot of it on my own (to be better at my actual job). I think I'm similar to you in that I was probably mediocre in comparison to the best of the class, though unlike you, I was probably in self-denial of how mediocre I was. But I eventually got into it much more after working in non-software jobs and understanding how the world works, and that there's plenty of uses for programming beyond the narrow scope of what's taught in CS curriculum. It's equivalent to thinking that you're not cut out to be a writer after feeling mediocre in a journalism news writing class, or technical writing, or poetry.

hluska 20 ago 1 reply      
Do you like writing code?? If yes, you're in the right field. If no, get the hell out as fast as possible.

Some of the best developers I know couldn't pass a whiteboard interview if their lives depended on it. Conversely, the worst developer I ever worked with absolutely dominated the whiteboard phase of his interview.

If I were you, I'd look outside of the big four. There are plenty of amazing companies out there doing some very interesting things. Hell, I work for a company that I guarantee you've never heard of, but I work on the most interesting problems that I've ever encountered.

labrador 23 ago 0 replies      
Your title says "Is it possible for someone to not be cut out for software engineering?" while your first point says "Does there ever come a point where it just isn't worth it to continue trying to be a software engineer who can get into top-tier companies / projects?" which are two very different questions.

It'd be like me asking "Is it possible for someone to not be cut out for jogging" and then changing it up to "Does there ever come a point where it just isn't worth it to continue trying to be a runner who can win the Boston Marathon?"

Most of us programmers can't get hired at Google because we don't have the pedigree, the work ethic and other qualities it takes to be at the top of the game. That doesn't mean we don't enjoy and make a living at computer programming.

ryandrake 20 ago 1 reply      
Some points:

1. Skill at software interviews seems to have zero correlation with skill at being a software engineer.

2. Being rejected for 10 roles is nothing. I've probably been rejected at a rate 5X that. 10X if you count college recruiting.

3. Despite the "shortage of engineers" meme that constantly gets repeated, competition is fierce. There are a lot more engineers that need work than roles to fill.

4. I disagree with the commenters here dissuading you from interview prep. It's worth it to study up on interviewing and do lots of practice interviews.

Keep at it! I've been out of work for stretches up to 4-5 months. It's not unheard of. It's kind of a numbers game. Do 100 interviews, and if the accept rate is as low as 1% you've got the job!

stuxnet79 1 ago 1 reply      
You say you've only been prepping from CLRS and Cracking The Coding Interview for the past 1 and a half months. It's not unusual for candidates to spend up to 6 months prepping if not longer. Also, it's normal to be rejected from one of the big four 2-3 times before getting in.

When you say you had to work harder to get the same result, do you mean the programming or the math? In my CS classes I saw really smart kids who were aces in the theoretical aspects of the program but couldn't grok programming. I also saw the reverse. You will have to be honest with yourself and figure out which kind of person you are and if you are willing to put in the necessary work to be 'big 4' material.

My advice, is keep practicing the algorithms, but do so with purpose. Try to tie in what you are learning with what you are doing at work, or a side-project. The essentials will osmose over time. Learning this stuff without having the proper context to understand is value is difficult ... (for me anyways).

danneu 23 ago 0 replies      
I doubt I could get a job at one of the "big four". Their interviews seem mired in hard technical questions, the sort of problems I just don't encounter in the things I build. It doesn't interest me.

Doesn't mean I'm not cut out for software development nor that I can't deliver value to anyone else.

Nor does it mean I can't find a rewarding and interesting job that suits me and the lifestyle I want.

tedmiston 22 ago 3 replies      
I'm going to sidestep your questions and just remind you that software engineer hiring processes today suck.

Just because one doesn't do well under the extreme time constraints of an interview does not mean they won't do well as a software engineer. Honestly, in fact, I think it can be quite misleading because you have both: (1) good software engineers who work best solving problems with plenty of time to think, and (2) "hacker" style programmers that can whip up something to pass an interview quickly but are not actually good at design pattern and architectural type stuff that separates the software engineer from the programmer. Just my 2.

wpietri 17 ago 0 replies      
I agree with others that maybe you should consider whether working at a fancy company is really the only thing you'd be happy with. That goal strikes me as motivated by social status, not the work itself. I don't think that's a sustainable motivation for a software career.

But I mainly wanted to address the anxiety. Programmers definitely skew anxious; it's a trait that's in many ways beneficial. However, it's easy to let it run away with you. I have been coding since I was 12, and I still regularly have feelings that I'm too dumb to tackle whatever it is that I'm working on. I'm not; I just get uncomfortable when I'm not sure what to do next.

The main way to get past that is by accepting that you have particular feelings in particular circumstances. There's a difference between having a feeling and believing a feeling. If you are having trouble finding that difference on your own, find a good therapist (you may have to go through a few) and work on it with them. At your age I would have tried to macho my way through those feelings, but now I look at that as yet another way I let my reactions drag me around by the nose.

Good luck sorting this out! And thanks for asking such a good question. You've helped way more people than yourself with it.

aboodman 23 ago 1 reply      
I don't see anything in your question about what you -want- to do. That is the important question to understand.

It's of course possible to not be cut out for computer science, or lawyering, or doctoring, or anything else.

But more than mental horsepower, the most important ingredient is desire. What do you want to do?

Not in terms of "I want to be a programmer because it is a good career" but "I want to be a programmer because I love writing code".

It's very important to deeply understand what motivates you, and what you enjoy doing. This might take decades to fully understand, but you must start now.

If you don't love writing code, you will never be a good programmer. If you don't love helping sick people, you will never be a good doctor.

Find what you enjoy. Start there. Doesn't mean you're going to do that for a living, but you can't proceed without understanding that first. And be patient with yourself. It took me 20 years to realize I was meant to program. You might have to do stuff that pays the bills for a long time while you're figuring it out.

But be honest with yourself, try to listen deeply to what your lizard brain is telling you, and then try to find a way to make that work.

Good luck.

adamnemecek 23 ago 1 reply      
CLRS is not a software engineering book, it's an algo book. This is a somewhat widespread misconception. Anyway, what language are you using to implement these algorithms? Some languages are much worse suited for doing algo work than others. I always hated implementing even the simplest algos in C or Python but it's actually kind of fun in Swift, Rust and Haskell (the types really do help in cementing your understanding of what's going on).

Also, there was an article yesterday on HN about how the process of mastery is about memorization and repetition https://news.ycombinator.com/item?id=12508776

You should try doing that. Write an algo one day and get as far as you can without looking for help. When you are done check your solution against some correct solution. Do it the next day again and try to do it faster. Repeat a couple more times like next week, next month and before you know it, it will be second nature.

atemerev 23 ago 1 reply      
1) passing job interviews is a skill orthogonal to coding abilities. You might want to get a book and start training on that.

2) I failed Google's interview 6 times. OK, so I don't work at Google, but I am still a decent software engineer loving functional programming and distributed systems.

plinkplonk 9 ago 0 replies      
The combination of "I am REALLY bad at algorithm problems and experience serious performance anxiety." and "My current target is a role at one of the "big four" tech companies " seems to be at the root of your troubles. The 'big four' interview processes are heavily focused (for better or worse) on whiteboard algorithmic problem solving. You should change one factor or the other to make progress.

My 2 cents.

ChemicalWarfare 23 ago 0 replies      
Start elsewhere, there is a reasonably high demand for software engineers out there, get a job and go from there.

I've done some reasonably complicated things in my programming career (things having to do with encryption, threading, high volume systems) but I'm sure I'd fail a Google-style CS drilling (and have no interest in implementing a non-cyclical direct graph on the whiteboard :)).

Guess what - hacker rank type challenges I'm semi decent but not great at.

I do pretty good with take home mini projects though and with interviews where even if things get theoretical they are still relevant to the actual day-to-day, like let's say describing the thought process behind selecting a linked list vs arraylist for a given situation etc.

Imo these things come with experience, so again if your goal is to get a job with "google" eventually, start elsewhere, get the chops and go from there.

oliwarner 21 ago 0 replies      
Of everything you've said, nothing suggests you actually like programming. I think that's most accurately reflected in your description of how much a chore you find algorithms. That's a pretty serious issue.

I don't think I'm alone when I say problem-solving even if it's not novel in an efficient way is something most software developers live for.

Part of this is learned and honed with experience. Part comes from a drive to solve [any] problems, even simple puzzles. I truly believe you can learn everything there is to know about programming, but if that's not your passion, you're never going to thrive.

To answer your questions:

1. Your aim to become a top-tier company programmer will never happen at the moment. They only hire passionate programmers who love their work. You can't expect to be hired and then get passionate.

2+3. Stop focusing on study and GPAs. That's done. BUILD SOMETHING for yourself to get some experience doing something you have a vested interest in, not under test conditions. Improve it. Ask other people how you can improve it.

Once you have something that's yours, you might be able to display some passion in an interview (as well as having gained some "real" experience).

If you can't muster even that much enthusiasm for the subject, perhaps it's time to look elsewhere. It's not for everybody.

fsloth 23 ago 0 replies      
Your original header and the content of your question do not match. I've been a software engineer for 10 years, enjoy my job considerably and been commended for it, but am not working for the big four or a cool startup.

I can't give you any other advice, except for my personal satisfaction the team I'm in and the domain of the problems I need to solve weights so much more than the specific company I'm working for.

For the technical interviews I've participated, I've always sucked ass. But guess what - those tests don't correlate with success at the actual work any way. They are a gate, but a bit arbitrary one at that. Yes, one needs to understand all that stuff, but can solve them at ones own pace - algorithmic puzzles usually take only a fraction of development time unless the situation is most unusual. If you can solve the problems, then from practical point of view it's sufficient.

On learning techniques, Barbara Oakley's "A mind for numbers" is an awesome book. I'm 36 and I wish I had read it 20 years ago. Slow is not bad, if correct methodology is used to verify learning. Slow can be deeper. Barbara also suggests some techniques for dealing with test anxiety - which I've not tried myself, mind you.

As per yout goal, I'm afraid I have no idea what is possible and what is not - people are complex and unpredictable. But as a senior software engineer, from the point of view of theoretical capability - if you understand the problems and can solve them at your own time, that's quite sufficient.

thecolorblue 1 ago 1 reply      
For me, interviewing is the worst part of being a software developer. Now that I am a little more senior (5 years experience) I can see that its pretty miserable doing the interviews as well.

There are plenty of reasons that I haven't gotten a job that had nothing to do with me, for example, the CIO already had a third party ready to do the same work or they already had someone at my level of experience and focus.

The only thing that has worked for me is focusing on what I have done, and look for companies that also need those problems solved.

bazaroni 18 ago 0 replies      
1) The answer to that needs to come from you. If it's important to you to work at a "big four" tech company, it's probably possible with enough effort.

2) I think most people in industry realize that interviews don't really correlate well with how well people actually do their jobs. So I wouldn't take rejection too hard. It really is strange that in interviews we test for "can you figure out a non-trivial problem in the time it takes for me to eat a sandwich" when most software engineering roles are more along the lines of "can you work well with others, generate and document clean/functional code, and learn what you need as requirements change".

3) For most things, the best way to get better at something is to do more of it. Interview every single day. Hopefully over time you will get better at it. If you don't, consider seeking help with your performance anxiety. That might help.

Best of luck! :)

huherto 23 ago 0 replies      
> 1.) Does there ever come a point where it just isn't worth it to continue trying to be a software engineer who can get into top-tier companies / projects?

Don't just look at the top-tier companies / projects. There are many projects/companies where you can learn, grow and contribute.

> 2.) How can I find some positive reinforcement in interviewing / interview prep even if I constantly get rejected? I do perform post mortems on every interview in order to find areas to improve.

Are you getting a positive reinforcement when you are doing software engineering ? That is the key question. If you do, you can have a very satisfying career. Even if you don't work at google.

mrweasel 23 ago 4 replies      
I would seriously cut the interview prep crap. It's useless in my mind. You're the person you happen to be, and that's the person that need to walk into an interview. Never prep for an interview (other than of cause figuring out what the company does and if you'd want to work there), you'll just try to remember the prep and not focus on being at the interview. Most interviewers only care about who you are, and ensuring that you didn't lie on your resume.

If you want to make difference, find a small business, no more than 30 to 50 people. The kind of company that wouldn't except a person like you to walk in the door.

64ec39bda1 20 ago 2 replies      
I have nearly 8 years of being a professional developer. I didn't graduate, and got into the industry while in college before dropping out. So there are some differences between us in years in the industry and educational credentials.

First quarter 2016, I was laid off from my job as the first engineer/tech lead of a small startup. I have been searched ever since then, and your experience mirrors mine exactly. I have been on over 25 in person interviews and gone through untold degrading whiteboard interviews, code tests, trick questions, and take home projects; all have ended in rejection. This industry has a need to torture candidates because we are all considered to be liars by default.

Much is said about combating impostor syndrome in ourselves but we are too eager to cultivate it in others. It seems people in this industry refuse to understand that some people are not perfect. I never graduated college because I hated it with the very fiber of my being, so I am, like you, not particularly great at white boarding answers to algorithm questions off the top of my head in a high pressure environment. If I need them during my job, I look up answers and learn from people who are much smarter than I am.

My personal identity has been shattered, as I thought my ~5-10 year history of success in the industry indicated I was in demand and talented. I saw posts like this and thought that if the worst happened I'd still be able to find a job. The idea that there is a talent shortage is a lie, or candidates like me wouldn't be treated as I have been. I'm not asking for a free job, or a handout, or a huge salary. I have had a successful career so far and am capable of doing good work.

I have struggled with bipolar disorder and suicidal ideation most of my life. I've dealt with the death of beloved family members and pets over the past two years with only minor lapses in control. Nothing has caused me to consider taking my own life as much as the past 6 months. It seems there is no future for me in the only career I have any skill in and which is a huge part of my identity. And to constantly be told that there is such a shortage of engineers only salts the wound.

If you are expecting things to get better with experience, they won't. It's up to you to decide if you can take the mental strain of continuing in an industry with such inhumane hiring practices.

johnward 1 ago 1 reply      
I'm not an engineer but I'm am a tech consultant. First, there are options outside of engineering that you may like. Second, being rejected by 20 companies doesn't seem excessive to me. It really is a numbers game. I have 10 years of experience and I'm looking a list of 83 places that didn't want me within the last year. Interviewing really beats me up and makes me feel like I have absolutely nothing to offer.

Companies focus on these code puzzles and things even when you will literally never come close to that level of code in practice. I mean, I can't even complete the screening challenges Uber gives you but I still found something I can do in the industry. If you are applying for some senior engineer position than you probably need to know this stuff, but if you are looking for a junior role than I really doubt the value of these.

Honestly, I question if I'm cut out for the work I do still. I sometimes just want to walk away from tech and never come back. Today is one of those days that I am questioning WTF I am doing with my life.

ocean_blue 15 ago 1 reply      
I am a recent college grad and I started interviewing pretty late. I never did an internship while in school and have had a grand total of four phone interviews to date and two onsites(Google), resulting in one job offer(with a decent tech company). I think tech interviews are beatable. Here's my hypothesis/strategy: --> The "problem solving" part favors people with an aptitude for math but I think that this is a skill that can be acquired. I presume that you have an understanding of all the basics including graphs and Dynamic Programming. Doing mass interviews/concentrated studying might not help here. I would recommend a style to you: Start with a problem and solve it in 45 minutes. Then look for a similar problem(within similar domain) and try to solve it 40 minutes. Then push yourself until you reach about 20 minutes. Shift to another domain and repeat the process over and over again. The idea here is to practice for interview just like you would do for a math exam. You should never trip on the basics e.g code syntax, or understanding what data structure to use etc. Also problems belong to certain domains and this strategy of repetitive training develops the intuition to categorize a problem. Finally, 1.5 months might not be enough. I would recommend about 3 months of studying as you understand things better over a long period of time --this is why cramming never works. All the best
amorphid 17 ago 1 reply      
I suck at studying. It's boring, I have a short attention span for words on a page. And I'm not a good listener, so someone explaining things to me verbally is the fastest way to fill my brain. I used to try learning this way, failed miserably, and then told myself I couldn't be a programmer.

I'm good at grinding away. I'll bite onto a something I want to learn and not let go until I frikkin' get it. I learn with my hands, by asking questions, and staring at the screen until it makes sense. I've learned to push through it, and just write crap tons of crappy code until I come up with something interesting.

As recently as a couple years ago, I had a hard time finding ANY work as a developer. 6 months ago, I finally landed a dev gig that doesn't suck, and my coding mojo has been skyrocketing ever since. I've had code merged into the Elixir code base, I've got another PR waiting to be merged into Systemd, and I'm accidentally discovering use cases for those algorithms that bored me to death when I tried studying out of a book.

If you want to chat, my email is in my profile. I was a technical recruiter for 9 years, and now I'm Sr. Software Engineer (at least in title!). If you have some foundation level skills, there are plenty of ways to hack the interviewing process.

Good luck. If you can't climb someone else's ladder, build your own.

dkarapetyan 11 ago 0 replies      
Feynman has a really nice quote I think that is encouraging for someone with your experiences

Right. I dont believe in the idea that there are a few peculiar people capable of understanding math, and the rest of the world is normal. Math is a human discovery, and its no more complicated than humans can understand. I had a calculus book once that said, What one fool can do, another can. What weve been able to work out about nature may look abstract and threatening to someone who hasnt studied it, but it was fools who did it, and in the next generation, all the fools will understand it. Theres a tendency to pomposity in all this, to make it deep and profound. Richard Feynman, Omni 1979

I agree with the sentiment. There is much pomposity in the software engineering field and the usual interview process is more like a hazing ritual than an interview so being stressed out about software interviews in general is the correct response.

It sounds like you are a persistent and hard working individual though and those characteristics will serve you far better than being good at algorithms and software engineering interviews. My favorite quote about persistence and hard work is from John Ousterhout

A little bit of slope makes up for a lot of y-intercept

CS140, 01/13/2012From a lecture by Professor John Ousterhout

Do not despair and continue improving. The job part will happen on its own. Trust me, you don't want to end up somewhere that values reciting topics from undergrad CS 101 over the kind of disciplined and hard working attitude that you clearly demonstrate.

The relevant links for where I found the quotes: http://duncan.mkz.com/what-one-fool-can-do-another-can/, https://www.quora.com/What-are-the-most-profound-life-lesson...

wasd 23 ago 0 replies      
There's a lot of good feedback here for both sides. The only thing I want to reiterate is that success isn't defined by employed by the big four. There are companies that embark on more interesting engineering challenges or pay more. Big four is a measure of status, not success. I don't think you've defined what you want well enough to quit because you're not being hired by the big four.
muzster 1 ago 0 replies      
More Questions Than Answers :

1.) Why top-tier companies ? Have you considered joining a startup instead ?

2.) Ask the interviewer. Prep'ing for interviews will not prep you for the work at hand. Try working on your interpersonal skills and getting real world experience ( open source or side project demonstrating your skills )

3.) The recruitment process is broken. When you find that elusive efficient way - make sure to give back to the community.

riboflava 23 ago 0 replies      
Practice your softer skills for interviewing. Do you get anxiety over other aspects of the interview, like the fact that there's an interview itself? Work on that. Many times candidates get hired even if they bombed some aspect of the technical portion of the interview, for various subjective reasons. (Also consider asking for a take-home problem where they give you 2 hours or whatever to email back the solution. It can help if that is solid but your on-the-spot whiteboarding is shaky.)

Also consider an SDET role, those can sometimes be easier to get and then you work internally on removing the T if you really don't like that sort of work.

ErrantX 10 ago 0 replies      
Forget practicing the tech for now. Sure it might be where you "fail" but it Sounds like performance anxiety is what is holding you back; work on your confidence in interview settings. Apply for jobs you'd never take (I mean, non tech jobs where you are sure to get an interview) to give you more practice in these settings.

I see this sort of thing in newer engineers we interview. It's the thing that makes it hard to get to the root of how good someone is.

Right now the sort of challenges the big 4 are setting might not suit you. You might need more experience elsewhere; that's okay, you've got a year as a SE, wirh some good previous background: the future looks bright. It does take a while to get there. I measure myself as successful; at 29 I am a well paid engineering team manager at a largish firm. We do cool tech and I get to promote Devops. 8 years ago I was on a cruddy wage doing very little engineering - but learned loads that set me up for success. Focus on what you can learn right now to make yourself better, add things in increments, don't burn yourself out looking for the shortcut. Most of all don't fall for the hype; there is so much more than the big 4 or a start-up, and they do good engineering too!

osivertsson 23 ago 0 replies      
Rejected by 10 different roles when you only have 1 year of experience is normal, as is being rejected by 20 companies during college. I've done (far) worse, and I'm still in this industry after 10 years and enjoying it.

If you spend 1-3 hours per day on interview prep you are overdoing it.

Stop it, spend your time doing something else that will benefit you in more subtle ways in the interview and in everyday life, like:* Get in better physical shape (take a walk! go dancing! lift weights! bike around town!)* Hang out with friends, or try to get a new friend by putting yourself into a different environment than you usually are in.The point is to clear some of the anxiety and stress that you now seem to carry, and go into an interview with more confidence and more relaxed.

I too suck at algorithm problems. It is mostly because I fail to see the relevance to the work I want to do, which is to build great software with other devs that want to do the same. The 2-3 times during my career when I've really been confronted with problems that require some clever algorithms to do this, then all of a sudden it becomes very interesting and keeps me up at night.

So perhaps algorithm problems at the whiteboard during the interview is not your strength. It is surely not what the job you are interviewing for is really about either.Just be honest during the interview that you find these situations awkward, and that you perform much better in a real work environment.

Explain what value you think you can deliver to the employer. It might be that you get things done with quality without over-engineering for the future, that you have a solid linux sysadmin background and canhelp out in a web dev team with these skills, and that you have experience of what works once things are deployed. Or maybe that you really enjoy working close to customers, or that you are the go-to-guy when it comes to tool XYZ, etc.

First and forement do a good job were you are now. If your goal is to get into a top-tier company then accept that you may have to change employer 5-10 times before you get there. You must always focus ondoing a good job at your current employer, since the more years in the industry you have, the less algos at the whiteboard during interview counts, while contacts and your reputation starts to weigh veryheavy.

Best of luck!

(As always when answering these kinds of questions you really are shooting from the hip because you have so little information, compared to seeing/knowing someone in real life...)

JeremyMorgan 23 ago 0 replies      
There are people who aren't cut out for it, for sure but it's probably not for the reasons you think.

In my experience those "not cut out" for software engineering who struggled did so not for a lack of intelligence or learning ability, but lack of desire.

To succeed in this industry you need either be:

1. A "Natural": rare but real people who learn things so fast they don't put a ton of effort into it. They "get it" very quick and find a way to keep current and continue learning ahead of most within their 40 hour week. They spike on something for an hour, comprehend it and retain it.

2. Everyone else - You'll need to work your day job and learn the most you can, and go home and learn more. Experiment, go through walkthroughs/tutorials/courses and consume information. On your own time. Constantly seek out new technologies and methods, build side projects to learn.

Those are the two types I've seen, and I fall into the latter category. I could never be at the skill level I'm at now by just showing up to work. I have a lot of outside of work tech activities and I'll be the first to admit there are many concepts I don't "get" right away. But I keep trying because I'm having fun. The end result isn't as fun as the experience for me.

Of all the people I've worked with in the last 20 years, most of those who gave up were in the same camp as me but either didn't enjoy "having to learn" something, didn't have the personal time, or just didn't want it bad enough.

I know this isn't the most sunshine and rainbows answer but it's the truth. Look inside yourself and ask why you want to do it, and how bad to you want it. Really ask yourself the question "why do I want this?" and be honest with yourself.

For me the answer is "I love building things and solving puzzles" and I want it bad enough to sacrifice a lot for it. When I imagine something abstract and piece it together into something it feels nice. The money is great, but it's not my primary motivator. This may or may not apply to you but if you're passionate and you love it, you will succeed and it will get easier as time goes on. I learn things about 5x faster than I did when I was 2 years out of college. You will too, if you want it.

If you aren't that passionate about it, start thinking about something that makes you feel like you HAVE to succeed at it, at any cost.

feelix 10 ago 0 replies      
>- I am REALLY bad at algorithm problems and experience serious performance anxiety.

For me this is the key sentence here.

Don't worry about feeling like you had to work harder than everybody else during college, that is called imposter syndrome and it's normal.

As for the performance anxiety on technical stuff, I had the same thing. I was even barred from being allowed into programming courses, that I would have to pay a lot of money for, because I failed the aptitude test. I went back in days later and I demanded to retake it after failing and was allowed, and did even worse on the same test.

So I had crippling self doubt. Then given a few years to work on my own stuff, I taught myself C and became the most prolific developer (my work is linked to in other comments I've made on HN if you want to check it) I know churning out loads of awesome software. I even got into kernel hacking in C and stuff. I still don't know if I'm inherently clever or even a good programmer, but I do know I've achieved good results. I think if you're passionate about it you'll find a way to create what is important to you, even if it's very technical.

slowrabbit 19 ago 0 replies      
I have problems with interview anxiety too. Fortunately, you don't need to be good at interviewing or algorithms to be a successful software engineer. I think a lot of the good companies realize good interviewing skills and good programming skills don't go hand in hand. Interview practice can be helpful, but my suggestion is to get into actively developing open source software and add significant code contributions to projects. People care about actual code you have in production, contributing to major open source projects is an easy way to get your code in production and tested across millions of servers. The kinds of companies you ultimately want to work for care far more about what you have actually done code-wise outside of the interview far more than any trivial test they could possibly give you in an interview. If your contributions are significant enough, companies stop asking you to do those lame technical interview tests altogether and just hire you.
rckclmbr 20 ago 0 replies      
It took me 8 years of industry programming (after college) to get a job at a top tech company. But I'm here, and I feel like my skills are a lot better than they were. Don't get down on yourself by getting rejected, and don't invest too much time in interviews. Take 1 or 2 a year, and just concentrate on being a better programmer and person.

1. No, but you should evaluate how much time you invest in this. (time per year)

2. I hated every time I got rejected. I never did postmortems myself, but swore I would never interview at another BigCo again. But guess what kept happening.

3. I never found a mentorship useful. The best way is to find where you're deficient (which is hard, because companies almost never give feedback). I don't think post-mortems is the right way to approach this -- look at different ways companies evaluate someone (tip: it's not always just the code you write), and see where you can do better.

I'd be happy to answer ad-hoc questions you have -- maybe it would be better to provide suggestions by understanding of your particular circumstances.

xt00 1 ago 0 replies      
Interviewing is a special skill. I would try practicing it with real people (if you haven't already), and to actually implement the algorithms you are struggling with in real-time with your friend that is "interviewing" you. Basic point is that you need to spend some time practicing like crazy where you have the ability to "fail" with friends. I have done a ton of technical interviews, done a qualification exam for my phd (twice :-) ), and its hard. You have to learn how to improve your speaking capabilities, and know the material well enough so that you can speak confidently. Basically if you feel like you are winging it, then you don't know the material well enough. If you feel like you know it, but then "suddenly" forget the info, then that is basically like stage-fright, and you need to practice with people like crazy. Another method is to create like 10 questions that are annoying questions that you can imagine somebody asking you. Then save them someplace. Then on a random Friday afternoon, pull out those questions, get a blank sheet of white paper and sit down and "answer" those questions without looking at a book, and time yourself as you do it. I would not give up, just keep trying.
raverbashing 23 ago 0 replies      
So what you can't get into the big 4? There are several companies with interesting problems AND a bigger chance for you to actually make a difference.

Rejections happen. I would try to see if there's a common thema (some area of knowledge that is missing) or if it's just being nervous/lack of experience

Not everybody is good at algorithm problems and there are other areas you might be better suited for

kozikow 19 ago 2 replies      
I feel like algorithmic interviews are starting to be a red herring. When we are reaching a point that people need months of preparation and special interviewing bootcamps, we start to experience something akin to Goodhart's law. Correlation with real world skills get smaller and smaller, as people stop honing their "real world" skills and focus their energy on gaming the artificial metric.

Many companies are starting to value good github profile more than "how quickly are you going to implement the dijkstra algorithm on whiteboard". I believe this trend is better for candidates and companies, so it will continue.

I am speaking it from the point of someone fairly proficient in algorithmic challenges and algorithmic interviews (e.g. top 100 google code jam, worked/interned at 3 out of big 4).

dougabug 20 ago 0 replies      
1. If you love writing software, don't give it up just because you don't fit into the existing mono-culture of "top-tier" tech companies. Recall that WhatsApp's founders were both rejected by Facebook, but still managed to build a game changing company that Facebook later bought for ~$19B.

2. Find an interview coach or service that suits you and can help you improve by giving you detailed feedback and concrete advice. The cost of professional help is noise compared to developer compensation. Reward yourself for steady, incremental progress, don't beat yourself up for not being at a specific level yet.

3. Take classes on algorithms and data structures until you can solve problems cold. Master key topics, don't settle for incomplete understanding of your craft. Be curious.

kearneyandy 23 ago 0 replies      
Interviewing is a skill like all things. The more you practice the better you will get at it. Unfortunately, this process can be slow and the worst part is that when you interview you don't really get any kind of feedback from the company about why they rejected you.I'm working at a startup in this space refdash.com where you could go do a technical interview and get some feedback from the interviewer on how to improve. Perhaps the problem is just that you don't know what the interviewer is looking for or what strategies to use to feel comfortable in an interview.

The other thing I'll say is that the "big four" companies are glamorized a lot, but each have their own issues. I would say focus more on the fit than the name.

Other tools that are nice are leetcode and hackerrank for practicing. They can offer positive reinforcement because you can see how you are able to solve problems and keep track of your success on those.

NumberCruncher 9 ago 0 replies      
If a decent B.Sc. degree in CS and 1-2 years of real-life experience would be enough to land a job at the "big four" than 99% of academics would work for the "big four".

In my country it is really hard to get a decent job without an M.Sc. I know a lot of people with two M.Sc.s in their pocket (this means at least 1 B.Sc. + 2 M.Sc = 7 years of academic education, like myself) speaking 1-2 foreign languages and having 6+ years of real life experience at the age of 30. And some of them would like to work for the "big four", and maybe in your country. Whether you like it or not you compete with them.

[edit] One of my friends who is IMHO a genius got a job at Google in Zurich and he had a hard time at the beginning.

alistproducer2 1 ago 0 replies      
I don't think you are cut out for a job at the big tech companies simply because they do put so much weight on discrete math and puzzle solving.

I say this as a person who is pretty much in the same boat.

heisnotanalien 4 ago 0 replies      
Your performance anxiety about failing at algorithms problems is making your fail at algorithm problems. You need to believe. Yeah, maybe you will need to work a bit harder but you can do it.
AlexCoventry 9 ago 0 replies      

 > I can solve most problems correctly given enough time > (usually 2x+ longer than interviews).
That you can solve them at all puts you in a rare and valuable group.

It probably won't get you a "big 4" job, but you might experiment in some future interviews with being transparent about the conditions in which you can solve such problems. E.g., "Give me three hours in a room by myself with paper, pencil, and a disconnected laptop running $MY_DEV_ENVIRONMENT, and I will be able to work it out."

hkmurakami 23 ago 0 replies      
Yes, some people are naturally bad at the big 4 style programming interviews. I know several great engineers who lead leads at startups who have had difficulties in such settings.

I myself had a terrible time with McKinsey style case interviews, which is sort of a cousin to tech interviews.

timwaagh 12 ago 0 replies      
wow you sure dream big. i would not know anything about joining a big four tech company. but it seems like you went up from system administration to developer. congrats on that. I think you have worked hard and you are doing very well for yourself. Of course learning to get better at interviews is going to yield results sooner or later. So keep doing that. there will be one day when somebody gives you an offer at a higher salary because of this.

I don't know whether joining the creme de la creme of the industry is possible for somebody who has some trouble with algorithms and the like. it seems a pretty essential differentiator. I'm not very quick when problems get harder as well. But you know whatever. i still eat and i own my home.

contingencies 17 ago 0 replies      
Big companies suck. They stifle you creatively, make it difficult to learn or find a challenge, and tend to surround you with people who have a conservative mindset. You will rarely be exposed to all aspects of a business, rather only to the pigeon-hole you are assigned.

Find something you enjoy, work on it, don't worry what other people think. People that you want to work with tend to care more about your attitude, confidence, personability and capabilities rather than paper or formalisms. As long as you are learning and pushing your boundaries, you are not wasting your time. Keep applying for different smaller businesses in your area or that you may be interested in: also, in many countries employers may let you come on as a 3-month lower-paid intern then up your salary when you prove your skill.

It seems you have reached a point where you are doubting yourself: this is healthy, but give yourself a break! Look at all you have achieved, focus on the parts you enjoy, and worry about planning a career path after a job or three.

jauer 20 ago 0 replies      
Taking this in a totally different direction...

Have you been evaluated for ADHD? (PsychD with the long paper test & blinky box with clicker, not necessarily MD with the "Ask your Dr about Adult ADHD" screener).

You might not have the stereotypical symptoms of ADHD, but the executive function hit (and unconsciously compensating for it) can lead to symptoms that resemble a lot of the things you mention in your background: feeling like you have to work harder than classmates, having issues with algo problems, performance anxiety, and needing 2x more time on some problems.

I mean, aside from school, you are clearly smart enough if you can do full-on sysadmining (debug and solve problems, not just follow tutorials) and use code to solve project euler problems. Why not make sure you aren't handicapped in a way that's totally treatable?

Of course, this could also just be graduate nervousness and insecurity that can be overcome with practice and experience, but I wish someone had mentioned this to me when I was mid-college so I'm mentioning it.

Disclaimer: I am not a medical professional, this is from personal experience and comparing notes with coworkers with ADHD. YMMV.

grahamburger 21 ago 0 replies      
Consider that it can be easier and often more rewarding to be a good software engineer in a non-software field than a good software engineer at Big4 - you can make major contributions to other fields even as a mediocre software dev because you're not 'competing' with the best of the best. Take up a position as a software dev in a field that has not yet been eaten by software and ride the wave to the top.
jwiley 22 ago 0 replies      
I graduated during the first dot.com boom, and decided to transition from Economics to web developer. I got a job at a small company, with minimal programming knowledge. My programming test was explaining how a Perl program I wrote worked.

I certainly wasn't a great engineer, and I have never been a natural programmer. But the company I worked at realized that they didn't need the top 1% to build basic enterprise software. Paying a kid out of college 1/5th the salary of a top 1%er, and who a maniac about learning, was pretty attractive to them.

The barrier for you guys is so much higher now, and it's a shame. We need you. We really, really need you.

I think the real question is: do you like building real applications? Algorithm questions are wonderful intellectual challenges, and useful background knowledge. But most engineers I know spend 90% of their time figuring out why something wont compile, trying to integrate with crazy APIs, or dreaming about how new technology X will fit into the stack. Worrying about whether the hash table Java uses is O(n) or O(1) is very low on my priority list, and something hard to justify to bosses and customers who care about a shipped product more than microseconds of optimization.

Take a break from programming if you can. Get a job in retail, and experience a different form of suffering for a while. Or join the Peace Corps. When your brain gets rested, find an open source project that interests you, and contribute to it. If you can't find one you like, or find that it bores you to tears, consider another profession. There's no shame in that, the world needs doctors, lawyers, chemists, business people and barristas as well.

NikolaNovak 1 ago 1 reply      
Hmm, few notes & questions:

- Being cut out for software engineering activities; vs software engineering career/success, may be different skills and concepts. You could be good at development, system administration database administration; without necessarily being good at succeeding in any particular type of company culture or organization, applying those skills. Which one is your question: can a person be "not cut out for software engineering", or can a person be "not cut out for success at particular type of company as a software engineer"? [I would give the answer for both a "probably, in principle, but less often than assumed].

- You mention some of your perceived history of effort, success, and lack of success. What about more personal stuff - do you ENJOY the work? Are you attracted to software engineering (however you see it - development, sysadmin, etc)? Would you dabble with it even if you got a job in an unrelated field?

- Do you have a specific filter you might or might not be aware of? Are you seeking specific types of jobs in specific types of companies under specific constraints?

- Do you have friends you trust in similar professions, or with similar interests? What do they say?

- How about colleagues, classmates, profs?

- Number of failures at obtaining jobs is a metric but not a predictive one without context. Skill at interviews is not the same as skill at software engineering is not the same as skill at organizational success.

- Similarly, you may have _perceived_ to be working harder at college; you may have _actually_ been working harder, due to your higher standards; you may have been working harder but _not_ receiving the same results as others - without full understanding I would not automatically put full weight in your perception of relative work.

- Top Companies and Top Projects may not have one-to-one ration. Why do you think you want/need to work for those particular companies? Are you interested in prestige of the name? If not, what is your true interest - type of work? Team culture? Accomplishment? Paycheque? Write a list of your actual priorities, be brutally honest with yourself, and see how they match with those "top-tier companies".

- How would you perceive your skillset at large? Your communication skills, people skills, friendliness, dependability and reliability, loyalty? Personally, I look for a reliable willing learner on my teams more than somebody who can solve puzzles but will cause havoc - different companies have different fashions however.

Either way, best of luck :)

kmonsen 23 ago 0 replies      
I matured as I get older, don't feel too harsh about yourself because of where you are know.

I think the most important part is if you are interested in software engineering and find coding fun.

Life is long, and you have many, many years to get "successful" still. But there is a large chance you are more successful than you think.

As for tech interviews, it is a skill that can be learned. Things like hackerrank.com, but also just getting more work experience helps.

deeteecee 23 ago 0 replies      
Having trouble with interviews isn't a big deal, it's just a grinding process. What I do personally is think through issues I had myself while going through the problem. Not necessary but you could also see if with the post-interview results, you can get any possible feedback from the interviewers themselves.

Performance anxiety is just something you have to get used to dealing with in some way. You can always just ask questions during the interview.

DrNuke 21 ago 0 replies      
Your best shot may be finding the way to use your knowledge in a field you are really passionate about. In fact, it seems to me you are just hanging yourself at some sort of cerebral tree while cutting passion out. That way, you will always work harder than your peers and get less and less satisfaction. Use software engineering as a tool to achieve applied goals.
elizabethanera 23 ago 0 replies      
>My current target is a role at one of the "big four" tech companies or a high-quality startup doing either webdev or infrastructure engineering.

You're shooting high and dissatisfied that at 1 year out of college you're not 'there' yet. Regardless of your interview performance or speed with tech challenges, you're still a 'junior' (not a great term as it can seem insulting, but it's what the industry uses) engineer.

Your question is more "Is it possible for someone to not be cut out for super-prestigious software engineering?" Which is much different. If you want it you're going to have to work hard for years. Wanting it for the sake of the prestige (which is the vibe I get from this post, sorry) is not enough.

Why do you have this "if I can't make it there, it's just not worth doing" attitude? Do you have to be heads above most engineers in order to feel ok about yourself? Listen: all around the industry people need software engineers. Serve your purpose as a diligent engineer.

Just: do good work. Then do more of it.

random_coder 1 ago 0 replies      
To me, it looks like you're just having problems with algorithm interviews. I have a solution for you and it's much more effective than textbooks - go to websites like www.spoj.com, projecteuler.net, topcoder.com and many other similar online sites, I suggest www.spoj.com - start with the easiest ones (on most of these sites, problems are tagged by their difficulty level) and solve them - I mean code solutions to them in a language of your choice (But C, C++ and Java are popular in interviews) - these sites have online judges where you can submit your source code, have your code run against a large suite of test cases for each problem and get results back - all in a matter of seconds.

Solve 100s of these problems(start with easy ones and move into harder ones at your ease, learn new concepts and algos as you go) and try the interviews again in another 6 months. I promise, you'll improve a lot at this kind of problem solving. I've seen a number of people do this and succeed at algo interviewing game.

rogy 1 ago 0 replies      
Not everyone is the same, there are a lot of people who come straight out of college to the big companies who end up not being incredible software engineers. And vice versa.

Not everyone can prove their real skillset to the Facebooks of this world in an interview, with very little SE real world experience. You don't need to aim so high to enjoy your job and learn a lot.

DjGilcrease 18 ago 0 replies      
"- I am REALLY bad at algorithm problems and experience serious performance anxiety. Concentrated studying and mass interviewing havent led to positive results so far. I can solve most problems correctly given enough time (usually 2x+ longer than interviews)."

I am a principal engineer at a mid size (~4k employees) tech company (F5 Networks), and if someone asked me to do a bubble sort, or other algorithm from memory I would end the interview there, and have. The CTO at a company I was interviewing at asked me to do bubble sort in less then three minutes, I said no, lets just end the interview loop here. Google almost always asks a pure memory algorithm question, though they have been getting better at remapping the algorithm solution they want to actual work they are doing.

As an interviewee the ability to write out some random algorithm from memory, that I could just google for tells me nothing about the type of work I would be doing, how I might fit with the team, how the team thinks and collaborates.

As an interviewer I never ask this type of question since it does not tell me anything about how you think, work though problems, and collaborate with others. I always try to tie my technical questions back to problems I have had to solve in the past two or three months.

For a Software Engineer of any level your ability to think critically, ask the right questions, and work with others is way more important then your ability to bang on the keyboard in the right order. Syntax and idiosyncrasies of a language can be taught to just about anyone who can think critically and knows how to collaborate with others.

"Does there ever come a point where it just isn't worth it to continue trying to be a software engineer who can get into top-tier companies / projects"

Not if you enjoy doing it. If you do not enjoy it and find the work a constant struggle that you dread facing every morning, then move on to something you enjoy.

Also "top-tier" is rather subjective. I will never work for Google or Amazon. I would prefer to enjoy what I am doing, be able to have a life outside work, and get paid more (At least compared to Google and Amazons average pay in Seattle for the same role).

realworldview 23 ago 0 replies      
A mentor is a great addition when doing anything new. SSomeone to guide and advise, to answer questions, to be realistic and stop you from jumping early, and perhaps someone to talk to about oblique issues. I'd also recommend (without knowing what you already do) good food at regular intervals, ensure you have and are able to stick to basic routines, don't drink alcohol, minimise bread and pasta intake (no need to stop it completely), walk where you would previously get a ride, plenty of air and water (same as for dogs and cars) and to return to the start, if you can't fin a mentor then try ensure you have people to talk to and with, especially offline.

And don't worry about your speed or performance. I'm as slow as hell and manage successful projects, very hands-on. Find your niche, and don't expect to be good at everything.

dustingetz 18 ago 0 replies      
I know a guy like you who had to work so hard in class, we called him names because of how bad he was at coding. Somehow we ended up great friends. Now it's 10 years later. The guy is a contract Scala programmer and bills $100 an hour and is generally one of the best programmers at the companies he contracts for. Not big four, but regular bread and butter companies that build their own software. He got to where he is by not drinking in his 20s and by studying software before work an hour every single day. He even has a wife and young child... we are 30 btw
robbles 12 ago 0 replies      
> I can solve most problems correctly given enough time

Have you tried asking in advance of an interview for a few extra hours to do the task(s)? I think this is a totally reasonable request to make ahead of time. Plus, any company that thinks a hard time limit is necessary to evaluate your skills is not going to be worth working for.

throwanem 1 ago 0 replies      
It sounds like you're trying to go straight from ~zero to Google. Would you torment yourself over being unable to go straight from high school football to NFL superstardom? And have you considered the possibility that NFL superstardom may not be the only way in which you might satisfy your ambition?
pmorici 20 ago 0 replies      
Something people don't talk about much because many people might not even realize it is that after your first job most people find a job though their professional network. It's hit or miss interviewing cold.
crashbunny 15 ago 1 reply      
Some people will need to spent more time that others on learning the skill, but if you love it, you do it.

Search youtube for Neil deGrasse Tyson on dyslexia

lunchboxsushi 23 ago 0 replies      
At the end of the day "if you do what you love for living you'll never work a day in your life". I'm guessing you do love your career and seeing as you would put in 60-80 hours of work into school each week doesn't mean your lacking any motivation behind it. I look at it as baby steps, keep working at it with the same motivation and you will reach the goals you want. Anyone can who has the passion for it.

but perhaps you might want to do a bit more math + physics studies (online, books etc..) it helps you with formulas and thinking a different way which helps IMO with programming.

Lastly, use a rubber ducky when programming :).

bwackwat 1 ago 0 replies      
Software engineering covers is an increasingly wide range of skills. For me, it has been critically important to realize the things which I love doing in this field, and the things which I am genuinely particularly good at.

Overall I might not necessarily "talented," but I certainly enjoy my side projects, have looked for jobs in different areas of work, and try not to shy away from my opinions.

Your comments are varied and it is difficult to fully understand your perspective. Nonetheless, I greatly recommend finding two things: the things you love about software engineering, and the things you believe you have done well within the field.

Capitalize on those things!

JamesBarney 21 ago 0 replies      
Do you have problems solving algorithm challenges when you're not in an interview?

If it's just doing interviews I would recommend going to a doctor and maybe getting prescribed some beta-blockers. It should calm your nerves enough you can focus on the problems at hand.

1) Many people live great fulfilling lives not working at AmaGooBookSoft. But 1.5 months 1-3 hours of time isn't a huge commitment. Also consider that you might not be studying well. What types of questions are you being asked and how are you studying?

2) What are the types of things you decided to improve on?

3) Yes

redleggedfrog 20 ago 0 replies      
"My current target is a role at one of the "big four" tech companies or a high-quality startup doing either webdev or infrastructure engineering"

Yup, I'd say if that's your goal, then you're not cut out for it.

That's like saying you want to get into stock car racing because you want to hang out with Danica Patrick. You're doing it for the wrong reasons.

You have to love it for the joy it gives you to learn it and use it. Otherwise you won't spend the necessary time to be truly good at it.

dnprock 20 ago 0 replies      
- Do you like to make software projects? Can you write software for your projects (slow or fast doesn't matter)?

If you answer one No, then you should move on.

If you can answer Yes/Yes, then you should continue. I suggest that you stop interviewing. Your negative experience is hurting your attitude.

Start with what you know.

- Does your current company write software? Go help them write their software.

- Do your friends work on software projects/companies? Go help them write their software.

intellegacy 16 ago 0 replies      
I think you aren't asking yourself the right question.

It's not about whether you are "Cut out" for it or not.

The most important question is: Are you doing what you want with your life? And is your current path helping you get there?

Another user suggested, that you might not even like software engineering. Sit down and seriously ponder that.

smoyer 23 ago 0 replies      
How did you get into technology? Did you choose a tech career or did it choose you? Why do you want to work for one of the big four? And what are you passionate about? Happenstance is not a reasonable way to manage a career. And it's probably unrealistic to keep up with those who grew up tinkering with code.

On the bright side, you might very well lead a more balanced life outside work. It's also not realistic for me to make an assessment of your choices but you should honestly answer these questions for yourself.

WhitneyLand 18 ago 0 replies      
You must, at all costs, find a way to realize your actual ability level is independent of your own mind fucking with you to create anxiety and doubt.

The real question is do you have passion and innate motivation around it? If you can earn a CS degree and you have the passion then relax. You just need some time to get the interviewing figured out.

trhway 23 ago 0 replies      
software engineering and the algorithm based interviews, while connected, are 2 different things. The later is an attribute of software engineering industry. So you may be not cut out for the industry, not the engineering itself. Beside the engineering itself, the industry is the people working in it with a lot of tribal superstitions, rituals, "gods" and "saints", etc. A kind of weak version of religion. Not everybody fits well or easy.
icedchai 21 ago 1 reply      
There are many, many types of software engineering roles. Perhaps you are just applying to the wrong ones. Maybe you're not a good programmer? I can't say. But even if you aren't, that doesn't mean you can't be a good engineer. You mentioned sysadmin experience, so perhaps you could focus on a DevOps or SRE role?
fooey 20 ago 0 replies      
Of course not everyone can be anything they want.

Practicing basketball for 8 hours a day for 10 years doesn't guarantee you'll get drafted to the NBA.

If you enjoy it, recognize your limitations and try to figure out a way to make money doing it, but don't assume you're going to be a rockstar just because you put in the time.

CharlesMerriam2 23 ago 0 replies      
I remember a fun talk by our department chair about the graduate admissions in Computer Science over the years. The chart fluctuated with booms and busts: lots of applicants during hype and profit and a few during gloom and retrenchment. The second line, the surviver (matriculation) numbers over time, was a flat line.

There are many options in life and computer science is not for everyone.

Taylor_OD 23 ago 0 replies      
I think its worth pointing out to interviewers that you experience performance anxiety. Some might have a solution like letting you do a take home coding exercise. I would also get as much high quality code on github that you can share with interviewers that will show you can write code regardless of your ability to answer questions in real time.
voidpointer 23 ago 0 replies      
"Working at one of the Big 4" is not a good way to state your goal. Whatever yor definition of the big 4 is, they are very different companies with different cultures and different products. Find the company (from those four if you want) and product that really excites you and go for that.
clw8 20 ago 0 replies      
If you finished a CS degree with a 3.6, you definitely have the aptitude. What makes you so sure you had to work harder than your classmates to get similar results? They could have been burning the midnight oil a lot more than you think.
Apocryphon 1 ago 0 replies      
Have you considered trying an interview boot camp? As awful as the state of the industry is for such a thing to even exist, having feedback and mentoring could be an additional aid over studying and practicing on your own. Interviews are conversations and not solo HackerRank tests, after all.
ktRolster 21 ago 0 replies      
It took me 6-8 months after college to figure out the job search/interview process. Once I figured it out, I had no problem.

It sounds like you are running into problems with performance anxiety in interviews. Fix that.

ziikutv 20 ago 0 replies      
I usually lurk on HN but I just logged into say this because this gets me very worked up...

Mate, fuck what anyone here says, with enough dedication you can do anything you want.

With that out of the way, fuck the big 4s as well. Working there imo is overrated. However, what I would say is you should work on smaller companies and focus on your career path. If you aren't learning at a company then you should be leaving. You can always keep eyes on job posting at those big 4s and develop skills at work or at home that you need to get in.

Just to recap, fuck the big 4s and given enough dedication and hard work anyone can do anything they want. Its not rocket science. heck you can even learn rocket science, there are many resources online. Knowledge is everywhere.

nilved 1 ago 0 replies      
Experience can be a replacement for formal education but you need one or the other. I think that anybody can work at a big 4, but it won't be your first job unless you went the formal route.
BurningFrog 21 ago 0 replies      
Writing software is hard, and far from everyone can be real good at it.

It also takes time to become good at it. I was pretty useless the first three years of my career.

1024core 1 ago 0 replies      
Not only is it possible. but at a previous job I soon realized that every one of these people had decided to get together and take over the company.
jimjimjim 22 ago 0 replies      
1) no one starts at the top.

2) you have done enough prep. Get some real world experience.

3) make them want you. Establish yourself.

Ologn 23 ago 0 replies      
Being on the other side of the interview table is helpful for perspective. You might even experience this if your team is hiring for a position and wants you to look over resumes, do phone interviews, in person interviews etc.

If I interview six people for a position, usually one is really good, four are average, and one is really bad. Guess who is getting the offer? It's almost a paradoxical thing - being average is good enough to keep a job, but you have to be in the top 16% to get a job. Lucky for you, the above average interviewer usually gets competing offers, so that leaves the less attractive job slots open.

If you take six random programmers with a CS degree and <2 years experience, are you the best of those six? If not, you're one of the four average ones, and are not going to pass most interviews unless the market is hot and they desperately need you or you have a friend bringing you in who vouches you can do the job.

You also say you want to "get into top-tier companies / projects". Well, that doesn't mean being one standard deviation above the mean, it means being two standard deviations above the mean.

So now you don't just have to be the one in six that sticks out as good, you have to be the one in fifty that sticks out as great. You know those one out of six quality tier guys I talked about? Now you're competing with just them, and you have to be the best among seven or so of them for the job.

When I was studying CS, I was once assigned to write a homework on the process scheduler for Linux, Mac and Windows. Within 20 minutes I'd know I would have an A on the paper - that was all the study into the subject that was necessary for that mark. But then I continued to read about process schedulers for the rest of the night, because I always wanted to look into it, never really had, and if I was ever going to do it, I knew then would have been the time.

I'm not like that all the time in terms of devotion to learning CS, but if I was, I would have a shot in being one of those two standard deviations above the curve programmers. Because that's what they do, even after they know they got the A on the paper, they keep reading even if it takes hours just so they really know and understand the subject more fully.

jwatte 1 ago 0 replies      
Is everyone cut out to be an Olympic athlete, or are some genetics involved?The answer is "it's a mix."

Can anyone with diligent work ethic and a continual effort into learning find some place that needs their skills? Very likely.How well does your skill set match how broad a market? It depends. If you are narrower, or aim higher, it will take longer to find a match.

That being said: if you have sysadmin skills, have you considered an SRE position? Or DevOps?It may be that you find a better match there.

projektir 21 ago 0 replies      
Disclaimer: I have never worked for a Big 4 company, and the only interviews I had with them were during college with Amazon, and I've failed both of those, either in the 1st or the 2nd round. So I'm not a success story. That being said, if I were to set this as a goal, I know what I would do.

> Is it possible for someone to not be cut out for software engineering?

The answer to such a question is always 'yes'. But there's a lot of danger in assuming that you are the someone. This is betting against yourself. And there's only one of you in the current reality state. Don't bet against yourself. That is not how you should think.

Definitely don't bet yourself in this instance if you already have experience successfully getting multiple jobs...

What you should investigate instead is what do you want, and how much you want it. Consider the various pros and cons and how they make sense to you. How much do you really want to work for a Big 4 company? How do you feel about some of the potential tradeoffs (i.e., time spent on learning algorithms and interview questions)? Same with the software engineer question. How much do you want to be one? Why? What are the tradeoffs?

[Note: not all tradeoffs are "true" tradeoffs, i.e., that you'll loose something. Learning algorithms may make your mind sharper and help you in other areas. But it also means you can't spend that time on, say, relationships, entertainment/hobby, or even something in the health department. There's nothing wrong with tradeoffs and don't scrutinize them too much but still be aware that nothing you do is free]

The problem with the question of "am I not cut out to be a software engineer / Big 4 employee" is that no one can answer it, including you. You will, most likely, never ever know unless you reach some success point where you can definitively say yes. You can't just base it on things like being rejected by many companies or struggling in college, because that already implies those are reliable proxies and that's a really shaky assumption. I had trouble in college, too. I graduated with a 3.0. It doesn't seem to mean a thing, other than what it literally means.

> So far, I have interviewed for and been rejected by no less than 10 different roles. I was also rejected by approximately 20 companies during college. I always fail during tech portions.

This is neither here nor there. There are a lot of factors that could go into something like this, it could be way too many things. Not enough information. The only thing I'll say is try to develop a model of what kind of companies you are not a good fit for, so that you don't spend too much time on them, and avoid wasting too much time on unlikely pathways unless you really want to work for some specific companies. I would often apply to very few places, get offers from all of them, and then choose among that. Applying to lots of companies indiscriminately was both stressful and yielded nothing. Also, don't be discouraged from applying to places that have requirements you don't meet but are nonetheless interesting to you.

Also, field, location, frameworks, what the company lacks, how the company is doing, etc., all affect your chances.

> performance anxiety

I got rid of my performance anxiety mostly through a major philosophical shift. I don't know if this is a topic that one can give "simple" advice on... in the context of interviews, for any given interview, assume that you will pass it. Just assume this, without making anything depend on it being true. Any time something in the interview goes "wrong", just assume it doesn't matter. Don't think about how you "should" know the answer to some question, just give your best answer or say you don't know and move on and do not assume that this jeopardizes your interview.

Whether you did something "wrong" during the interview, you can figure that after it is over. And, remember, they're just interviews. You do not owe to the world to pass them, they don't say something insidious about you, you're not a worse person for not passing one, nor are you a worse software developer for not passing them. You interviewing for your benefit, not theirs or anyone else's.

> If my goal isn't an impossibility, how can I efficiently progress towards it? Would a mentor be helpful?

Assuming you do decide that getting into a Big 4 company is a fairly high priority goal for you (and, really, even if it's not), the first thing I would recommend is making sure that you're focusing about progress and results as opposed to time or work. You want the most productive results from the least amount of time and work. All work should be justified.

Essentially, you're trying to learn how to solve algorithms quickly and under pressure. As with any learning tasks, this is a fairly big and complex topic that's not well understood. This is where you want to apply your learning how to learn skills and try to pool whatever intelligence, intuition, and knowledge you currently possess. I can write, well, a lot on this topic so I'll try to keep it relatively short: try to figure out what is needed and what is missing in your head, and try to find a way to process your learning style and what kind of things give you trouble. Grinding on a problem over and over actually probably benefits more brilliant people more than the slow ones among us, since the brilliant people can make their brain form all the connections, we actually need to trace what goes where.

Maybe you have a poor memory and you need to organize the algorithms you're learning. Maybe you're not used to writing code a certain way and you need to do that. Maybe you should take a stab at some weird language to free up your brain from misconceptions. Maybe you should play a video game to see some pattern you've never paid attention to before. Maybe you should get some sleep and stop worrying about things for a week. It's a bit of a strange process at times but it's not entirely hit or miss and if you are very attentive to your brain and you do not waste time shaming and guilting yourself, you can discover a lot of interesting things about how you work, whether or not you'll make it into that Big 4 company.

I can write more about this but it's not going to fit in an HN post.

Just, don't bet against yourself.

DanielBMarkham 23 ago 0 replies      
When you're looking for work, you enter the marketplace with a certain set of skills and experiences.

As you interact with the market, you're supposed to be understanding better what sills and experiences you should have had. Then you start gaining new skills and experiences to match the market.

If your market is so small as to only consist of a few name-brand companies? Your sample size is way too small. This is a numbers game, and you need to play the numbers -- not try to mold yourself into some candidate some arbitrary set of companies would like. Quite frankly, it sounds like a fool's game.

You're a smart person. Play the game according to your rules, not theirs.

mdip 23 ago 0 replies      
I'll try to answer your question and provide advice on each of your points but to your broader question, yes, absolutely someone can be not cut out for software engineering. The people I know who were "not cut out for it" usually went to school for CS because "that's where the jobs are" but it wasn't necessarily where their passions were. Several of them ended up in tech, but often on the sales or management side, not in software development. Really, if you enjoy it and want to do it, you can become cut out for it. You'll simply learn what you need to learn to become successful.

- Working harder than others in college. I don't find this to be a particularly useful guide for anything other than your work ethic. You had a respectable GPA and were willing to spend 60 to 80 hours per week on schoolwork. So what if someone was able to eek by more easily? Maybe they had a leg up on you and got into it earlier. Maybe they wouldn't have put in that time if they needed to.

- Rejected interviews / performance anxiety / bad at algorithms I can't speak to working for "the big 4". I haven't had any interest in doing that, myself. There's plenty of great jobs out there at smaller companies (including startups). If you know you're bad at algorithms, start studying. Grab the ones from interviews that you've been bad at and learn them up and down. Write example libraries of each in a few programming languages. Put them in a GitHub/GitLab/BitBucket repository. For the languages you're targeting jobs in, find an open source project in the language that has a good community and participate. Find a library you wish you had and write it. Put them in a repository.

Failing at interviewing at a top-tier company may be an indicator that you're not cut out to work at one of those top-tier companies. This sounds worse than it is. Maybe you wouldn't thrive in that environment as much as you'd like to thrive? Wouldn't you be happier with a job at a smaller outfit where you can grow, or maybe just a different outfit? If Google/Facebook/whomever else you consider top tier is proving too difficult to get in to, look elsewhere.

I mentioned the whole repo thing and this is advice you'll find all over Hacker News and elsewhere. It's not an industry fairy tail ... it works. In your cover letter, specifically mention your experiences with the languages they're looking for and link to relevant projects. In your resume, provide a link to your GitHub ID or relevant ID on another site that has a list of your projects. If you're lucky, they'll have already looked over some of your code. But don't count on it.

Having that available gives you the opportunity to creatively deflect those technical questions. Remember, they're asking you to demonstrate your knowledge. Just because they gave you a whiteboard doesn't mean you can't demonstrate it differently. Three years ago I took an interview[0] and was asked something algorithmic around multi-threading. I had written a library in a private repo that handled message passing between two applications running on the same machine in a thread-safe manner and was directed to the white board. I said "I can do you one better"[1] and mentioned a library I had written for thread-safe in-memory message passing between two applications running on the same machine where I not only had to solve that problem, but had to do so very performantly and had to address a number of other corner cases. The interviewer let me log into my BitBucket account, plugged his laptop into the meeting room's TV and after a quick apology about the code quality (it was actually pretty good, but not perfect which was why it wasn't public, yet), I showed him the solution. The upshot was that the entire rest of the interview was me walking through this code[2]. Why did you use a Mutex there? Why a ManualReset there but an AutoReset there? It was a lot of fun.

1) Yes. When the benefit of getting into a top tier company outweighs the grief in trying to get there. Maybe you're there, maybe not? Ask yourself why you're focusing on these specific top-tier companies and find out if there's a company not currently in your list that may fit those criteria would be my only advice here.

2) You're already doing this. Post mortems are a good idea. Another thing you can do is join some meet-up groups that have professionals in the parts of the industry you're trying to get into. After you get to know some people, you'll find folks who do regular interviews. Ask them to help you. I used to give a lot of interviews and I have volunteered for interview prep many times. A lot of anxiety around interviewing comes from social anxieties in general. Joining a meet-up group will give you practice at introducing yourself and making a good first impression. Walking up to random strangers at the super-market and striking up a conversation works, too (I've done this as practice, my self).

3) My last two answers are my best advice. A mentor would be helpful, but it doesn't have to be such a formal mentor/mentee relationship. Get into some user groups/meetups and meet others in software development who are where you want to be. Make friends and those friends will become your mentors by default if you're willing to seek advice, ask for help, and accept hard observations you may not want to hear.

And, most of all, hang in there. It sounds like you really like doing this stuff and want to do it. You're already ahead of most of the people I used to interview. Granted, it wasn't at a top-tier company (though we were a huge internet company) and it wasn't for the sexiest of development jobs (because that kind of attitude would have had you hired pretty easily if you were even close to qualified where I was at).

[0] This interview found me. I wasn't looking at the time but my dad's advice of "never turn down an interesting interview/opportunity" stuck in my head, so I was very casual in this interview. That turned out to work in my favor for whatever reason and I ended up being offered the position at a salary figure I had never expected to get. I didn't take the job because it required moving out of state and that wasn't an option for me at that time.

[1] This sounds really arrogant and I'm embarrassed to say that those were my exact words. It could have easily been off-putting to the interviewer and I knew that, but because of the last footnote, I was overly casual and confident (if I didn't get the job offer, who cares, I probably can't take it anyway!). The funny thing was, this group of people went from extremely formal in the beginning to casual by the end. I felt like we were having a discussion like I'd have with other developers over beer, not like I was having my knowledge put to the test and when the "thanks/hand-shakes" happened at the end, one of the guys said something along the lines of "Thanks for your time, I really enjoyed this interview" to me, which stood out since I can't remember an interview experience that equalled it.

[2] I picked a perfect library and I ended up using this library in two other interviews as example code. It was a tricky bit of logic where you had two applications, each in different security domains with both responsible for processing some data and one responsible for requesting and writing the data. They used MemoryMappedFiles to share the data between them and had to manage situations where either side may not be in the position to be able to receive the data, so it covered a number of scenarios neatly in one library and made message passing with these odd requirements a simple matter of a few lines of code wrapped in whatever threading construct one wished to use.

kafkaesq 23 ago 0 replies      
1.) Does there ever come a point where it just isn't worth it to continue trying to be a software engineer who can get into top-tier companies / projects?

Maybe, though I don't think you're at that point yet. More specifically, though, you may do better to simply let go of this idea that you need to join a "big four" (or "top-tier" company in any other sense) in order to feel like you've reached your potential (or are on a safe track to it). Why? For one thing a lot of people who "make it" into those companies report back that (apart from the prestige) the experience just wasn't as rewarding or interesting as they thought it would be.

But even more fundamentally: After all, you have to remember that none of these companies were anything like what our image of them is now, back when they started. And they certainly weren't "the companies to go work for and make a name for yourself", back in their very early days.

Point being: rather than chasing after the coattails of what other people have done (and which society later deemed to be great), you may do better thinking up something you can do that will great, and make it your goal to bring it into reality. And by definition, its potential greatness may lie in the fact that it just isn't seen as "great" by a critical mass of people yet (or because it simply raw and unfinished, and waiting for someone to come along and provide fresh interpretation and perspective -- someone like you, perchance).

BTW, there's an obliquely related quote from Jamie Zawinski about running after "success", and where you end up as a result:

And there's another factor involved, which is that you can divide our industry into two kinds of people: those who want to go work for a company to make it successful, and those who want to go work for a successful company. Netscape's early success and rapid growth caused us to stop getting the former and start getting the latter.


Things are rather different nowadays, and I wouldn't say that working for Google or FB now is anything like working for the ticking time-bomb that was Netscape in 1999. But, existentially, I think there's a similar lesson to be drawn from being obsessed about joining something "great" versus... doing something great.

And what's interesting about JWZ's is that, while he appears to have made out well enough for the years in the tech industry -- where he ultimately succeeded was in defining "success" on his own terms, even if it meant doing something completely different (running a music venue), even if was guaranteed not to make him rich or "influential" as certain other people with whom he also worked at Netscape, and who we hear a lot more about today.

2.) How can I find some positive reinforcement in interviewing / interview prep even if I constantly get rejected? I do perform post mortems on every interview in order to find areas to improve.

Fundamentally, we can only find positive reinforcement from within (and from helping others) -- not from other people's evaluations of us.

But in regard to interviews, it may help to remember that these are largely bullshit. Basically we're in the midst of a long-term speculative bubble in regard to the supposed potential of certain cargo-cult interviewing techniques (hashed out in the past few years in folkloric fashion) to assess people's inner qualities, and predict their potential for "greatness." Which basically seem to operate on the principle of, "Well we asked such-and-such questions before. So let's ask 5x as many, 10x harder. That'll get us people 50x better."

All of which are fundamentally, hopelessly flawed: not (just) because the questions are silly, and increasingly have become tests of rote memorization.

But because you don't do great things by "being" great, or simply by finding "great" people. Great things are accomplished through great ideas, and from the courage (and strength) to pursue them. And because you're pursuing something you believe in -- not some random goal that someone else put in front of you.

Focus on these qualities, and you'll have a much better shot and ending up where you really want to be in this life.

ufmace 18 ago 0 replies      
Is it possible for somebody to not be cut out for software engineering? Absolutely.

Are you not cut out for software engineering? You've already been doing it for 1.3 years, there's no reason for you to think that.

Are you not cut out for being a high-quality professional? That sounds like a yes. But it's all about your mindset, not your skills. Your skills are just fine, but your mindset is much more important.

You need to ask yourself what you want out of your career. I say that rhetorically because It's pretty clear from your writing that what you're looking for is an external perception of status. The thing about status is that the people who chase it above everything else will never, ever get it, and it isn't worth as much as you think. Who exactly are you trying to impress with this status that you're looking for? If you manage to get it (not likely), and these people are actually impressed by it (even less likely), will you feel good about that for more than 5 seconds? I'll let you guess the likelihood of that.

The thing about jobs perceived as high-status is that so many kids are desperate to get them that any one person will have a very hard time getting them, and the people who do get them tend to get treated like dirt, because the companies know very well that there's a line of people down the block ready to replace them if they displease their management in the slightest way.

You're not gonna get that kind of status with your job search. What you can get is a solid, upper-middle class salary, a good work schedule, and respect that you have earned with your productivity from your co-workers and management. If that's enough for you, you can get a job like that very easily.

I never got a CS degree, and have never really gotten good at the fancy algorithm type of problems that some tech companies like to use in interviews, and that you seem to be sweating over. Yet I just finished a job search, got multiple good offers at once, and accepted a good job with a solid company. How? I never bothered trying for any of the big-name companies, and am perfectly open about what my skills are and aren't. There are tons of good jobs out there that want people that can solve real-world problems instead of academic exercises on whiteboards.

And that's where real status comes from. Having a solid job that you're happy and successful at is real status for adults. Just wanting to have Google or Facebook on your business card is for children.

Not that there's anything wrong with working for the Big 4. But do it from a position of strength, i.e. you're already a strong, confident professional with a lot of value on the market, and they better give you a good offer and not jerk you around on the interview process because you have plenty of other potential employers to choose from.

fapjacks 20 ago 0 replies      
Please don't goalify working at one of the behemoth hiveminds. You will become a better hacker by working at a small, scrappy non-unicorn startup -- meaning, an actual startup -- with tons of work to do. It's not for everybody, but where else can you hack on machine learning on the same day you experiment with building infrastructure? There is so much work to do all around that you'll find yourself digging deep and learning tons of new stuff every single day. One year at a startup I think is worth five at a big ass corporation. Going to work for Google, you'll forever be at the behest of naturally-talented CS PhDs that spend all day answering Gmail support tickets. You won't ever get to play with the cool toys at one of those companies. Seriously. That is one thing I've learned after twenty years in this industry.
beachstartup 17 ago 0 replies      
you should check out reddit.com/r/accounting

terminology like "big 4" is quite telling. you are competing with people who do not view this industry as a stepping stone to high social status, and that is why you are losing.

Ask HN: I am torn between whether I should do MBA or not. Thoughts?
36 points by kakekickball  21 ago   30 comments top 11
rayiner 19 ago 2 replies      
If you want to get into executive management and can get into a top school, getting an MBA is a good idea. Consider going the management consulting route. You'll get a substantial pay increase a couple of years out, and exiting to upper management after being a consultant is not uncommon.

I detect you're a non-native speaker. A noticeable accent is going to be bigger problem if you're gunning for executive management than in tech. I'd invest in some language coaching.

eroo 18 ago 0 replies      
perspective: finished first year @ wharton mba and taking a year off before second year to do an ms in cs (background is quant but not super computational - I'm really enjoying diving deeper into the latter now though).

1) Only do the eMBA if you can get BIGCO to pay for it. Price is unreasonable because it's expected to be expensed to an employer and it is a serious time commitment. I don't think it'd be worth it unless BIGCO is invested in you enough to sponsor.

2) 11-12 year experience upon entry is late for full-time MBA (mean is 5, max is 13). The MBA won't give you the boost to executive management - no one hires fresh MBAs for exec roles. MBA or not, that'll only come from hustle.

3) No empirical data, but my working theory is f(work incredibly hard, be kind to people and foster both friendships and partnerships, always be seeking out opportunity)

Misc: the coursework can be really useful/fun depending on the program. For example, Wharton lets me do the coursework equivalent of a grad degree in statistics w/i the mba. Lastly, the ready access to such a diversity of smart, ambitious people mid-career is really cool.

Happy to chat further if you'd like or put you in touch with MBA or eMBA students/adcom folks.

bcheung 19 ago 0 replies      
If you're already making the kind of money an MBA would doesn't seem like it makes a lot of sense. What's the point of paying lots of money and spending all that time to make the same as what you are now? You're salary will go up from real world experience and increased skills from working on the job too. In my experience, only really large companies where you probably don't want to work pay more as you get more degrees.
hellcow 19 ago 1 reply      
Though I don't have an MBA, everyone I know that's been through HBS recommends going for one reason and one reason alone: connections. You're there to meet people, make friends, and expand your network.

Since the goal is to network, you want to maximize your time there. I'd elect to go through the full 2 years.

thegranderson 19 ago 0 replies      
Do not have an MBA, but many friends who have gone to the top 3-5 schools, as well as some who did eMBA/part-time MBA programs.

There are a few worthwhile reasons to get an MBA, but one really trumps the rest.

As some others have said, the overwhelming value of an MBA is to build strong relationships with future business leaders. End of story. If you don't want to spend 2 years doing that and pay for it, don't do an MBA.

Those I've talked with that did an eMBA mostly regretted it because they were incredibly busy, and barely had time to meet anyone in the program, let alone build strong relationships with them.

If you don't have much background in management or business (most of which you can get from reading books) the course material will be helpful, but you could just as easily learn it on the job - if you can get the job. That is the other reason to get an MBA; to get into a company who requires it, though these are increasingly become less mandatory.

There are many answers to the question of how to get to executive management, but I think a very common one, which is likely to work for most people is the following: work at a service provider which gives you some strong functional/business skills (e.g., consulting, investment banking, equity research, marketing strategy, etc.). Do well there, but don't stay too long. From there, take a middle-management role (e.g, director, VP) at a corporation that is growing fairly quickly. Make your way up, and probably switch to another firm if you're not advancing quickly where you are.

Be careful of the trap of not having operating responsibility - you won't have this as a consultant or investment banker. If you don't have experience owning a P&L, you can't be trusted to do so even if you smart and capable. You could be in corporate strategy, corporate development, etc. but those are not true executive management roles.

Wow that went longer than I intended so I'm going to stop rambling.

eappleby 18 ago 1 reply      
I faced a similar question about 10 years ago. I had a bachelors in engineering (comp sci), I didn't want an MS or PhD, I had solid grades, and I wanted to move into "executive management" (whatever that meant). I ended up getting my MBA at a top 10 school, landed a business role at a large company, and a few years later, started my own company. Business school was right for me and I think it came down to the way I answered one question about myself...

Am I the type of person that embraces new opportunities and takes risks with my career?

At the time, I think the answer was no and as a result, business school worked out great. It introduced me to new career paths, brought in companies for me to interview with, and helped me engage with individuals with vastly different perspectives than my own. If the answer would have been yes, then business school would not have been the right choice. I was 26 when I started business school (pretty common age), and a person's late 20s is one of the best times to explore new directions and be creative with their career, since you already have some work experience and capital, but likely no children. The 2 years spent in business school (or 4 years if, god forbid, you go the consulting or banking route) is valuable time that could be spent taking bold risks.

If you believe that, then to answer your questions...

1. No, an eMBA does not make sense because you are both allocating your time to business school, which can help you identify new career opportunities, but you are also locked in to the company that is sponsoring you, so you aren't as free to explore elsewhere.

2. If you are already making $150k+, then there won't be much impact to your life until you make $1M+, so the salary difference shouldn't be factored in one way or another.

3. What do you mean by executive management? Different executive roles require pretty different career paths, and becoming an executive at a large company is probably 10+ years out, which is likely too far to really plan for.

Hope that helps. Good luck with your next steps.

biocomputation 19 ago 1 reply      
Definitely don't get an MBA if you're not actually interested in learning the material covered by the program.

I also didn't get a pay raise, and I didn't use the connections I made, but learning the material was extremely helpful: market forces, positioning, statistics/analysis, strategy. I still skim email newsletters I get from McKinsey & Co. / Wharton a few times a week, and HBR has some incredibly good articles every now and again.

Source: C++ developer with MBA in marketing.

skierscott 20 ago 1 reply      
I'm a second year graduate student in CS and also debating getting an MBA.

I currently study optimization and machine learning, and in the future I'd like to lead a team of people studying similar topics. Initially, my goal was to stay an academia and become a professor, but now I believe I'd like to be in industry doing similar tasks.

0max 15 ago 0 replies      
To quote a line from the documentary "Something Ventured":

"Who needs Harvard Business School when you have Silicon Valley Business School."

To be fair, I'm most likely paraphrasing. That being said I only have a GED/Some College experience and I've made it into Product Management.

chrisgoman 18 ago 1 reply      
The answer to all your questions is "it depends" (yeah, cliche). I have an BS Architecture (not from the USA) so I had to no choice but to get an MBA degree (from the USA). I did kind an "eMBA" (basically working full time) from a Top something school

1) Yes, if you have an engineering degree. Business is like another language so there is jargon in accounting, marketing, finance, etc that you need to learn. If you are not getting that at work, the MBA will at least enable you to understand "executive-level" conversations. Most of them are common sense (you can pick it up from context) but it is way different if presented to you in a rigid, structured, organized fashion vs listening to random conversations. You can obviously learn this all from Khan Academy ...

The other overlooked thing here is the people that you meet. On the more expensive programs (>$100k+), the pitch will be you will meet the same quality people as you (same aspirations) and that is true to a degree as the quality of your education will be partly affected by who is in your class. Make sure you go the MAIN CAMPUS of the school and not a off-campus thing. I personally felt the on-campus experience was great (we have a good football team so that helps)

2) When I did my eMBA (graduated in 2004), the salaries were around $80-85k. I realized that most of the people in the program were making around $40-50k and hoping to get that bump. I was making about $150k/yr at the time so this wasn't really the reason why I went to get my MBA (it was to get a U.S. degree) so you will just get some funny looks when you tell people you don't have any interviews set up. Most BIGCOs (specially consulting firms) value an MBA, I guess because they can mark up your rates.

As an engineer and a TECHNICAL manager (not just a "manager"), you will most likely make more money than 90% of the MBAs even without an MBA. Salary is NOT one of the reasons you are doing this.

3) Getting into executive management is more about opportunity and luck. You could be the most qualified person in your company but there only so many seats to go around (1 VP Eng, 1 CTO, etc.) so you may have to look elsewhere. An MBA will certainly help but it will NOT be the main reason you get there. The MBA just lets people know you have met a "bar" (like "ok so this guy knows the basic business stuff") so they can check that box off when shortlisting candidates. At the end of the day, it will be how much value you can bring to the table in totality. Executive management is less being a "manager" but being a "leader" as your role will have a lot more impact in the company (in a normal, sane, non-dysfunctional company) and you will have to think more strategically. The MBA will have courses in "Strategy" that will allow you to have some structures, words to communicate in your head when you present your plan to the people. You can have all the strategy in the world but if you cannot communicate it in a structured, organized & impactful way, then you will not get the job. It's not just using BS buzzwords but really making the board (or CEO) imagine that you are ALREADY in executive management.

hyperliner 19 ago 1 reply      
You really should think long and hard about WHY do YOU think you WANT or NEED an MBA.

a) Because you love to learn something new <== Good reason, albeit expensive. You can read the books or do online classes.

b) Because you want to make more money <== This is possible, but it's not guaranteed, especially at the level of incomes you already have.

c) Because you want to have a diploma on the wall <=== Questionable reason, but hey, who am I to tell you how to spend your money?

d) Because you want to broaden your horizons into areas you have never stretched into (private equity, investment banking, Marketing, strategy, M&A, etc etc). <== Good reason. If you love it, and you end up getting well paid for it, awesome.

e) Because you want to go into a different career path <== Excellent reason. An MBA gives you many choices, not all of which lead to higher incomes, but it opens doors to different career paths.

f) Because you want to be a great tech+biz hybrid. <== Also a great reason. But it depends on where you want to work: large companies will value you. Small startups will probably not value your hybrid skills as much, or may be counter productive.

g) Because your parents want to have an MBA in the family <=== Terrible reason.

h) Because you want to meet people and build a network <=== Seems expensive for that reason. However, several schools do have specific areas where the networks are strong: MARKETING, TECH, ENERGY, etc. So if you want to work in those industries, getting an MBA from a school with that network will be very useful

i) Because you dont want to still be an engineer when you are 50. <== This is a tough one that I have been helping a colleague with lately. Reality is that there is age discrimination in the work force. Being an old engineer requires being an AWESOME engineer. I have heard from other engineers that it is tough to be old and mediocre (though you can be young and mediocre). If you are old, then being in some other function (or in management in technology) gives you a longer career to retire on. Of course, if you are awesome, then nobody cares that you are old.

It seems you want to go into "Executive Management." That is a whole different question. The first question to ask is : what kind of company? Then research whether those companies value it.

I made my decision based on [a][d][e][f] and it worked really well for me. But maybe I was lucky and had a lot of people who helped me a along the way. I have heard others who make it into executive management due to some other reasons (hard working, right time right place, family connection, tag along a friend who is going up, etc.). So I am not sure one leads to the other.

These days, it seems that being an engineer is an awesome way to have a huge impact (unless you are in I.T. or something like that). I think I would still choose to get an MBA today, but I still think i will go for an MS when I am 50 or so, because of reasons [a][d] above.

I hope this is useful.

Good luck with your decision!

Ask HN: Anyone already using the new GitHub Projects feature? Care to share?
10 points by ssaunier_  9 ago   7 comments top 6
eckyp 8 ago 0 replies      
I did.

I personally find it missing a lot of features for working with cross-functional team (e.g. developers + designers + marketing).

I'd love to see this implemented:

1. filtering cards based on milestone / labels2. assigning labels, milestone, labels to note (bcs why the hell should I convert to issue before assigning)3. multiple repositories4. automatically group pull requests and related issues5. automatically move card to "Review" column when PR is sent6. automatically move card to "Done" when it is closed

I used to manage with waffle.io and love it so far. (I'm not affiliated any way with them, just a happy user)

altern8tif 6 ago 0 replies      
Zenhub is still the better (more full-featured) option if you want to do project management in Github.

Not to mention that it's also free for small teams.

ohstopitu 3 ago 1 reply      
While I don't use Github persay...I was using a similar feature on Gitlab. Here's a screenshot[0] of my board.

[0] https://i.imgur.com/4gcF4Qc.png

thecupisblue 7 ago 0 replies      
Tried using it, will see if we will continue.The idea is good, but the execution not so much. If they want our designer to work with us on github, they need to let them drag and drop images into tasks. Also, no way to migrate current issues into projects as far as I see. Hope they improve it soon.
contingencies 8 ago 0 replies      
Just had a look, it seems very fresh/undocumented and not up to regular Github standards. I couldn't even find a way to delete the test project I made. I would give it awhile to mature. Right now we just use issues, but we have a small team.
geoah 8 ago 0 replies      
Ask HN: How to find results removed from Google under 'right to be forgotten'?
53 points by ch215  23 ago   39 comments top 11
abro 21 ago 0 replies      
To the best of my knowledge: you cannot. (I'm an EU-based SEO. I don't know everything, but i might be a good source.) Most of the search queries that contain human names will be marked as "Some results may have been removed under data protection law in Europe." no matter wether a removal really happened or not.

Afais this is the "best" data you get from Google for this topic: https://www.google.com/transparencyreport/removals/europepri...

When you look at the other transparency reports you'll notice that you're able to search through other types of removed results (e.g. copyright violations), but that this is not possible in the right to be forgotten area.

[Edit]But you could ask any big newspaper Website for help. They receive a notice in their Search Console when a result is taken down.

FatAmericanDev 22 ago 2 replies      
Wouldn't that be in opposition to the spirit of the law, if they just moved the removed results to a second search engine?
pokoleo 19 ago 0 replies      
You're looking for Lumen[0] (formerly, Chilling Effects)

From Wikipedia[1]:

> The archive got a boost when Google began submitting its notices in 2002. Google began to do so in response to the publicity generated when the Church of Scientology convinced Google to remove references and links to an anti-Scientology web site, Operation Clambake, in April 2002.

[0] https://lumendatabase.org/

[1] https://en.wikipedia.org/wiki/Lumen_(website)

ch215 21 ago 1 reply      
To clarify, I want to shine a light on results wrongly removed: cases where freedom of expression, and the public interest in remembering, outweighs the right to be forgotten.
danso 22 ago 0 replies      

> Can you provide more detailed statistics about the nature of these requests and removals?

> We have provided statistics about the scale of our delisting processupdated dailysince October 2014 in this Transparency Report and have added anonymised examples of delisting decisions to provide color. Additional data on common material factors is available for download here. We continue to explore ways to provide more transparency into delisting decisions in an operationally efficient manner and with due regard to the sensitive and private nature of the requests.

Retr0spectrum 22 ago 1 reply      
Please use the data that you gather responsibly.

There are some people who abuse the system (who I hope you identify), and also some people who really should have the right to be forgotten.

As far as I can tell, using a US based VPN/proxy does not censor results - at least, it does not show the message.

Therefore, you just need to cross-reference the results from different geographic regions. However, it will be difficult to tell whether a certain result is missing due to censorship, or the fact that result rankings are slightly different for different countries.

Once you find a "suspicious" result, I guess you could try searching direct quotes from the article - If it doesn't show up in those results, then it's probably censored.

This process will need to be automated, if you want to check every name.

malux85 22 ago 0 replies      
Put some contact info in your hacker news profile.

I can help you with this, email me

pitaj 22 ago 3 replies      
Honestly, I don't understand how anybody can honestly think that there can or should be a "right to be forgotten." These laws are an abomination of freedom of information and are incredibly naive.
amelius 21 ago 0 replies      
You can search for phrases such as "Unfortunately, the page we linked to was removed because of EU law". This will not give you the page itself though.
foobar000001 22 ago 1 reply      
biot 22 ago 1 reply      
How about: don't? Your time to report on it was when it was online. If someone has something removed under a right to be forgotten, reporting on that pretty much violates that right, no?
Ask HN: Are plain resumes still relevant today?
30 points by enitihas  21 ago   32 comments top 20
willempienaar 19 ago 0 replies      
Plain resume (I use LaTeX).

This also filters companies to an extent. I would rather work for a company that values the content of the resume over the presentation.

Resume: http://willem.co/cv/wp_resume_2016.pdf

Template (LaTeX): http://willem.co/cv/wp_resume_template.tex

Awesome Resume Templates (LaTeX): https://www.rpi.edu/dept/arc/training/latex/resumes/

ddebernardy 10 ago 0 replies      
Your CV's format is irrelevant so long as it doesn't look like a dog's breakfast or a Xmas tree.

When writing your CV, keep in mind that only three things count:

1. Short. You're seriously testing a recruiter's patience if your CV is longer than a page or two.

2. Scannable. Your CV only gets a few seconds of attention before a recruiter decides to read it or not. Make each second count.

3. Results. Don't stick to writing what you worked on. Also spell out the results and how it contributed to the business.

Last but not least, never forget that your CV's only purpose is to get an interview. Just like a marketing brochure for a product that requires a sales meeting, less is often more because it can give an employer a reason for saying "no" before you ever get to talk to them:


cjbprime 20 ago 3 replies      
Yes, I use a plain resume: http://printf.net/resume.pdf
wott 19 ago 0 replies      
Rsum is like raising children: they are plenty of people with definitive advices about the perfect way to do it, all of them being contradictory.
kirykl 17 ago 1 reply      
Put yourself in an employers shoes. They really care about the content, not the design. They're sifting thru lots of resumes looking to spend 70,80,100k on a person, a templated colorful design just is not an influencing factor at best and a distraction compared to plain white at worst. (Unless it's for a design/creative position).
anexprogrammer 19 ago 0 replies      
I'd much rather see a plain resume, especially if I have a lot to skim. Only time I've ever seen more slightly creative approaches have been designers.

I'd be a bit wary receiving something like enhancecv - if you have space for a quotes block, what are you leaving out? I might use something like that if putting my CV on my website, but as well as the boring traditional plain format.

NumberCruncher 9 ago 0 replies      
Is there any online resume solution (beside running my own website) where I can hide some detailed information behind bullet points (like accordions) and I can track the viewers activity on the page? I am curious whether this kind of information could help me to build a better resume.
vfulco 14 ago 0 replies      
I am super disappointed that jsonresume.org can't fix their formatting issues surrounding output to pdf and ms word. I am not casting stones as the contributors are all a super talented bunch. Coming from the Python/R-project universes and having started up a professional services firm for individuals in Shanghai; English resume editing, interview coaching and LinkedIn Profile creation, I simply don't have the time to learn and modify the underlying node.js code. The ability to easily ingest and store the resumes I am supplied with and then the highly improved product I create would be invaluable. I have learned the hard way how difficult programmatic formatting for the mass market really is. As a professional resume editor, I concur 1) simpler is always better, 2) white space is as important as what is on the printed page, 3) use 1 1/2 to 2 pages for readability. Many resumes are run through ATS parsers/processors and you do not want to use such fancy fonts and styling that you provide any chance for your document to be rejected by the system. There are other tips and tricks but those are the most basic. Great discussion here.
v33ra 20 ago 1 reply      
I use a resume which I hand coded in HTML&css and while sending it to HR folks, I manually turn the HTML page into a PDF and usually include a reference to the online version too (http://veerasundar.com/resume)
amirbehzad 7 ago 0 replies      
Mine is not plain-text. I embrace rich-text.


smelendez 14 ago 0 replies      
Make a plain PDF resume that's as easy to read as possible. If you want, also make an enhanced portfolio or a personal site.

Someone might print a stack of resumes on a crappy printer that's running out of ink. A recruiter might fax your resume to a client. Someone might want to read your resume on an off brand PDF viewer on a phone with a slow connection. Someone might have 200 resumes to look through and not want to figure out the unique UI for yours.

stirner 17 ago 0 replies      
I use the moderncv template in LaTeX [1], which I prefer for a few reasons:

* It's fairly plain and minimal but looks nice and professional, and can still be customized so it doesn't look cookie-cutter.

* Using LaTeX means I can track my resume with Git and easily convert to plain text.

* Using a popular template included with many TeX distributions means finding help is easy.

* Using a template means you can just focus on the content and stop worrying about design.

[1] https://www.ctan.org/pkg/moderncv

nicklo 19 ago 0 replies      
I use a plain pdf resume that is written in Latex. I host it on Overleaf so its always easy to update.


rtcoms 18 ago 1 reply      
I really like plain resume. I had my resume in .doc/.docx format, but couldn't a proper way to edit it on linux. So I moved to web based resume. Here it is : http://resume.rohittrivedi.com/ .

I've taken the source code from here https://github.com/jglovier/resume-template and made changes according to my requriement.

felipellrocha 19 ago 0 replies      
Plain resume, hands down. Whenever I see something that is supposed to be "enhanced" I just assume they are trying to get my attention away from the actual contents of the resume itself.
phamilton 14 ago 0 replies      
My last round of interviewing and taking a new job was resume-free. Most companies just printed out my linked in, and really only to give interviewers something to take into an interview.
michaelchisari 20 ago 0 replies      
I much prefer a plain resume. It's so effortless to pass around a pdf file that sites like enhancv.com should be considered supplements, not requirements.


guessmyname 17 ago 0 replies      
I like how others are using this post to link to their own resumes.

I understand, a picture is worth a thousand words, but this is too convenient.

Anyway, I vote for plain text too, somehow it looks more serious and clean.

aardvark291 19 ago 0 replies      
Yes; in fact they are preferred.
joeclark77 17 ago 0 replies      
I think it depends on the company you're applying to. Big companies routinely get thousands of resumes and may use some form of automation to screen them. If the software can't pick out the basic details, the whole thing may be skipped.

On the other hand if a human is reading your resume, creativity may be a plus. So that might apply to small businesses, start-ups, etc.

Ask HN: How to get into $300k+ club?
11 points by hehenotnow  15 ago   13 comments top 4
endswapper 6 ago 0 replies      
In any organization, the best way to hit an outsized compensation target is to align yourself with revenue.

Usually, this means an operational component where you can improve on efficiencies and save on costs, or a sales and marketing component where you can directly drive revenue.

The ability to straddle multiple disciplines and communicate effectively in each is valuable.

The other option is to start your own business, i.e. services, consulting, etc. $300K isn't that much in terms of annual net income. This is still doing what I mentioned above.

ThePawnBreak 13 ago 0 replies      
Facebook pays better than Google. Hell, they used to have $100k signing bonuses for new grads.
eschutte2 15 ago 1 reply      
Netflix pays reasonably well. You can also get that at some of the bigger name SF companies, or as a consultant.
akandiah 13 ago 5 replies      
If you're doing it for the money, you're doing it wrong.
Ask HN: Master vs. Udacity nanodegree
38 points by pgcosta  1 ago   24 comments top 11
ShakataGaNai 23 ago 0 replies      
Lets start out by being clear here, Udacity "nanodegree" isn't an accredited degree. So please keep that very clearly in mind.

That being said in the SF Bay Area "tech bubble" no one really cares about degrees. They care about what you know and what you can do. That may not be true where you're looking for a job though. You should look at what real job postings are looking for and perhaps talk to a recruiter or two (if possible).

Anything from a real university is likely to provide you a lot more information and access, way more than you can ever get at Udacity. However if you can't afford the time/money, Udacity or similar learning courses may not be a bad option.

anuj_nm 22 ago 4 replies      
Have you considered an online Master's degree in machine learning from Georgia Tech? Its offered through Udacity so its cheaper and more flexible, but you also get a full degree from Georgia Tech.

Full disclosure- I'm currently in that program and loving it.

quickpost 1 ago 0 replies      
Unless you're career progress is dependent on a traditional degree (university professor, old school corporation, etc.), I would say go with whichever route allows you to actually both learn and apply the materials to the fullest extent.

The important thing is that you're able to learn and master the material and use it to create real value in the world. If you can do that, I don't think anyone will care how you came by it.

The great aim of education is not knowledge but action.

umlaut 1 ago 1 reply      
I just finished the Udacity machine learning nanodegree a bit over a month ago. While it is good (and getting better) at teaching techniques and material, you miss a lot in terms of access to research faculty.

There aren't any research projects, and you won't ever operate at the cutting edge (WaveNet!) at Udacity. It's like trade school for software, which is fine if you're highly motivated or just want to acquire some skills.

sndean 23 ago 0 replies      
As a third, shorter (and cheaper) option I'd suggest the new Coursera ML course [0]. If you're short on money, they'll let you take the courses for free.

I don't know how expensive Master's degrees are in Barcelona, but GA Tech has a online Master's in CS for ~$500 per course [1], where you could focus on ML.

[0] https://www.coursera.org/specializations/machine-learning[1] https://www.omscs.gatech.edu/

napratin 22 ago 1 reply      
The goal of a Masters degree in Machine Learning is ideally to prepare you for core research and engineering roles where you work on improving, adapting and inventing new algorithms and techniques.

However, such roles are very limited in the industry. Most jobs you will find expect you to be able to apply, combine and optimize existing algorithms to given real-world problems. This requires a different set of skills that are seldom taught at University (you're typically expected to pick up these practical abilities on your own).

Udacity's Machine Learning Engineer Nanodegree, like its other programs, is heavily project-based, and has been developed with feedback from industry partners in order to emphasize the skills and concepts that are most relevant for the vast majority of jobs that are out there. This focused curriculum allows people with limited time or a related background to efficiently get started in machine learning.

Keeping this mind, ask yourself what your ultimate goal is, what time constraints you have, and choose accordingly. There is no shortcut to success, esp. in a competitive and highly technical field like machine learning - whether you opt for a Masters degree or a Nanodegree, you will have to spend considerable effort building a strong public profile (e.g. by participating in Kaggle competitions, and working on additional projects) in order to make yourself stand out from the crowd.

Good luck!

Disclaimer: I work at Udacity, in case you didn't realize by now :)

codeonfire 15 ago 1 reply      
In 50 years people will know what your degree is and your university will probably still be around. Udacity will be long gone and no one will know what a nanodegree is.
masters3d 22 ago 0 replies      
A Udacity nano degree is more like a Graduate Certificate but much much cheaper. What udacity has going for them is that at the end of the nano degree you have projects you can show off. Not all certificate programs will make you have a final project for you portfolio.
forvelin 23 ago 0 replies      
a masters in machine learning for sure, university adds very important value of 'connections' mostly, I doubt if udacity can provide that.
ponderingHplus 22 ago 0 replies      
I was in a strikingly similar position as you at the beginning of this year. In December 2015, I setup a plan to quit my job and take some time to self-learn Artificial Intelligence, when I was accepted into a master's program in Barcelona (UPC's* - assuming it's the same as the one you're considering).

This blogpost outlines what my plan and concerns were about the self-taught route:


Since then, I've been asked why I ultimately pursued the formal degree route, and this was my response:

"Without a formal CS background, I was pretty skeptical about my chances of getting accepted, but I applied anyways. I was so skeptical, that I convinced myself it wouldn't happen and set off to teach myself. But I ended up getting accepted into a Masters program in Barcelona, and I couldn't turn down the opportunity. I love Barcelona as a city, the tuition is reasonable and the program was inline with what I was looking for - a larger focus on application with foundation in theory as opposed to full on theoretical research.

I chose to do the conventional degree because of the above, plus the allure of receiving a piece of paper that people respect. Regardless of my thoughts on the real value of conventional degrees, it's hard to argue against their societal credit.

I'm new to this industry and pretty young, so take everything I say with salt, but my main advice would be to just build cool stuff. Whether you do it at a university or through autodidactism (learned that one from the HN thread), just work on cool projects. My naive hope is that people will care more about stuff you can actually build over a piece of paper with your name on it - but it doesn't hurt to have both."

That was in response to a thread about this guys blog, which gives some further perspective on the self-learning route:


I'd like to add, that I've since decided to do both. I'm using the curriculum I developed for myself with online courses to compliment my formal education from the master's program, which has been working well so far.

ps. If UPC is the program you're looking into, it can be completed in 1.5 years (3 semesters) instead of the full 2. The last semester is dependent on how long it takes to finalize your thesis. Also, if you have questions about the program (again, assuming it's UPC's), my email is available from the site in the first link.


tedmiston 21 ago 0 replies      
What is your goal, as in, what type of job would you want to have post finishing either option?
Ask HN: How do you motivate yourself?
29 points by e19293001  1 ago   32 comments top 17
tromple 1 ago 1 reply      
In general I stay motivated by reaching a base level of healthiness - physical, work, and social. The motivation comes naturally if I've met those needs.

I'm not a superhuman kettlebell-swinging crossfit soylent paleo junkie by any means, but I walk to work every day and bike a good amount using my city's bike-share. And I've started (over the course of 2 years, it's so tough!) to eat less-unhealthy food.

Being happy at work makes a big difference to my motivation, I'm able to channel some of that extra energy I get from feeling like I'm putting good effort in, into my side projects. I work 9-5 most days (as a programmer).

I find I'm more motivated when I keep in touch with people, and also when I work on projects that get me interacting with people who are excited about what I'm doing. For me at least, it's not as fun to work on a project if people I know don't think it's cool. That was a snippet from a Paul Graham essay I took to heart and I think it's true.

I also occasionally journal my thoughts down, which makes me feel calmer and more ready to approach a task.

0x54MUR41 4 ago 0 replies      
I heard that inner motivation (motivation from the inside, in other word, yourself) has more impact than outer motivation.

That was my problem too when I was preparing college entrance examination. My teacher told me that you can get a motivation by categorizing what you love, what you fear, and what you hate. Someone can get a motivation because he hates something. So, write it down! Repeat what you've written regularly before and after you're going to bed.

Side note: I would recommend James Clear's reading list for motivation [1].

[1]: http://jamesclear.com/motivation

williamkennedy 1 ago 2 replies      
I have actually written about this a lot as it is one of those topics that I am fascinated with. The trick is not to try and motivate yourself but to build systems and processes to get things done regardless.

For me, it boils down to 3 things. Pre-planning, habits and elimination. I have written about each separately on my blog http://www.new2code.com/2016/06/deep-work/

I plan a lot of stuff on my Google Calendar. My whole days are planned in advance including free time. When I am learning a new language, I set aside time for study. If a friend asks me to hang out, I can just check to see if I have prior commitments. I also have the regular gym slot and after 2+ years, I am simply routine when it comes to exercising.

Next, learn how to build habits and routines. This saves a ton brain power. There is a great video on habit building


Also, check out a book by Charles Duhigg called The Power of Habit.

Finally, cut out the news and as much information as possible. Not watching the news added a ton of happiness to my life. This also cuts out distractions. Check out something called the Low Information Diet which goes into more detail as well as a book called Deep Work by Cal Newport

I also wrote a guest post on the blog Simple Programmer that goes into more detail on the willpower.motivation side of things https://simpleprogrammer.com/2016/09/07/limited-willpower/

I hope that helps. Largely I don't believe in long-term motivation, it is more to do with becoming routine.

sebg 1 ago 1 reply      
"Discipline is remembering what you want" - David Campbell, Founder of Saks Fifth Avenue. So if you want to motivate yourself, then remember what you want. Then if you find you are not doing what is necessary, it means that you have to confront the fact that you may not actually want what you are telling yourself you want.
csallen 1 ago 2 replies      
DHH once gave a talk at Startup School. Watching that talk invariably pumps me up and leaves me motivated for hours. (Specifically, it gets me motivated to work on personal projects that make money online.)

In general, reading about anyone's success is like a shot of motivation directly into my veins.

tmaly 1 ago 1 reply      
The easiest for me is to just start doing something, even if it is a little thing. It may have been in the Power of Habit or another place. The person said if you wanted to get in the habit of flossing, just start with the front two teeth. Derek Sivers I think said something like do one pushup and what ends up happening is that you get to thinking, I am already down here why not do another one. This leads to a habit.

I approach this the same way when it comes to motivating myself to work on a side project. Another good approach I picked up is the 5 minute journal. You invariably end up reflecting on things you could have done better. This helps you to focus yourself and pay attention to where you are not getting the most out of life.

avitzurel 22 ago 0 replies      
I race bikes and train like crazy.

I wrote about it before here: https://medium.com/@kensodev/how-bike-racing-is-making-me-a-...

Racing bikes (and training for it) creates so much structure in life. What you eat, how you sleep, when you recover. Even though I work most of the time from home, it gives a clear order to the day.

mattbgates 18 ago 1 reply      
My motivation at my age: Make my primary job my second job and make enough money in my startup so that it becomes my primary job.

How do I stay motivated to keep at it with my startup? Aside from enjoying doing what I do, developing web apps, I write down the potential profit involved that I could be making every month. Those are the numbers I want to be making that I'm currently not making and that is what keeps me motivated.

Money isn't everything.. that is certainly true! But making enough money to pay off my mortage, my credit card debt, my bills, and still have enough left over to donate to a cause and have some peace of mind is the underlying motivator.

ge96 1 ago 2 replies      
Everything was handed to me in life. Not much but enough to get to middle class if I had just followed the rules and stuck with it. But I didn't. I failed out my physics/engineering program. I now work in a factory, and owe around 50K which I barely make 19K a year.

My life sucks. But I'm also young. I watch movies, sci Fi movies/shows which motivates me. I want that life. But then I try to program and I'm like "Holy crap. I'm so far away..."

I hate going to work I perform the same tasks over 6,000 in a day. Everyday is the same. I am wasting my life.

Motivation by fear isn't a good thing. Like the cliche, follow what you love.

Me I'm about trying to get out of my situation. Make money. I HAVE AN IDEA!!!

The problem is discipline. Sleep is a basic thing. Screw up your sleep pattern. You end up wasting time being awake and trying to fall asleep/not able to work.

Yeah discipline is the big thing. And true motivation from a desire/longing to do whatever it is with an internal driving force.

ohgh1ieD 1 ago 1 reply      
It's very simple for me I just think that one day I'll be dead and that I just wasted my life and the only option to change that is to create something that has value to me and that motivates me.

But the more I think about it ... I guess it's fear, it's the fear of a meaningless life.

Eat, shit, fuck, breath, die ?

No thanks

8611m 1 ago 0 replies      
This is not very scientific, but it has worked for me. I have curated this list of YouTube videos some of which have helped me and some of my friends a lot in the last year. I watch 1-2 of these in the gym when I am doing my cardio (elliptical or treadmill) three times a week towards the end of my workout.


I am a very distracted person, and need constant reminders. I have designed my life in such a way to be constantly reminded of my priorities. Once, I decide I need to include an activity in my life (be it learning, workout, eating healthy), I set up a time and corresponding reminders/ alerts. This sort of planning and tracking helps tremendously stay focussed on only things that matter.

siscia 1 ago 0 replies      
There is a popular comment somewhere in the internet (I would guess on quota, but not sure) about this subject.

The point of this comment is that you don't need motivation you need discipline.

Motivation comes and goes, discipline stick around which is what you need if you want to build anything meaningful...

orky56 1 ago 0 replies      
I think about the 24 hours in my day and see if the time I have spent/will spend expresses the priorities I have in my life. I create routines to ensure the decision-making is minimized as much as possible such that my habitual actions reflect my priorities. Lastly I consider the fact that will my future self think I am doing him a favor by the actions/systems I am putting in place. Motivation should be about putting yourself on the appropriate trajectory not just completing the individual action that leads to fleeting satisfaction.
just_observing 1 ago 0 replies      
There is no one single unfailing way for me to do this.

Some days it will be closing X issues, or a cold beer, or a gaming session with a friend, or tracking down that one annoying bug, or seeing that my numbers are low and I need to up my game (which can conflict with long work to find that bug of course), or reading a book, going for a bike ride.

There are other ways I do it but no single thing hits the spot for every day and every situation. Having a stock of various methods works though and I'm always happy to add another.

JSeymourATL 1 ago 0 replies      
Shane Parrish recently gave an excellent review on motivation, good food for thought--

Daniel Pink on Incentives and the Two Types of Motivation > https://www.farnamstreetblog.com/2016/08/daniel-pink-two-typ...

Cozumel 1 ago 1 reply      
Eric Baker has some good insights http://www.bakadesuyo.com/2015/01/how-to-be-motivated/

I struggle to get motivated as well.

gjolund 1 ago 0 replies      
Im motivated by my bills.
Ask HN: Has anyone been hired by the big 4 companies from outside the US?
5 points by employee123  11 ago   14 comments top 3
guessmyname 4 ago 1 reply      
I have interviewed with two "Big Corp" companies and during the interviews I asked about the possibility of an immigration sponsorship considering that I live in a South American country, and they have always assured that once the interviews are done and the company extends a job offer they can help during the immigration and relocation, not only to North America but also Germany, Scotland, Japan, Canada or any city where they have an office.

I wouldn't worry about that, just be sure to study a lot to improve your profile as much as you can, every skill counts considering the fact that they receive tons of resumes all the time, you have to differentiate yourself from the others.

PS: Since you mentioned being a front-end developer, I want to give you some advice with respect of your current learning strategy. A couple of days ago I interviewed for a position in the web development team of one of the "Big 4", my background is mostly on back-end development. After reading several articles from people who interviewed with the same company I realized that most of the questions they were asked were related to algorithms and data structures, so I decided to refresh those skills, bought the latest edition of the CtCI book. The day of the interview I was surprised to find that all the questions were regarding the DOM, basic CSS concepts, and new features introduced in the latest specification of JavaScript. During the ~40 mins of the interview I was never asked one single algorithm question.

ThePawnBreak 9 ago 1 reply      
Probably at least 20-30% of big 4 employees are or were on H1Bs. Getting a job is very simple, but not very easy:

1. Get a good resume. They're not very picky here, if you have a couple of years experience programming professionally, it should be enough.

2. Apply online.

3. Get an interview.

4. Pass the interview (hard).

5. If you get an offer, you'll need to get an H1B visa to go to the US. It's ok, if you're unlucky they'll probably offer you a position in a different country, and you can transfer to the US after 1-2 years.

emilburzo 7 ago 1 reply      
Can't help with your question, but I was wondering how did you get in touch with the European startups you worked for?
Are Microsoft Containers worth learning?
3 points by MrLabCoat  12 ago   3 comments top 2
alexellisuk 12 ago 1 reply      
Absolutely - if you want to "learn containers" I would start with Docker for Windows (that creates a tiny Linux VM) for a less painful start.

However if Windows is core to your workflow.. check out this from my fellow Docker Captain:


And the installation procedure for Windows Containers:


Take note that only nano-server will run on Windows 10 pro.

Feel free to get in touch on Twitter @alexellisuk

Annatar 10 ago 0 replies      
That's a seemingly innocuous question with a highly subjective answer, which ironically has very objective consequences (pick a wrong technology, for example for wrong reasons like popularity, get stuck with all kinds of unnecessary problems, like lack of isolation, suboptimal performance, complex software lifecycle or data corruption, or all of that together, and I don't necessarily mean Microsoft here).

Depends on who you ask and what their experience is. What can we tell you? Everyone will tell you what their preferred solution is. Since it's a subjective question, one person will tell you to go ahead, another that it's pointless.

Why do you care what is going to be popular if you are building your own laboratory? Research which is the best solution; research them all. After all, that is the point of a laboratory, isn't it?

Ask HN: Why are we building self driving cars to navigate based off human signs
7 points by vincefutr23  13 ago   6 comments top 4
Piskvorrr 11 ago 0 replies      
"Inexpensive" is really an understatement when talking about replacing the entire, worldwide sign and lane marker infrastructure (nb with something that's orders of magnitude more issue-prone than current solution). Who pays for that? What if a state/country says "we don't care about your active signs, WONTFIX"?

Worse, "can't see stop sign" is currently easy to spot and debug; in your proposal, this would require retooling the world over.

saluki 2 ago 0 replies      
What if a sign or chip gets removed/knocked over . . . or swapped out maliciously . . . sounds more dangerous.
javierluraschi 12 ago 2 replies      
1958 "self driving" car: https://www.youtube.com/watch?v=xKOdux6Gjno&feature=share - There is really nothing stoping someone from taking a different approach to driverless cars. Smart highways is not a bad idea at all. In the same way we have a carpool lane, one could provide a driverless interstate lane that is faster and more efficient by equipping this lane with a guiding system. #hyperlane
rcfox 13 ago 0 replies      
What happens when you come across a sign that doesn't have a special chip?

How many stop signs are there in the world? That almost sounds like a Fermi problem...

Ask HN: How do you decide your cloud provider
3 points by jmspring  16 ago   1 comment top
recmend 2 ago 0 replies      
Price efficiency, Stability, Optimized for developer time and not operational costs, aka capabilities.

I've used AWS, GCloud, DO in production and Heroku for side projects.

Ask HN: Help me chose a startup vs. contractor
6 points by throwawaygrrqq  23 ago   10 comments top 4
JamesBarney 21 ago 2 replies      
The equity seems way off here. You would be giving up 45k/year and for arguments sake lets say the equity vests in 2 years.

That's 90k for .6% of a company. Which puts the companies valuation around $15,000,000. Seems high for company about to bring on their first technical hire(I'm assuming).

And remember there are several downsides to equity like

- It's highly variable.

- It's a lot easier to screw you out of equity than cash.

- It's a lot less liquid, you might not get any money for years.

tedmiston 22 ago 1 reply      
> Work not that interesting

If you think that now, I wouldn't do it. Or instead, offer to contract part-time to the startup alongside your current gig.

I would also weigh where you're at in your life (do you value the extra money and the extra free time sufficiently more to be a contractor or not?).

I've done seed stage, early founder style, and mid-stage startups. IMO engineering is much more fun at the former; work-life balance (what's a vacation?), and comp are much better at the latter. Different people place different amounts of value on these things though.

eschutte2 23 ago 1 reply      
The startup doesn't sound that attractive to me, but if you take it, I think you should get either a much higher salary or way more equity.
icedchai 20 ago 0 replies      
Ask for 10% equity. Accept no less than 5%.
Ask HN: Do I need to inform visitors about LocalStorage?
6 points by nealrs  1 ago   5 comments top 4
mtmail 1 ago 1 reply      
In theory is the law applies as well. In practice I've never seen it mentioned on a website.


"The article is technology neutral, not naming any specific technological means which may be used to store data, but applies to any information that a website causes to stored in a user's browser. This reflects the EU legislators desire to leave the regime of the directive open to future technological developments."

ddgflorida 1 ago 0 replies      
My sites use local storage and I inform the user - consider the possibility someone is using a public computer and you've stored locally what they though was private.
tedmiston 22 ago 0 replies      
I feel like it depends on the audience of your product. In a general consumer product it might actually be more confusing given your user might have no idea how "any of that stuff" works.

I don't think I've ever encountered an app that's let me know in advance about its use of localStorage.

_RPM 1 ago 0 replies      
I would implement pre mature optimization if I were you.
Ask HN: Can I be public about a interview process with a Company?
7 points by interviewiii  1 ago   5 comments top 5
win_ini 1 ago 0 replies      
I'd say - wait a week or two. See how you feel then.

You can post an interview "review" on glassdoor.com - there are thousands of reviews, including stories similar to yours. The companies can respond but don't know who you are(well, kinda), nor can they change your review.

Ultimately, as long as you make the post constructive - you should write a review. But - Don't write to spite.

rajacombinator 23 ago 0 replies      
You should weigh the upside and downside. Upside is likely: you feel slightly vindicated, get a few up votes and comments when you xpost to HN. Downside is likely: burning bridges with that company, damaging your reputation by making people think you're stubborn and immature and will leak things that should be private.

Best bet is just shrug it off and keep moving.

JSeymourATL 1 ago 0 replies      
> but I think they were wrong about some of the feedback.

Your interviews and code challenge feedback were not posted in a public forum. Neither should your professional opinion.

If you feel strongly about it-- compose a note to the hiring executive, informing him (in businesslike fashion) how & where their process failed. Take the high road, offer ways they can correct the problem.

Incidentally, even smart, well intentioned companies screw up the hiring process and miss out on great talent.

brudgers 1 ago 0 replies      
Depending on your objectives, it might be more constructive to ask the company the basis for the opinion that the solutions were incorrect. It could be that there were additional considerations that the company missed or vice versa.

On the other hand, if the goal is to publicize the nature of the coding challenge, then it really doesn't matter how one goes about justifying it. No matter how doing so is rationalized, one ought to be willing to live with the consequences of their actions.

Good luck.

GFK_of_xmaspast 1 ago 0 replies      
Have you considered the possibility that you were actually wrong?
Ask HN: Which language for interacting with AWS?
4 points by bakery2k  1 ago   5 comments top 5
tedmiston 21 ago 0 replies      
I feel like boto3 (Python) is a good place to start. I've used Boto 2.x quite a bit and it's fine as well.


Boto is actually quite a weird library in that the services are generated defined as json files and the service classes are instantiated dynamically at runtime from these json files (as opposed to being defined in Python classes). For example, this is the definition of the S3 service [1]. You might have noticed that the official AWS clients break normal Python naming conventions and this is the reason why, that said, it's a unique approach that leads to a lot less code to maintain.

[1]: https://github.com/boto/boto3/blob/develop/boto3/data/s3/200...

fiedzia 1 ago 0 replies      
Official aws cli client is written in python and supports every aws feature, so you could not go wrong with that. I wouldn't touch PHP and Node - to fragile and messy to depend on them. So API-wise python would be my first choice, java second. Maybe Go if you need native performance (if you don't know then you probably don't).
jnbiche 1 ago 0 replies      
I agree with others and say use Boto/Python if possible, since it's the "official" client. It's feature-complete and is pretty reliable based on my experiences.
borplk 1 ago 0 replies      
If what you're doing is not too complex I recommend you consider using the AWS command line client.

You can script it for example in Python with the subprocess module.

anhsirksai 1 ago 0 replies      
Boto framework!(completely in python)
Airbnb Hosting Horror Stories
8 points by mbarsh  22 ago   2 comments top 2
dontJudge 4 ago 0 replies      
If you count a coffee spill as a "horror story" then you're doing pretty well so far on guests.

I'm just a guest, not a host. No horror stories on my side. All the hosts have been awesome.

rhkk 21 ago 0 replies      
I just started and have had all good experiences, would be very interested in real horror stories too.
Ask HN: What error-handling patterns have you found useful for large code-bases?
4 points by prmph  23 ago   1 comment top
_RPM 20 ago 0 replies      
Please god I hope you're not talking about a Spring application. They have horrible errors message and error handling.
Ask HN: Might Apple be botching their UI design lately, or is it just me?
4 points by joshjdr  1 ago   1 comment top
Arcten 1 ago 0 replies      
This is part of the premium you pay for using Apple products. While the design is aesthetically nice, you are limited in your flexibility. This is why I prefer other operating systems that I find easier to customize.
Ask HN: Health insurance options for founders while bootstrapping
8 points by recmend  2 ago   9 comments top 4
tptacek 1 ago 2 replies      
Go to CA Marketplace and get the highest-deductible plan you can find (it will be the cheapest plan as well). You'll be paying out-of-pocket for your doctor visits, but that's what you want to be doing: the plans that meaningfully offset routine medical costs cost more than you'd pay just doing it out of pocket.

If you're both male and you have no prior health history of any sort, you can also go direct to Kaiser, Anthem, Blue Cross, &c and buy private insurance. There will be a medical questionnaire to fill out, and it'll take a little while to be approved, but it will ultimately be cheaper than the marketplace plan.

However you do it, do it carefully and follow up with your provider to make sure you're enrolled properly. Ours screwed up a bunch of stuff (both enrollment and billing) and we have some horror stories about the results.

cylinder 2 ago 2 replies      
Head to the CA healthcare marketplace site, go through the enrollment form. List your income as what it is ($0?) right now. It will tell you what you qualify for. In NY, I got a better plan than when I was employed and it's free, with no copays or deductibles either.

Everything goes through the healthcare exchanges now. Just go through that process.

If you're both young and healthy, don't have spouses and/or children, I would recommend just getting a catastrophic plan for now.

dragonwriter 1 ago 0 replies      
> We looked at Covered California and heard we might also qualify for medicare.

Unless you are a senior, you probably don't qualify for Medicare. You may qualify for Medi-Cal (California's Medicaid plan), which is a very different thing.

Covered California should identify any eligibility for either Medi-Cal or Covered CA exchange-plan subsidies.

redtexture 2 ago 0 replies      
What fails about the information that is provided by http://www.coveredca.com/
Ask HN: Use Appengine or Stripe? How are your card declined rates?
19 points by foxylad  2 ago   3 comments top 2
edwinwee 2 ago 0 replies      
Hm, I'm sorry about the issues here could you email me at edwin.wee@stripe.com and we can take a closer look into this?
jblake 23 ago 1 reply      
I'm a Stripe connect application provider, and I get hundreds if not thousands of "Zip code failed validation" decline errors - primarily affecting Canadian customers. The decline rate is too high in my opinion to be user-error.
Why CNN papers use 224x224 images?
3 points by rdabane  1 ago   1 comment top
BenFielding 1 ago 0 replies      
According to the Alexnet paper (The first real Imagenet CNN success story - http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf), the choice of 224x224 (but actually 227 - there's been some confusion with the paper I believe) was due to their use of data augmentation techniques (translations and reflections) on the 256x256 images. The sizes of Imagenet images varies but I believe it is common to crop to a minimum of 256x256 for the size/minimal overall information lost tradeoff.

Section 3.5 and 4.1 of the above paper have more information.

edit:So I guess really it's down to:

1. The fact that square images are much easier to work with

2. The images are cropped to 256x256 because it's a convenient average size for imagenet

3. The 224/227 sizes are used to allow for the extraction of random patches for translation invariance

Ask HN: Why aren't their taxes in the country the patent is held?
3 points by sharemywin  2 ago   1 comment top
sharemywin 2 ago 0 replies      
If I understand it right a lot corp tax avoidance is moving patents to subsidiaries in low tax nations. Seems like if I have a US patent and I license it to someone it should be considered US income. Am I missing something?
Ask HN: What code makes you happy?
7 points by gonification  2 ago   10 comments top 7
bwackwat 2 ago 1 reply      
Code with few dependencies! I am not a fan of app-generators or specialized overweight package managers. Folks take enough advantage of yum/apt.
mbrock 2 ago 1 reply      
Forgive the narcissism but I quite like the main function here:


And also this (incomplete) test suite for a language interpreter:


Other than that I really love well-written shell scripts that do their job.

kj01a 2 ago 0 replies      
Taylor written in Swift.


askafriend 2 ago 0 replies      
No code is the only type of code that makes me happy.
tmaly 2 ago 0 replies      
Code that runs for a decade without issue
cwt 2 ago 0 replies      
Code that replaces/relieves humans.
bbcbasic 1 ago 0 replies      
       cached 17 September 2016 20:05:01 GMT