Ask HN: Is a computer science degree worth it or should I learn on my own? - <AUTHOR> Is 4 years of going to school really worth it? Or should I just try to learn as much as possible on my own and carve my own path? <comment><USER2> Both. Do not expect a college to teach you how to write good code; they won't. You can write terrible code and still get Cs/Bs. ("Cs get degrees") It's up to you to learn how to write good code. If you want to progress in your career, you will need to be able to write good, maintainable code, and that isn't a skill that's taught in college. If you're "that guy" on the team that writes shitty code, sure, you'll get a paycheck every month because management can't justify firing you when they're behind schedule, but you'll never get promoted, either.

That being said, having a degree makes it significantly easier to get your butt into a chair and have the opportunity to prove that you're a good programmer and deserve a raise. When you don't have a degree, the burden of proof is on you to demonstrate to the interviewer that you're a good programmer, and then the burden of proof is on the interviewer to convince HR that you would be a good hire. But if you have a piece of paper with the magical words "Bachelors of Arts/Science (doesn't matter) in Computer Science/Engineering" and there's a strong need in the organization for people, the burden of proof is on the interviewer to convince HR that you can't program and that HR shouldn't hire you.

It's a role reversal. It's the difference between "proof beyond a reasonable doubt" in a criminal trial vs "preponderance of the evidence" in a civil trial. With a degree, you can get a job just because you don't suck. Without a degree, you'll have to convince a startup CEO that you're a ninja/rockstar/MacGyver or whatever the buzzword is this month.

<comment><USER3> I'd add that there's a big difference between having a non-CS degree and having no degree at all.

With a non-CS degree it may be a little harder to get an interview, but if you can interview well, it's not going to count much against you. A degree in a strong technical field (like Physics or Engineering) might even count in your favor compared to a CS degree if you can still do well on an interview.

With no degree at all, you may find it harder to get interviews in the first place. There are definitely still jobs to be had, and companies who will interview you, but the options will, at least initially, be more limited.

</comment></comment><comment><USER4> My recommendation is to go to school if you can. In addition to getting a good formal education in computer science, you also get exposed to many other subjects such as math, philosophy, physics, etc. Even classes like English/writing that may seem unrelated, all help you become a better professional as you discover how important communication and documentation is in the workforce. The university experience can be very fulfilling. You are also exposed to various extracurricular activities which can further supplement your growth. For example I was part of the game development club and even got to lead it for a few years. That bit of experience was not only super fun, but also helped me land my first job at Lockheed after graduation. I also randomly stumbled into learning Japanese and Chinese and got a scholarship to study abroad In Japan for a whole year. Absolutely amazing and life changing experience.

I also made some of my best life-long friends, and now business partner, in college. As you can see going to college is more than just the degree.

As others also mentioned having a degree significantly improves your chances of getting a programming job. I've helped many people prep for job interviews, both with and without a degree, there is a stark difference for better or worse.

I'm not saying college is a must-have. But I'm saying it can be a life changing and amazing experience, that is way deeper than just studying computer science.

I still reflect on those nostalgic days sitting in the coffee shop or student union on campus discussing math, philosophy, politics, programming with numerous people, many smarter or more knowledgeable than myself. I feel that I had a major "awakening" in college. :)

</comment><comment><USER5> I would suggest getting a degree in engineering! Electrical, Computer, Software. The key to being effective in the long term is to be able to design and then implement system of systems.

Astronomy is not about building telescopes and biology is not about designing microscopes. Whilst CS is a very important field, it could be likened to being like physics is to structural engineering. Physics study will teach you a lot about how materials behave, but structural engineering will teach you how to apply that science and build structures that will meet the requirements over a long time.

The problem with being self-taught is that you don't know what you don't know and can easily succumb to the Dunning-Kruger Effect. That is why programs are so full of bugs. The coders didn't understand what they were building, they just hacked away until something just worked (some of the time).

<comment><USER6> If you want to be a software engineer, study software engineering, not some other engineering area. I think electrical engineering is far less useful to people if they are going to be general software engineers than being a cs major. You will spend a lot of time learning things that won't matter to software engineering. Of course if you were going tl be employed as an electrical engineer, but if you only were trained as a software engineer, you wouldn't be able to be proficient either. Study the field you want to work in!

<comment><USER5> In my experience (a very long way from SV) a significant proportion of excellent programmers did not do SE degree but had degrees in some other area. My analysis suggests that critical thinking, ability to comprehend requirements and do good design are critical skills and can be developed in many related fields.

</comment></comment></comment><comment><USER7> I'm 33 years old and have been programming professionally for 11 1/2 years, and I'm self taught. I'm considered "senior". I founded and lead a user group and I've spoken at a conference. I don't say this to brag, I say this to state that despite my success and that a piece of paper won't advance my career, I've always regretted not having my degree. I'm married with a kid and I just started going back to school to fulfill my wish. I say this from experience, go to school first. It's much easier the first time around.

<comment><USER8> How do you deal with classes like "intro to web development", where you will learn what a GET request is, when you've been a senior web developer for 10 years? (Just as an example, maybe you've worked in something other than web development?) Is cleping classes realistic?

<comment><USER9> Do people really need to take an "intro to web dev" class as part of a CS curriculum? Is intro web dev included in the list of requirements nowadays?

When I was in college and grad school 10-20 yrs ago, and when web dev wasn't as hot as it is today, the CS folks were taking classes like algorithms, data structures, operating system design, compilers, microprocessor architecture, etc.

Has this changed much in the past decade? Or are you talking more about a trade school type of degree (and do they still call that CS)?

</comment></comment></comment><comment><USER10> Get a degree. It is so much easier to get a job, and you are more likely to complete it since you have skin in the game.

Go to an in-state school with a good CS and Engineering program if you can. Also you can consider going to community college first and transferring in your credits to save money.

<comment><USER11> A good engineering program also exposes you to higher level maths and physics as well, stuff you might not encounter or need if you did mostly self-study.

<comment><USER4> This is a really good point I'd like to second.

</comment></comment></comment><comment><USER12> No one can answer this for you.

If you want the fastest path to get a $50,000 -$90,000 job - you may want to consider self study. There are jobs in every city that could fit for this.

If you want a career path and want to work on high level engineering, then go to college. You will need the basics and a network.

If you are asking and not sure, you should most likely go to school.

</comment><comment><USER13> There's also the middle ground of going to a reputable coding bootcamp.

I'm a 34 year old dad with two kids and a bachelor's / master's, so I'm not really itching to accrue any further debt and I don't wanna spend 2/4 years in school. Sure, if I had the time and money, I'd go back to school and take a bunch of math/theory that would probably help but wouldn't be essential in finding a job.

Anyhoo, I start a bootcamp in a couple of days. Other than a bunch of codeacademy, mdn and other random resources, I don't have a load of experience in programming. I'm constantly making mistakes and often hit the solution button to fully understand the problem.

I think the biggest motivator than anything is to find a problem/type of program you'd like to create and learn as a means to achieve that idea. That's been the biggest motivator for me.

<comment><USER14> Just out of curiosity, why bootcamp and not a community college course or two? I ask because my mom taught programming at a CC in the 1980s, and her students got decent jobs. And my spouse is just about to sign up for a Python class at the nearby CC.

<comment><USER13> Mostly because I'm older and I have a family I need to support. I don't feel like a course or two would benefit me as quickly as 16 weeks of nonstop learning.

The other big factor is that the bootcamp has a strong relationship with recruiters making it easier to land a job afterwards.

</comment></comment></comment><comment><USER15> #1: There is more to college than the education, education is almost incidental anymore. It's about networking and signaling, and that is actually pretty important even though it shouldn't be.

#2: I was just reviewing a big requirements document with a Program Manager in the DoD and they asked me to come up with criteria for hiring SWEs. They were specifically asking what kind of education they should have.

I told them that BSCS was good, but I would hire someone the same age with no degree, but 4 years of experience over someone with no experience and a BSCS.

My experience shows me that even at the Senior Level this seems to apply.

There are drawbacks though.

Generally speaking, code savants don't need school to be amazing, but a non trivial number of them are high maintenance Divas that aren't great employees. Genius level work though.

On the other end, the BSCS folks have a floor of competence most don't fall under, so code is more predictable but in my experience rarely really amazing work.

On the extreme end, PhD's generally can't code worth anything. Don't hire them as SWEs, they're researchers and architects.

So the answer to the question is really more questions.

Are you ok losing out on positions that have a mandatory degree?

Could you maintain your desired lifestyle as a freelancer/code mercenary?

Are you sure you want to miss out on the social and network benefits of going to College?

</comment><comment><USER16> Like others have said, it really depends. As somebody who works-to-live and doesn't particularly love software, I never would have achieved the knowledge I have now on my own. I needed the real-life deadlines and stress to learn. Additionally, I can say with quite a bit of confidence that I use knowledge obtained from university almost every day, even if indirectly. If you do decide to go to school (and are in the United States), I would highly consider the community college -> in-state public university route. I went to a top-30-ish CS program at a large in-state institution, and I don't think I missed out on many opportunities because of it. Unless you get into CMU, MIT, Stanford, etc. just pick a large, hopefully cheap in-state school, make good grades, and apply to jobs through your school's network.

However, if you're the type-A/self-motivated type, you can totally learn learn enough on your own to land an entry-level gig. I will never be that kind of person, but I work with people who are, and they earn the same if not more than I do doing the exact same job.

</comment><comment><USER14> There's always the possibility of getting a non-CS degree. Granted, I started college in 1982, but I ended up majoring in math and physics while teaching myself programming and electronics. Lots of people were getting programming jobs without CS degrees.

Then I got a graduate degree in physics, so you never know. Your interests can always change while you're in college.

Today, I do a lot of programming, but I'm not employed as a programmer. On the other hand, math, physics, and electronics are "domain knowledge" that have served my career well.

</comment><comment><USER17> If you are paying for it in loans/cash, be very very careful about where you go and how motivated you are.

If it's mostly subsidized at little cost to you, probably worth it

</comment><comment><USER18> Learning your own doesn't give you a grade or diplomas to prove how much you've studied.

Another benefit of the degree is the already plannified roadmap, taking it's time to learn the basics in depth. And, of course, the teacher who answers the doubts that are coming and shows the advanced tricks he already know.

Definitely, learning in your own is a good choice if you don't plan to work on infosec jobs. But without a grade the most tech job I can find in my country is formatting broken windows machines, installing printers and routers, and no much else.

<comment><USER19> the opposite is quite true as well... a degree doesn't mean you've learned anything or are great at the things i need.

of the 100+ engineers i've hired in the last decade, few had degrees and all of the top performers, aside from one, did not.

dual edged sword in my opinion.

<comment><USER18> To read you've hired engineers without the degree. Some brilliant people just needs an oportunity. In tons of business they just discard the CV that don't show degrees. A good talent chasing makes this world better in a faster way. But not everybody can find the spark in potential genius.

<comment><USER18> Well, this comments starts with "I feel happy..." Sorry.

</comment></comment></comment></comment><comment><USER20> In general, 4 years of school is worth 4 years of work experience. The problem being that, without 4 years of school, it's hard to convince anyone to hire you and get 4 years of decent work experience.

Additionally, it's harder to get jobs at larger and more bureaucratic companies without a degree. This is because of risk. If I'm a hiring manager, and I hire you, and you do a good job, everything is fine. If I hire you and you're a disaster, there will be a review as to whether there were any red flags during the hiring process that were missed. If "doesn't have a college degree and sufficient work experience" is found, it'll be used to make me look like I was sloppy for hiring you. If no red flags are found, it'll be chalked up to "there were no red flags. This was just bad luck." and everyone moves on. Knowing this, I probably won't hire you even if I think you're a good risk because it's not worth the risk for me.

Without a college education, you'll need to work for small companies who are willing to take a risk on you. You'll also have to accept really low pay to offset this risk until you've built a decent resume.

All of these things might be better than accumulating student debt. Depends on where you live, what the job market is like, and what connections you have.

<comment><USER21> My 4 year degree sure doesn't look like 4 years of experience to any HR staff/hiring managers I've ever interacted with.

</comment></comment><comment><USER22> From what you see on social media, in the news, etc. it might seem like "wow there are people out there who are self taught and made it big! I can do that!" But keep in mind, these stories are out there because they are rare. Most people who don't go to school, even those who shared the dreams of making it big, end up failing. The ones that succeed are unicorns. The inherent structure of school forces you to follow through with learning, projects, and eventually completing a degree.

There are multiple benefits to this. First you have a base to fall back on. No matter what you do from that point on, you have a degree that declares that you are at least somewhat competent in your field. You can't go any lower than this new platform you made it to.

Secondly, having gone through college for a degree in a field that I do not work in now, I can say there is still immense value in getting any degree, especially a science degree. The most important thing you learn is how to think logically, think for yourself, and how to problem solve logically. These are things that are often taken for granted, or overlooked.

Thirdly, you learn about a multitude of topics that you may not have bothered to investigate, which broadens your horizons, and makes your a more informed and intelligent person. Same goes for meeting new people. You meet people that you may never have had the chance of interacting with. Universities aggregate people from all over the world. You will make lifelong friends and connections that can be just as important in a career as technical skills. This also results in learned social skills and emotional intelligence which is immensely beneficial.

</comment><comment><USER23> Depends on what you mean by 'worth it' and what you would like to do if/when you got a degree. Assuming you mean monetarily/career-wise, there are some career paths/types of companies where you'll have a very difficult time getting into without one. (primarily large companies and 'gated' industries whether by professional associations or regulation) However, you can generally be a contractor/vendor for nearly any company as the business relationship is different and if they like you enough they may offer you a full time position despite the lack of a degree. But something not to discard is the life experience factor: I've met some people who just loved the whole college experience and that alone made it worthwhile for them regardless of the career aspect.

I'd highly recommend you at least try it for a while so you'd understand what you'll be passing on. One thing that _isn 't_ worth it is regretting down the line that you didn't go and having neither an understanding of what you passed on or a good reason why you did it. You don't even need to go to a 4-year college: take some Community College classes if you're unsure or money is an issue. (if you're careful to take classes that transfer, you can eliminate a big chunk of the cost if you decide to go for the degree) The downside is that 2-year schools really don't give you the same experience as the 4+-year schools. Bonus points if you take classes while trying to carve your own path: it's hard but then you'll get the experience from both sides to inform your decision.

</comment><comment><USER24> It can be worthwhile, even though you are getting ripped off very badly. That 4-year degree gets you about 1 year of valuable education, 1 year of nice-to- have education, and 2 years of disinformation.

If you just got the 1 year of valuable education, you'd still need 2 years (only part-time though) due to long chains of prerequisites. This is easily demonstrated at some schools by the fact that a person with an AA degree (totally generic liberal arts, like repeating some high school classes) can upgrade to a BS degree after 2 more years. Since half of those classes would be outside the major, the clear conclusion is that the 4-year degree only gives you 1 year worth of valuable education.

So there you are, giving up 4 years of salary and paying 4 years of tuition and living expenses, to get just 1 year worth of valuable education. It sucks, but it might still be your best option.

Higher education is sort of a cartel. You are offered what they feel like selling, even though the customers are really annoyed, and every place is roughly the same. It's like dealing with De Beers or OPEC. The colleges even exert control over the accreditation organizations, ensuring that no college can cheat.

</comment><comment><USER25> Going to school make's it easier to become a chef rather than becoming a cook [1] ("reasoning from first principles" vs "reasoning by analogy").

There's nothing wrong with being a cook but it depends on what you are aiming for for your career.

[1] [https://waitbutwhy.com/2015/11/the-cook-and-the-chef- musks-s...](https://waitbutwhy.com/2015/11/the-cook-and-the-chef-musks-secret- sauce.html)

[1] [https://waitbutwhy.com/2015/11/the-cook-and-the-chef- musks-s...](https://waitbutwhy.com/2015/11/the-cook-and-the-chef-musks-secret- sauce.html)

</comment><comment><USER26> It depends on what part of IT you are looking at, and what your objective is. If you need money now - then get a job and use what you have learned. The more you have a passion for the topic the more likely a degree is needed. Because after you get a bachelors, you are likely to want a master etc.

Programmer / Database - definitely - I have been developing code for a long time, I have worked in many positions. When I work with people I can usually tell if they have a degree in CS or some other topic. Part of it is the mind set of the person, and their ability to comprehend issues. A math or engineering major will understand recursion when explained. Most math majors will be able to do recursion after an explanation. A history or business major will nod in agreement, but still have no idea what I explained. That being said I use recursion to distinguish better programmers who can / could be great and those that are on the B team.

Like others have said, not all CS majors are great programmers, and many are just bad. But the chances are better, but I think it has more to do with passion than anything else.

If desire to be a systems administrator, a CS degree can help, especially in scoring the interview, but is often more helpful to have certifications.

It is easier for a boss to justify a raise / promotion for someone with a degree than not. Take this extreme scenario: you have 2 developers, one with a few programming certs and one with a CS PhD. A manager slot opens up... whom do you promote? How hard would it be to explain either promotion to upper management? If they screw up in the new position who will they blame (if its the PhD person they blame them. The other guy they blame you for promoting him beyond his skills).

If you want to do web pages, then I think the learn it on your own is the best tactic.

I would avoid a CIS degree. That appears to be a degree for people who cannot do CS but think a computer degree would be real cool. Last I looked there were a lot of unemployed CIS people.

The one advantage of starting work now, is you might be able to get the company to pay for your CS degree. But they almost never provide a good pay raise.

</comment><comment><USER27> There is a massive amount of high quality and completely free material from universities available online. Use it to your advantage.

</comment><comment><USER28> In my opinion, the industry wavers back and forth on CS degree or just 'git- er-done'. I remember the early computer 'craze' (1970's) when all you had to do was open a company called "Compu-NNNN" and money would flow. Later, people wanted to see diplomas, degrees, certifications so then lots of folks when to school: undergrad, or grad-school if you already had undergrad degree. Now, things are a bit different: information as well as the opportunity to acquire skills is global, no one place is 'ahead' of the other

My advice: choose a path you are comfortable with in terms of time, money.

</comment><comment><USER29> My experience hiring lots of engineers is that people with comp-sci or other stem degrees are on average much more successful at software engineering. Yes, there are great self-taught and code-schooled engineers, but on average they are less successful. Plus even the great ones seem to get started later with their careers instead of getting hired straight out of college like comp-sci majors.

I imagine it will also be difficult to network and build relationships in the industry without attending a 4 year school unless you are very outgoing. Who you know is often more important than what you know.

</comment><comment><USER11> Yes, I would say worth it. Not just for the degree itself, but the networking and internship opportunities being a student gives you. If you live in an area with a strong tech scene you can get high quality paying internships which give you a strong foot in the door at many companies.

It's possible for you to carve your own path but from my experience companies are looking more and more with people that already have professional experience even for entry-level jobs. As long as you can afford it without going knee-deep into debt then I would say it's a good idea.

</comment><comment><USER30> There was a time where the software industry was booming and immature so that someone with enough time on their hands to teach themselves what was necessary, could end up being as good as the other guy.

Now systems have become more mature, more complex, and companies expect more from an individual that they only want to train on the details of their own system rather than the basics of the craft.

Gradually that's meant that at the very least, you ought to be credentialed to have an advantage now if you want to be hired by larger companies. There is an exception to this, and that's if you manage to be front and center in a large self-sufficient software project. But getting to that point can be just as difficult as getting a degree, and leaves you with the burden of communicating your value even if you have learned a lot in the process of maintaining this codebase. See the story with the Homebrew guy failing his Google test.

From my experience a university program emphasizes theoretical material which gives you a bit of every domain in software engineering. You are still given a lot of room to direct your learning outside of this, but it would be mainly to keep current as to what tooling industry uses as well as maintain your network. What you are paying for is structured material plus access to the wisdom of professors, which can often be quite mind-expanding in its own right.

</comment><comment><USER31> I'm a Russian citizen and have no degree, self-taught, never had a problem, until recently when I was offered a job in Berlin. As far as I understand, in order for a foreigner to be able to live and work in Germany (and that should apply to many, if not all, other European countries too) one must obtain a Blue Card, and that requires one to have a degree in the field they're going to work in.

<comment><USER32> even that can be bypassed if the company is really interested in you, they need to offer you yearly salary greater than xx000 EUR and give you contract for 1 or 2 years and you can get a blue card without university degree. i dont know the details, but im working in berlin and i know many friends with that issue

<comment><USER31> Wow! Sounds great if true... Could you, please, connect me with one of those friends of yours? I'm really willing to go, meet people, make some friends, if possible at my age, maybe, even, try to launch a dev studio. I was also considering buying a degree, but, of course, I'd much prefer a legal way.

Where are you from, if you don't mind? How is it in Berlin? I stopped following any news a while ago, but the last thing I heard was that a lot of refugees were coming to Germany and not all of them were behaving. To the extent that native Germans started leaving some cities. Is that true? Is it safe in general?

</comment></comment></comment><comment><USER33> I think it really depends. A degree requires more commitments, both time and efforts, but it'll give you more: fundamental theoretical knowledge, network, career consultancy and vision. But if you already have good fundations and need to get started in CS, there are so many resources available these days. You just need to be much more self-desciplined and dedicated. Good luck!

</comment><comment><USER34> Learning is like gardening. You plant seeds, maintain their growth and hope one day they become something beautiful. In schools you will find many well skilled gardeners who know how to growth some beautiful parks, though this strongly depends on the soil they get, meaning you. If you don't work with them, or just don't have or get what is neccessary to grow well, then even the best gardener can't help you.

On the other side, not every one want's to be a park, some people are happy being a bush, sometimes people are better with being a jungle and maintain their own beauty.

Nobody can predict the future, nobody can tell what person you will be in 10 years, in 20, 30.. But probability-wise it's always a good idea to learn from those who already mastered the skills you seek to learn. Having a teacher, someone who can guide you, someone who forces you to learn the boring but still important stuff, is usually a good thing. Especially in a highly knowledge-drowning field like computer science.

</comment><comment><USER35> It probably very much depends on the school and the courses you take but most will provide you with at least some foundational knowledge of computer science (e.g. data structures, complexity theory, some linear algebra, software engineering), which is incredibly useful.

You can certainly learn this all by yourself but that takes quite a bit of discipline. Moreover, having an actual teacher and peers to help you with your learning is an enormous benefit.

That said, foundational computer science education can only ever be part of the equation. If you really want to excel in your field you have to learn on your own anyway. So ideally, it's a combination of both.

As for the degree itself, that totally depends on what you're going to do in the future. What you learn is much more important than the degree itself. You can still drop out later if you feel you'd better continue on your own or your time (and money ...) might be put to better use in other ways.

</comment><comment><USER36> I wouldn't get a degree. They're not needed and you'll make far more with an extra 4 yrs of experience. There will be some jobs that will be harder to get, but it doesn't make up for the fact that you're not working for 4 years, and paying through the nose for school.

</comment><comment><USER13> There's also the middle ground of going to a reputable coding bootcamp.

I'm a 34 year old dad with two kids with a bachelor's /master's, so I'm not really itching to accrue any further debt and I don't wanna spend 2/4 years in school. Sure, if I had the time and money, I'd go back to school and take a bunch of math/theory that would probably help but wouldn't be essential to finding a job.

Anyhoo, I start class at a bootcamp in a couple of days. Other than a bunch of codeacademy, mdn and other random resources, I don't have a load of experience in programming

</comment><comment><USER37> 3 years ago I made the decision not to get a CS degree and haven't had a problem getting interviews. There are other things to consider. If you're interested in talking reach out to me at samheutmaker at gmail

</comment><comment><USER38> If you do it to make more money down the line, then it's less about learning anything and more about having the right names on your resume, so shop around for brand names. The more Ivy-league sounding, the better.

If you actually want to lean something, you have to check some available lit and see if you actually care about the problems CS people are trying to solve. Just because CS has something vague to do with all things Valley, programming, six-figure salary, hacking the Matrix and other shiny stuff doesn't mean you're gonna like it or end up valuing it.

</comment><comment><USER39> Trivia: Someone in a hiring position once told me they no longer hired self taught programmers because such people didn't understand essential architecture. They had tried it and it never worked out.

<comment><USER40> What is "essential architecture?" I'm having a hard time searching on it as everything comes back as either "essential computer architecture" or "essential architects' architecture" (aka building and city design).

<comment><USER39> I'm not a programmer.

Maybe some actual programmers will kindly weigh in.

</comment></comment></comment><comment><USER41> Well... Talking as European my answer is "it's depend".

Degrees and school solve different problems: degrees serve as a way to "know enough" about someone otherwise unknown to assign a job, also solve some legal problem in that process; schools are a way to spread not only knowledge per se (notionism) but also to transmit a paradigm, a way to grow personal knowledge.

So, without a degree you may encounter "bureaucratic" problems/obstacles or at least "suspect" in your work's career. Without a school you can learn MANY things, perhaps more than that you can learn at school in the same time, but it's hard to say if you can learn them with a good ontological method or not. At school it's the same: if you encounter a good teacher you may learn good paradigms not only "know how", otherwise you may only lost time and eventually money (depending on your's country education system).

Also even if you are lucky you still need experience, not only paradigms and mere knowledge.

The way and the order/time you'll follow to get them... Well it's really individual, not standardizable, so you can't IMVHO get ANY generally valid answer. You know ingredients, how to combine them it's your's personal recipe to be build accordingly to your personal taste, kitchen, tools and time you have and want.

For the rest, in my experience USA/UK/English-world school in general tend to be too notionistic, they tend to form "skilled Ford model workers" not real "technician" or "autonomous thinking guys, European ones tent to be too detached from the real world so they form "autonomous thinking children" they need to grow in the "outside"/real world for some years after. Also in the USA/English world it's generally more valued experience/history than competence mostly because it's easier to check than really get to know someone. In EU world it's more valued traditional qualifications...

As a bottomline: it doen't really matter how much effort you put if you do not really want to do something so if you force yourself in a school or in autonomous learning results will still be poor. You need to desire and need something to really accomplish it. So to say that if you can, as you can, it's better to follow your dream not a pre-defined path by someone else. it may not be ideal, it may not produce better result but being you'r own path it will make you more free and happy than anything else.

Sorry for my English, not my motherlanguage...

</comment><comment><USER42> I have both coded before and after the cs degree. Degree is not about making money but gets you to the level of understanding that nobody can sh*t talk you about how important learning 'x tech' is. Learning that much without degree is really tough as trying to pull your teeth without going to the dentist. Only danger is, you become so deep about the knowledge part but business doesn't care how good scientist you are, so there is that.

</comment><comment><USER43> Most CompSci programmes around the world are utterly bollocks and not worth the time investment from a learning perspective as you'll have to waste time on the tedious and unproductive coursework.

So the question really boils down to:

1\. Do you want to work in academia? If so, get degrees.

2\. Do you want a piece of paper showing you're a good cog in the machine? If so, get a degree.

3\. Do you want to learn as much as possible? If so, skip the degrees and focus on learning.

</comment><comment><USER44> My two cents: in my relatively small sample of developers that I know, I see differences in the ones with and without degrees in the topics that require more study and discipline like operating systems, complexity, and formal theory. For example, people without a degree in general does not have a good background for developing multithreading systems or understanding that the problem they are trying to tackle is NP hard.

</comment><comment><USER45> If you are in it just for having a job and an income - then having a degree is not necessary. If you want more then it is also not necessary but helps a lot. Make a pros and cons list and decide for yourself. But make a decision. I picked engineering instead of CS and do not regret. But I was looking into application of CS. Be mindful that engineering is not particularly easy but definitely doable.

</comment><comment><USER46> Going through school also helps you build a network and gives to access to peer groups that will have you learning a lot quicker and be exposed to new things.

</comment><comment><USER47> I moved from the UK to the US when I was 20 with no degree, just self taught. Have been working in senior engineering roles for ~8 years. I do feel as though I've struggled more with the academic side of CS but the practical side is what you're measured on post-inverview. You can't go wrong by going to school, but it is becoming decreasingly necessary

<comment><USER48> under what visa?

This would be hard to do today.

<comment><USER47> An O1, which yes has gotten harder but is achievable

</comment></comment></comment><comment><USER49> How young are you? If you're around an average college student's age, you should definitely get that degree.

</comment><comment><USER50> I'm 31 and considering getting a degree. Wondering if I should go for a masters in CS or do a bachelor's. Coming from a non-cs background and doing a career change at this point isn't easy. Master's would be much shorter and the Bachelor's obviously would take much longer. Any suggestions?

<comment><USER51> Usually Masters degrees require Bachelors first. Maybe you mean Associates?

<comment><USER50> Some programs in Canada allow you to get a masters in CS without having a CS background. It would require taking certain prerequesites.

<comment><USER52> The (reputable) programs I am familiar with in the US are the same.

</comment></comment></comment></comment><comment><USER53> A math degree is worth it. Learn graduate level statistics and machine learning. Then apply it to something.

</comment><comment><USER54> If you're in the U.S., take 1-2 intro programming courses at a local community college. If you get an A, and like the course content, you will be in a much better position to determine if you should go it alone or get a degree.

</comment><comment><USER55> Both. An education is worth it if it is a master; I do not think, speaking from experience myself and people I have hired, a bachelor is worth much of anything.

A master will give you thorough theoretical understanding, it shows you can get through difficult and boring phases but did not give up and you learn to learn and reason systematically. Outside that networking, social life and having fun should be a big part imho.

If you have to build up student debt (I am from the EU; it was basically free for me as long as I wanted, so I got several degrees) then it depends what you want with it; I would say for IT compsci is definitely worth it; other fields, you might struggle to pay back debt for a long time so then it would need to be something you _really_ want. As you are not sure and asking here I assume you mean compsci.

<comment><USER56> > An education is worth it if it is a master

ymmv here. the company I work at offers the same starting salary to fresh bachelors, masters, and phds, unless your scholarly work happens to directly pertain to the business. in a lot of cases you will have missed out on 4-5 years of raises and experience. a lot of companies will be calling your peers "senior devs" by the time you get your first job.

<comment><USER55> ymmv indeed; probably depends a lot on the field and region, hence the 'in my experience' ;)

Many companies we work with throw bachelors straight on the do not hire or maybe-if-no-master pile. This is also related to that in my generation and my country, bachelor basically meant dropout. You always got the equivalent of a master and hiring managers from my generation and region still feel it is basically not finishing.

</comment></comment></comment><comment><USER57> Depends on a lot of factors, age, savings, debt, etc...

Recently had to make this choice for myself as a 24 year old.

Reach out to me if you want to discuss it further and I may be able to provide some insight.

<comment><USER58> Hey leesec, you don't have an email listed. I'm a 25 year old making similar decisions. If you wouldn't mind quickly sharing the factors that went into your decision, I'd appreciate it. Included my email address on my prof.

<comment><USER59> You might want to put an obfuscated version in your profile and edit it out of this comment. I imagine email harvesters are happy to crawl HN, and you might even get some more... _targeted_ emails.

<comment><USER58> Updated...appreciate the tip!

</comment></comment></comment></comment><comment><USER60> Yes, for reasons everyone has said, and to collect those life experience badges (going to college, college friends, etc). You wanna try a lot of things once.

</comment><comment><USER61> going for a CS degree will give you an overview of existing topics, meaning at the time you finish you degree, you will know things, and you will know which things you don't know. Without a degree, you will know things, but you won't know what else is there

<comment><USER62> great answer

</comment></comment><comment><USER63> both

<comment><USER64> Seconding this. My degree comes in handy all the time conceptualizing software and architecture problems into computer science problems, which are much less murky to solve. My practical experience comes in handy all the time with the day-to-day usage of libraries and frameworks, and "hands-on" skills ie debugging, deploying, etc.

</comment></comment><comment><USER65> Do the first two at a comm. college.</comment>


Google's Smartphone Partners Are Kinda Screwed - <AUTHOR> http://www.betabeat.com/2011/08/15/google-smartphone-partners-are-stuck-between-a-phone-and-a-hard-case/

<comment><USER2> While Google stated in its blog post this morning that it plans to run Motorola as a separate business, honor existing partner agreements and avoid favoritism at all costs, this language far more about anti-trust scrutiny than future plans. "Google sees that Apple has gotten bigger than Exxon as a vertically integrated company going after the top of the smartphone and tablet market. With a Motorola purchase, they can now do some really interesting things, including subsidizing the cost of high end Android phones way, way down. No partner wants to be the one chasing the scraps of the low end mass market."

<comment><USER3> I think Google would rather try to make something like Apple's record profits on their handsets, than try to undermine everyone else by subsidizing their own phones.

Also, a $25 discount on a $500 phone means nothing. A $25 discount on a $100 phone is quite a lot. So it makes more sense for them to subsidize the cheapest models, so more people can get them, rather than the high-end ones where it barely makes any impact anyway.

This acquisition will probably pressure Microsoft to buy Nokia, too, although I think they were already planning on doing it, but after they see what kind of sales Nokia will have with its first WP7 phones.

<comment><USER2> But Google can afford to use subsidized MotoGoogle phones as loss leader to capture nice chunk of high end market, and bank revenue on mobile ads. Then, later on down the line, they can start to look for hardware profits.

</comment></comment></comment><comment><USER4> Google has consistently had a number of products simply to better the marketplace as a whole. If the nexus line proved anything, its that Google is /not/ a hardware company, nor does it know how to market itself as one. Not only that, if they undermine other carriers, they will loose marketshare and therefore loose profits. This is clearly a patent oriented purchase, not one to compete with the other manufacturers.</comment>


Insights on Redis and Symfony2 architecture that handles 1 billion requests/week - <AUTHOR> http://labs.octivi.com/handling-1-billion-requests-a-week-with-symfony2/

<comment><USER2> > Symfony2 instance handles 700 req/s with an average response time at 30 ms

That is amazing, even if they're using it only as a REST server.

</comment><comment><USER3> The numbers are very impressive - a great case on how multiple cache layers can be employed to provide scale and performance.</comment>


Ask HN: What are the best open source GitHub repos using python 3? - <AUTHOR> <comment><USER2> Here are some popular ones (10k stars or so):

\- [https://github.com/home-assistant/home-assistant](https://github.com/home- assistant/home-assistant)

\- [https://github.com/channelcat/sanic](https://github.com/channelcat/sanic)

\- [https://github.com/pypa/pipenv](https://github.com/pypa/pipenv)

\- [https://github.com/google/python-fire](https://github.com/google/python- fire)

\- [https://github.com/explosion/spaCy](https://github.com/explosion/spaCy)

</comment><comment><USER3> How do you qualify a repo "better" compared to another?

<comment><USER4> It's subjective for sure, I think OP is asking "python developers, in your professional opinion what are the highest quality open source python repos".</comment></comment>


Thoughts about the PSD format - <AUTHOR> https://github.com/gco/xee/blob/master/XeePhotoshopLoader.m#L108

<comment><USER2> This has been discussed here several times before; I recall enjoying the discussions:

[https://news.ycombinator.com/item?id=8831172](https://news.ycombinator.com/item?id=8831172) (January, 2015)

[https://news.ycombinator.com/item?id=6410821](https://news.ycombinator.com/item?id=6410821) (September, 2013)

[https://news.ycombinator.com/item?id=575122](https://news.ycombinator.com/item?id=575122) (May, 2009)

also relevant is the response of Adobe's John Nack:

[https://news.ycombinator.com/item?id=593286](https://news.ycombinator.com/item?id=593286) / [https://blogs.adobe.com/jnack/2009/05/some_thoughts_about_th...](https://blogs.adobe.com/jnack/2009/05/some_thoughts_about_the_psd_format.html) (the URL has moved since the HN discussion happened) (May, 2009)

</comment><comment><USER3> I like the sanity check right after the rant. Nice touch.</comment>


Facebook Is Telling People That They Are Dead - <AUTHOR> http://www.recode.net/2016/11/11/13602870/facebook-dead-2016?utm_campaign=recode.net&utm_content=chorus&utm_medium=social&utm_source=twitter <comment><USER2> [https://news.ycombinator.com/item?id=12934247](https://news.ycombinator.com/item?id=12934247)</comment>


How the chili pepper got to China (2016) - <AUTHOR> http://nautil.us/issue/62/systems/why-revolutionaries-love-spicy-food-rp <comment><USER2> People always seem dumfounded when they learn that up until the 16th/17th century not a single Thai dish was spicy.

<comment><USER3> And that Vindaloo is a Portuguese dish

<comment><USER4> Thr original Portuguese carne de vinha d'alhos has been modified with local ingredients (e.g. palm vinegar instead of red wine, and local spices) so while the dish is indeed derived from a Portuguese recipe, it's no longer just a Portuguese dish, like everybody will recognize Pizza as bring a typical Italian dish even if you can show that it has deep roots in the Mediterranean cuisine

</comment></comment></comment><comment><USER5> Discussed at the time: [https://news.ycombinator.com/item?id=11566042](https://news.ycombinator.com/item?id=11566042)

</comment><comment><USER6> Long article, what's the TL;DR? How _did_ the chili pepper get to China?

<comment><USER7> there's an infographic halfway down the article that explains. yes, you have to click the link in order to see it, i'm very sorry.

<comment><USER6> Summary: "Christopher Columbus encountered the chili pepper in the Caribbean in the late 15th century. Soon after, Spanish and Portuguese traders, obsessed with controlling the spice market, spread the chili around the globe. "

So the likely route is: Carribean -> Spain -> Portugal -> India, Macao and other far east ports -> inland China</comment></comment></comment>


Ask HN: What Escrow services do you use for freelance software dev? - <AUTHOR>

Hi, I was wondering what the Escrow services you have used and would recommend for software development or graphic design projects.
Regards
Mark <comment><USER2> I wouldn't spend the money on them. Essentially, you're asking a third party that both of you trust to hold the money for a sizable fee.

For previous clients, you've built a relationship with them. Build on that. Stay in good contact. This eliminates the need to proxy money.

For new clients, or folks you don't get a great feel from, just do the 33/33/33 path. 1/3 (33%) due on signing the contract (usually when you agree to the specs / sign the statement of work). 1/3 when you've reached an agreed upon milestone. And 1/3 upon completion. This limits your exposure, limits their exposure, and encourages good communication (which boosts trust, moving the new/untrusted clients into the trusted clients pile).

Really, why would you give someone a cut of your money just to hold it, when you can use other (pretty standard in the industry, btw) methods?

<comment><AUTHOR> Thanks Travis, some great advice there</comment></comment>


Preprocessor Abuse and Optional Parentheses - <AUTHOR> https://mikeash.com/pyblog/friday-qa-2015-03-20-preprocessor-abuse-and-optional-parentheses.html <comment><USER2> I feel like I just read a subliminal promotion for the lambda calculus.

<comment><USER3> Not my intent, but maybe I wrote it that way subliminally too.

</comment></comment><comment><USER4> An old Macrology trick for passing expressions with commas and all kinds of other punctuation to macros is to define the gobbledygook as one macro, and then pass its name to the other macro as a parameter.

<comment><USER3> Another way is to just use a macro that returns its argument:

        #define WRAP(...) __VA_ARGS__
        SOME_MACRO(WRAP(a, b, c), d)

But I wanted something that let me just wrap the thing in parentheses without anything extra. Foolhardy, since it was a bunch of work and thought for an extremely small gain, but at least I got a fun article out of it.</comment></comment>


Compiling the lambda calculus (2013) - <AUTHOR> http://www.playingwithpointers.com/compiling-lambda.html <comment><USER2> Yet another mention of how Haskell's type system catches problems at compile time that would normally be runtime. That I keep seeing this mentioned means it might be worthwhile for some Haskell experts to do a survey or meta paper that tries to find every instance and technique of this. As in, all kinds of recurring problems in programming that people solved with the type system.

To make it more clear, Ur/Web has a few that prevent common defects in web applications:

[http://www.impredicative.com/ur/](http://www.impredicative.com/ur/)

Stuff like that for as many issues as possible. Might get more R&D and/or uptake on that stuff. Ideal scenario, which is unlikely, is the good ones become a de facto standard that show up in all sorts of functional and semi- functional language applications.

</comment><comment><USER3> I posit that people enjoying [reading about] this would also thoroughly enjoy "The Reduceron reconfigured and re-evaluated" (accessible from [https://www.cs.york.ac.uk/fp/reduceron](https://www.cs.york.ac.uk/fp/reduceron)).</comment>


Huawei Boss Crashes; News Stories Disappear - <AUTHOR> https://www.cambodiadaily.com/news/huawei-boss-crashes-news-stories-disappear-121165/ <comment><USER2> Unfortunately this kind of hit-and-run is quite common in Cambodia.

Sometimes there is genuinely no way to find the perp, but a lot of the time, either the police are cowed into not really investigating too hard (when the perp turns out to be the son of a highish ranking government official, or wealthy business family, for example), or there is this kind of attempt to make things go away by paying-off the victims, police and anyone else necessary.

I would guess (but you never know) Huawei itself may have little involvement, other than providing the salary required to drive such an ostentatious vehicle, etc, in what is still a poor, developing (though thoroughly corrupt) nation ([http://i46.photobucket.com/albums/f135/gavinmac/15181532_346...](http://i46.photobucket.com/albums/f135/gavinmac/15181532_346572865705576_4809184333924971826_n_zpsx4pyzbzf.jpg))

<comment><USER3> > there is this kind of attempt to make things go away by paying-off the > victims, police and anyone else necessary

Am I wrong in feeling that there is nothing wrong in making things go away by paying the victims? (Not the police though.)

Especially with accidents that are from negligence without mens rea.

<comment><USER4> Great idea. Let's take away any remaining thing that rich people can potentially be held accountable for!

What's the ante for a dead person? Is a kid worth less than a working parent?

<comment><USER5> Worth a read: [http://www.slate.com/articles/news_and_politics/foreigners/2...](http://www.slate.com/articles/news_and_politics/foreigners/2015/09/why_drivers_in_china_intentionally_kill_the_pedestrians_they_hit_china_s.html)

<comment><USER6> [http://www.snopes.com/chinese-drivers-kill- pedestrians/](http://www.snopes.com/chinese-drivers-kill-pedestrians/)

</comment></comment></comment></comment></comment><comment><USER7> In Belgium, a EU country, we even have a law that allows criminals to buy off their trial. It is highly controversial and recently it was exposed that the law was designer made to allow a caught Uzbek businessman to buy his way out of a tax-evasion conviction. It has even been used to buy of convictions of corruption. (Link in Dutch [https://nl.wikipedia.org/wiki/Minnelijke_schikking](https://nl.wikipedia.org/wiki/Minnelijke_schikking) )

<comment><USER8> this sounds like how typical plea bargains or out of court settlements work in the usa

i'm not too familiar with the details of either laws but maybe someone more knowledgable can chime in here

<comment><USER7> I'm not too familiar with the US justice system, but I do not think it is like either of these. In the Belgium case, there is no plea as it will be as if the case never happened. Nothing goes on your record afterwards. Unlike a settlement, in the Belgium case this can occur after trial and sentencing. You just buy of your sentence, and everything is erased. There are limitations as to the types of sentences to which this can apply (I think 2 years imprisonment was the max.), but it was a grey area often skirted. The law is now on hold as of this summer after being in operation since 2012, but politicians think it can be 'rescued' with some more clarifications and some more transparency.

<comment><USER9> Plea bargain is one where you accept a lesser criminal sentence if you choose not to go for a trial - it is not a settlement but a deal. In the case of this Belgium law, it seems you can settle a criminal sentence (T^C apply). In US terms, it seems this law allows settling of criminal misdemeanors (roughly).

From what I understand, only a part of the law is unconstitutional. This is the part where the public prosecutor has a choice to decide whom he will provide a settlement to. In other words, the option for settlement should exist with everyone equally. This itself seems a quagmire now because it essentially says that only people with enough money can have such a settlement.

</comment></comment></comment></comment><comment><USER10> This is a great example of the Ned for a free and adverbial press. It's also a good example of the need for independently run forums. Sadly both are under assault.

Also, I'm sure were this domestic that a returned-to-China Facebook would do the same thing.

</comment><comment><USER11> Someone is going to get some first-hand experience with the Streisand effect [1]

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

<comment><USER12> Right. Like the dumb criminal who says "I didn't steal these shoes" when a policeman walks by in silence.

</comment></comment><comment><USER13> This isn't uncommon in China either.

A friend of mine was riding with a relatively well connected Chinese lady, when she pointed at a man on the side of the road and said: "I could hit that guy and get away with it, would probably cost me 100k". That a Huawei boss could get away with it in Cambodia doesn't come as much of a shock.

<comment><USER14> Well its free in the US, just wait for the guy to enter a crosswalk and mow him over.

"I was blinded by the sun" "He darted into the road"

<comment><USER15> Unless your blood alcohol content is up above the legal limit, in which case it doesn't matter whether he suicidally jumped in front of your car...

<comment><USER14> In this case you want to flee the scene and sober up, less penalty.

</comment></comment></comment></comment><comment><USER16> This sort of thing happens a lot in the world. With the internet people may think that all countries are the same but just with different languages and food but every country is really different.

my opinion on this story: some rich wanker tries to make problems go away with money and intimidation, not unusual. The worry is that there needs to be recognition and kudos for news sources that don't cave in.

</comment><comment><USER17> Bad PR is never bad PR ...

</comment><comment><USER18> This incidence underscores the importance of the Internet (neutral) and social media that is not a walled garden totally. Reddit, Telegram, Signal (HN to a lesser extent, due to its less popularity amongst general public) are good mechanisms to spread news which the mainstream media chooses to suppress due to reasons like corruption, pressure, political correctness.

In US also the mainstream media mainly sold out to Saudi money, tends to suppress news critical of Islam and the pseudo-liberal practice of intimidating any critique of the oppressive ideology of Islam in the name of racism, islamophobia and what-not.

If not for the Internet and social media, the ex-Muslims' voice would not been suppressed by the corrupt mainstream media. [1] [2]

[1] [https://www.youtube.com/watch?v=xDIR3GhXszo](https://www.youtube.com/watch?v=xDIR3GhXszo) [2] [https://www.reddit.com/r/exmuslim/](https://www.reddit.com/r/exmuslim/)</comment>


US Senator Warren Introduces Bill to Simplify Tax Filing - <AUTHOR> http://www.warren.senate.gov/taxday/ <comment><USER2> This would just paper over the fact that the US tax code is an abomination of deductions and credits. It would not simplify any of the magic math; it would just make most people think they are getting the right credits.

Would it actually give people all the deductions and credits they could get through a detailed analysis? I highly doubt it. TurboTax doesn't ask 1000 questions for fun; most of them matter because of the insanity of our tax code.

It would probably put turbo-tax out of business though, this is true. The default, free, option is going to win against a paid product.

All this will accomplish is making sure that tax preparation is back where it was two decades ago -- where the Actually Wealthy hire a person to do their taxes and get the right deductions, and everyone else gets stuck with an opaque bill which they can't afford to assess for accuracy. This is a far more regressive system than what we have now.

Don't accuse me of being a TurboTax shill. I have nothing to do with them, besides doing many hours of complex taxes which would have cost far more in- person than with TurboTax (and no, I'm not under any circumstances blindly entrusting the IRS with correctly calculating ISO AMT nonsense.)

<comment><USER3> "All this will accomplish is making sure that tax preparation is back where it was two decades ago -- where the Actually Wealthy hire a person to do their taxes and get the right deductions, and everyone else gets stuck with an opaque bill which they can't afford to assess for accuracy. This is a far more regressive system than what we have now."

This is where it is now - plus the non wealthy end up paying TurboTax $200. This bill would save them the $200.

<comment><USER2> A lot of fairly high income people pay for TurboTax. Billionaires of course have tax preparers -- but TurboTax moves the bar a LOT higher.

> This bill would save them the $200.

First, most people pay turbotax $50-100. $200 would be deluxe + 3 states, which is highly uncommon.

And it's highly likely it would cost them MORE than $200 in credits they are not automatically given by the IRS. The IRS does not know what you donated to charity, properties you own which get credits for, educational tax credits etc.

It will spit out a number with a refund, sure. But this change will take more from the lower-income and middle-income proportionately than from the wealthy.

<comment><USER4> > The IRS does not know what you donated to charity, properties you own which > get credits for, educational tax credits etc.

But it could if provided with the data.

</comment></comment></comment></comment><comment><USER5> As a data point for anyone curious about what a fairly complex, but really not insane, tax return looks like, my taxes were fairly complicated this year:

      - 3 jobs (2 for me cause I changed mid-year, 1 for my wife)
      - Some investment earnings (both cap gains & dividends)
      - I was part of the Google class action settlement
      - Some random 1099s
      - Itemized deductions mainly just cause I live in a high tax state (NY)

My federal tax return is 87 pages (not counting a list of all capital transactions). IMHO, complexity that could possibly be eliminated can be found in these items (in no particular order):

      - The deductibility of state taxes (still kinda weird to me how this works)
      - Foreign tax credits (Probably actually necessary, but tricky)
      - The AMT
      - Forms 8959/8960 (Can't this be built into the rates?)
      - Self Employment Tax (an artifact of the deceptive way SS & Medicare taxes work)
      - The worksheet for calculating capital gains tax seems a bit crazy

Overall, at least from my perspective, no individual item is all that crazy. It's just the weight of a bunch of little things that all add up to something that feels overly complicated.

<comment><USER6> > The deductibility of state taxes (still kinda weird to me how this works)

Well, the idea is that the federal government is only taxing your income, and money that your state has taken away doesn't is your income. It's not a bad idea, but the problem is that it means that no-or-low-income-tax states end up subsidising high-income-tax states. Moreover, there's no easy way to itemise other forms of state taxes, e.g. sales or property taxes.

It really should be done away with.

<comment><USER5> Ya, I get the reasoning. And I agree with your analysis about the negative consequences.

But the part I actually think is weird/complex is the way it ties tax returns together from adjacent years.

For my 2015 federal return I don't deduct my state taxes on my 2015 income, I deduct state taxes I paid in 2015. Those can be two different things. I just find that a bit weird.

</comment></comment></comment><comment><USER7> I dread tax time every year. I'm self-employed, so I don't exactly expect it to be easy, but I generally end up spending 3-4 full days working on my return. Not including the meticulous record keeping I amortize over the year with a simple spreadsheet.

Every time I think I've finally got it figured out, there's always some weird new situation that throws a wrench in things. Common things like buying/selling a house, moving to a new state or locality, death of a parent, etc. I honestly don't know how most people ever manage to do it correctly, much less optimally.

This year it was 2 different banks that got IRA reporting wrong. Last year, Turbotax "interview mode" would not let me enter some crucial figure correctly. Previous year it was clients not sending 1099s (and agonizing over whether to just report manually or wait for the form). Two years before that it was a RITA (local tax authority) screwup.

I tried hiring a local CPA to take away some of the pain, but he ended up making a $5K mistake, and it took hours of my time to correct. I've had a good accountant in the past, so I know they can make a huge difference, but they are very hard to find.

</comment><comment><USER8> I received a letter from the IRS asking for some money because my 1099 didn't match what my brokerage submitted...

If you have the data already then why am I also calculating it by hand and sending it? Why don't you just tell me what I owe you!?

<comment><USER9> That's Intuit again, lobbying to keep the US from developing a system like this. There are countries in Europe that already do it.

[http://www.theatlantic.com/business/archive/2016/03/the-10-s...](http://www.theatlantic.com/business/archive/2016/03/the-10-second- tax-return/475899/)

</comment></comment><comment><USER10> Intuit's lobbyists will ensure this doesn't come to fruition.

<comment><USER11> Legislation can get past powerful lobbyists if there's enough public momentum. It happened with Tobacco.

I'm not terribly hopeful that this particular bill will pass, but I'm glad to see Warren bringing the issue up.

<comment><USER12> This is because most lobbyists can only offer campaign donations, and then only implicitly. That isn't what politicians really want; They want votes. If they have campaign money, they might be able to use advertising and organizing to turn that into votes, but it is no sure thing.

A few lobbying groups, like AARP and the NRA actually _can_ bring votes to a candidate and that is where the real power is. They have a list of people who care about their pet issue and can send them mail saying "candidate X proposed HR.1337 which does foo; Candidate X fights for your rights."

Until recently, the only organization with a large list of people who were frustrated with turbotax was Intuit. However, Twitter, Facebook, and Reddit now both have records of large numbers of people griping about taxes. Why has Facebook not yet exposed an API that let you advertise to people who are frustrated with a given concept? It seems like a great way to find folks that have a certain pain point.

</comment></comment></comment><comment><USER13> Current tax code is completely antiquated and way more complicated than it should be.

While of course the more money you make the more you pay, generally the effective tax rate is signanfncitly lower for higher net worth individuals. This is due to loopholes, business expenses, and various writeoffs.

For example, I just did my taxes and my effective rate was 18% (I am not wealthy, but above the average income level).

<comment><USER14> Would love a how to on this if you feel like sharing more.

<comment><USER13> A few things. Careful planning of selling stocks that are in the red and in the green to minimize the amount of capital gains paid.

I have a LLC for my startup and can write off quite a bit of business expenses to offset the business income.

<comment><USER15> This is the trick. You have your own LLC and writeoff everything as business expense. My dad is a contract construction worker, and writes off his vehicles, his gas, his phone, his tools, and all manner of insurance costs for work as business expenses and pays a really low effective tax rate as well.

<comment><USER13> A few big gotchas with LLC though.

Every year you have to pay a flat $800 to the state of California. Sucks if your business is not making that much, $800 can be a significant cost.

Self employment tax hurts bad. Basically this is Medicare and social security. Can be a huge amount owed seperate and in addition to income taxes.

<comment><USER16> Why would you incorporate your LLC in California? You can get an LLC in other states for under $100/year.

<comment><USER17> And if you are physically present in California, you _still_ have to pay California taxes for the LLC's income, so you accomplish nothing except exposing yourself to liability in another jurisdiction.

<comment><USER16> There's a reason why most companies incorporate in states like Delaware, and additional liability isn't it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Of course it won't pass. With enough money, you can pay lawyers to either make things legal, convince a court that what you're doing is legal, or hide your illegal activities. I'm not sure whether TurboTax and the like are doing #1 or #2, but they're the ones making sure simple tax filing never passes, which would put them out of business.

<comment><USER19> If the government could take on Standard Oil it probably has a chance at Intuit.

<comment><USER20> You say that as if government action against Standard Oil was some noble act. Standard Oil helped facilitate great improvements to the average Americans standard of living.

<comment><USER21> And do you believe that monopolies offer choice, and drive down prices as well?

via [https://en.wikipedia.org/wiki/Standard_Oil#Monopoly_charges_...](https://en.wikipedia.org/wiki/Standard_Oil#Monopoly_charges_and_anti- trust_legislation)

"In 1904, Standard controlled 91 percent of production and 85 percent of final sales."

"The federal Commissioner of Corporations studied Standard's operations from the period of 1904 to 1906[31] and concluded that ``beyond question... the dominant position of the Standard Oil Co. in the refining industry was due to unfair practices—to abuse of the control of pipe-lines, to railroad discriminations, and to unfair methods of competition in the sale of the refined petroleum products''"

From the DOJ complaint, "The evidence is, in fact, absolutely conclusive that the Standard Oil Co. charges altogether excessive prices where it meets no competition, and particularly where there is little likelihood of competitors entering the field, and that, on the other hand, where competition is active, it frequently cuts prices to a point which leaves even the Standard little or no profit, and which more often leaves no profit to the competitor, whose costs are ordinarily somewhat higher."

<comment><USER20> You probably didn't read the article because two sections below the one you linked ([https://en.wikipedia.org/wiki/Standard_Oil#Legacy_and_critic...](https://en.wikipedia.org/wiki/Standard_Oil#Legacy_and_criticism_of_breakup)) states:

> Some economic historians have observed that Standard Oil was in the process > of losing its monopoly at the time of its breakup in 1911. Although Standard > had 90 percent of American refining capacity in 1880, by 1911 that had > shrunk to between 60 and 65 percent, due to the expansion in capacity by > competitors.

Which would clearly be impossible if Standard Oil was a monopoly. Your quote from a politician with ulterior motives does not prove a monopoly and even sounds economically dubious.

<comment><USER21> No I read it. It's irrelevant. If anything, it argues they should have been broken up earlier. Monopolies are market failures.

</comment></comment></comment></comment></comment></comment><comment><USER22> I must be missing something, but how exactly would this simplify tax filing?

Presumably this bill would break the grip that TurboTax has on the market by, say, enabling cheaper and/or free solutions. But using the alternatives would not be in any way simpler than using TurboTax. And TurboTax is not that expensive (<$100 for federal+state).

<comment><USER23> You have to consider this from the perspective of the modern US politician instead of an engineer.

Of course they'd prefer another Health.gov style spending bill to build another sprawling web service, with the added perk of keeping the friendly government contractors well fed, instead of something that requires the real hard work by the politicians. And simplifying such a complex policy as the tax code would be real hard work.

Instant gratification that can be draws congratulation is always preferred to risking your political reputation attempting to solve the hard underlying problems - especially when they are riddled with special interests as the tax code has become.

<comment><USER24> > Instant gratification that can be draws congratulation is preferred to > risking your political reputation attempting to solve the hard underlying > problems

Certainly this happens to some engineers, too.

<comment><USER23> But we have longer term consequences for our actions both from users and employers. Using duct-taping to patch up serious problems is rarely punished in politics.

</comment></comment></comment></comment><comment><USER25> I was just reading the text. Looks like it is limited to just the simple cases (no deductions) where there isn't a lot to figure out already to begin with.

Why not just automatically file unless the tax payer elects to file something different?

They already have all the wage data submitted to them from employers.

</comment><comment><USER26> Does the US not have PAYE? Or is it made inconvenient by the state/federal split?

The corresponding UK system, "self assessment", is reasonably slick online, although you have to put in all the information yourself. It's used by about a sixth of the population: [https://www.gov.uk/government/news/hmrc-sees- biggest-digital...](https://www.gov.uk/government/news/hmrc-sees-biggest- digital-self-assessment-ever)

</comment><comment><USER27> Sounds like my Swedish taxes. All I have to do, if I agree with the information already on there, is sign it (electronically, of course.)

</comment><comment><USER28> Trump plan is best. Set a tax floor of $50-$100k. Exclude millions of americans from even having to file.

</comment><comment><USER29> I filed my income taxes in Austria, the US and now in Germany. All of them are pretty easy to file.

The cited 13 hours is insane, and I never needed a 3rd party to help me. But the US fax filing system is by far the simpliest. I only needed 2 hrs to file them every year. In Austria and Germany it needs 5-10 hours, and they have insane buerocratic hurdles. The US have a very simple PDf to fill out, and an excellent explanation. In Germany I have now monthly stupid HTML forms to fill out with manually entering >50 zeros.

So I cannot really understand what's so complicated.

</comment><comment><USER30> Because our Federal government is _super_ good at creating easy to use, functional websites.

TurboTax was able to hook into my investment accounts and automatically pull all of my data. It worked great. All the IRS needs to do is provide an API to let a range of software do the same.

Also, use of "average" here is criminally misleading. The "average" person doesn't spend $200. And the "average" tax return isn't $2000. TurboTax free edition is perfectly sufficient for a plurality of users.

<comment> lhc- Do you have a reference for that? Maybe some evidence of why you consider these numbers misleading? I worked in the tax business recently and I'd say both those numbers are actually below average for out customers (who were mostly poor or middle class).

</comment></comment><comment><USER31> Of course, none of the Republicans support this.

<comment><USER32> Several of the Republican Presidential candidates support drastically simplifying the tax code. Tax code simplification has extremely wide support among the Republican base.

The lack of support very likely has more to do with who is presenting it and the approach used.

<comment><USER33> This is not about simplifying the tax code. This is about filing returns.

<comment><USER32> The point I was making is that Republicans do support tax simplification, both at the filing and tax code levels. I'd go so far as to say that every Republican candidate has at one time or another publicly supported simplification across the board when it comes to both the code and filing. If you simplify the tax code - which is desperately needed - the filing simplification is a logical extension of that. For decades Republican candidates have been talking about the idea of being able to file your taxes on a single index card.

Simplifying the filing without simplifying the tax code, is putting a bandaid on a gushing wound that is getting worse every year.

</comment></comment></comment></comment><comment><USER34> What a great PR piece for Warren... but unfortunately this is just smoke and mirrors.

This does +absolutely nothing+ to simplify the tax _code_ , this is solely about "simplifying" tax preparation and filing.

It makes it easier to file online for free, and makes it so the IRS can't get in bed with Intuit, HR Block, etc.

We need _real_ tax reform - not smoke and mirrors.

<comment><USER35> > It makes it easier to file online for free

That's not a bad thing in and of itself.

<comment><USER34> > > It makes it easier to file online for free

> That's not a bad thing in and of itself.

You're absolutely right.

However, this is being touted as tax [code] reform... which it's definitely not.

Your tax preparation expenses are already tax deductible, so making it "cheaper" doesn't really help anyone.

We need a simpler and more fair tax code - but we're not getting any of that with this bill.

This is a distraction, and good PR for someone potentially poised for a VP ticket...

</comment></comment></comment><comment><USER36> Just curious would this be considered budget neutral or would it bring in more taxes? Or less?

<comment><USER37> Neutral probably, might affect costs at IRS, but I would imagine relatively little change in revenue.

The hiccup could be if people were consistently overestimating their taxes, but it looks as though for the median citizen that's unlikely (most people don't itemize and take the standard deduction at that income level).

</comment></comment><comment><USER38> Simplify? The only ones working to simplify the inane and uncompetitive U.S. tax code, which largely hurts working families and enables the politically well connected, are those rare and few politicians working toward complete structural overhaul.

</comment><comment><USER39> Everything would be so much better if there was just a simple flat-tax. Same tax for all buissness and people. Same tax for incomes of all kinds.

And before the Progressives start rioting, its easly possible to make it somewhat progressive. Then we can foreever argue if it should be more or less progressive.

The amount of time saved by people and more importantly buissnesses is quite extraordinary. Additionally it would make finding tax cheaters far easier. The IRS could be much smaller. That also has positive effects on privacy.

The book "The Flat Tax" was released in 1981 and was implmented in some of the countries that became free after the collapse of the USSR.

I highly recommend this 1h podcast with the auther of the book: [http://www.econtalk.org/archives/2007/04/rabushka_on_the.htm...](http://www.econtalk.org/archives/2007/04/rabushka_on_the.html)

</comment><comment><USER40> Let's make it even simpler. no deductions for anything whatsoever.

<comment><USER20> I'd like it simpler than that--0% for all incomes less than infinity.

<comment><USER13> I'm good with this.

</comment></comment></comment><comment><USER41> I would like to see us go back to a variation on the apportionment among the states.

The variation I would envision would be an apportionment among congressional districts. This would allow tiny states like RI to still contribute, but maybe not on the same level as larger states as CA.

Then under this, it would be up to each individual state to decide how it is going to collect taxes for each of these districts.

Then repeal the 16th amendment and replace it with a new apportionment amendment.

We would still be stuck with the current state tax code for each of the respective states that we have now, but we would get rid of the massive Federal tax code.

</comment><comment><USER42> Simplify filing? How about going back to not taxing wages, and for those that would still have to file, simply input the info directly on the IRS website?

</comment><comment><USER43> May be they should fix AMT mess as well?

</comment><comment><USER44> My tax filings are 30-40 pages long, so I'm game for any improvements.

</comment><comment><USER45> Nobody ever simplified anything by giving the government a monopoly on it.

<comment><USER46> It's a natural monopoly because the government automatically receives copies of your tax information. You couldn't just set up a competitive market for tax preparation software with the government selling access to everyone's W2s.</comment></comment>


I'll Register My Drone When You Have to Register Your Gun - <AUTHOR> http://motherboard.vice.com/read/ill-register-my-drone-when-you-have-to-register-your-gun <comment><USER2> _" That's because I live in the United States, a country that will soon have a national registry for toy helicopters, but not for deadly machines used to commit horrifying mass-murder on a near-daily basis."_

Cars? The things that we must have a license and insurance to use?

<comment><USER3> In all fairness, there are over 30,000 fatalities per year from car accidents, ~600 from gun accidents, and 0 known for all time fatal US civilian drone accidents.

They would have to take down more than a few large jet passenger planes per year to even reach the gun accident rate, although people have very different attitudes towards these categories, if for no other reason than that it's easy to massively reduce your risks to the first two.

So I'm sure it's a combination off the FAA, which I'm pretty sure _does_ have the authority to regulate them, fearing a total hands off approach will get them hauled before the Congress without _anything_ to say after a big fatal accident, and the usual desire of bureaucrats to increase their ambit and funding.

Because like gun registration, I can't see how this will do _any_ good in preventing disaster. Like gun registration, it wouldn't even in practice make it easier to find culprits, if you expect the overlap of voluntary registrants and irresponsible drone operators to be nearly nil which right now is entirely the way to bet.</comment></comment>