Hacker Newsnew | past | comments | ask | show | jobs | submit | EoinB's commentslogin

This is the conclusion I have come to as well. So much of what happens in society can be best explained (imo) by human psychology and our relationship with ego, desire, perceived success etc.


I was born and educated in Scotland, worked in the UK for a decade or so, then moved to the US and worked for big tech for 15 years while living in the US and becoming a US citizen. I then chose to move back to Scotland, where I continue to work for the same US big tech company but get paid UK wages with UK employment benefits. So, I've lived significant portions of my life on both sides.

Here in the UK, I get 29 days paid vacation plus ten or so (not sure) public holidays. If I am sick on vacation, I can claim those days as sick days and regain the vacation time. Edit: plus, my contract is for 35 hours per week whereas in the US it was 40.

Regarding money, I am doing the same job that I was doing in the US (same team etc.) but took, what was at the time, a 25% reduction in gross salary. However, by the time you add in the higher taxes, my take home pay (from my salary - my stock awards are the same) is about 40% lower than it was in the US.

Now, I am nearing 50, my corporate career progression is plateauing/settled (by choice, btw) and I have a teenage daughter. A big reason for coming back to Scotland was so she could be educated here and experience European life and culture during her formative years. The other big reason was to have a better work-life balance. I have so much non-work time here, I can actually pursue non-work interests; whereas my US work colleagues seem to always be Slacking and "checking in" while they are on vacation; never seeming to have an identity beyond their job.

I have also lost 13kg (29lb) in weight.

For us techies, the US is the place to get rich, but, in my experience, there are significant lifestyle compromises that you must make in order to do so.

Edit: I was curious about the numbers, so I did a little arithmetic to work out the hourly wage I earned in the US and the hourly wage I earn here in the UK, taking into consideration the vacation days.

My UK gross per hour wage is between 11% and 15% lower than my US salary, depending on the (volatile) exchange rate. Of course, UK tax is much higher (my marginal rate is 49%). So, the difference in take-home pay is more than that.


I work in a major tech company and never check email outside work hours, which I cap at 40 hours a week. I never work weekends, never check work during weekends or vacations.

I make much more than my European peers, have a better car, better weather and bigger house. I have 25 days of paid vacation. While this is better than the US average, I don't know a single person in my friends group wanting to trade the US for Europe, including my Europe-born friends.


Hopefully you realise how lucky you are, and that your situation is the exception in the USA rather than the standard.


Then you have SOs, kids.. do they have the same standards, and is that guaranteed to stay?


Nothing in life is guaranteed. I have contingencies in place to withstand life events, but there is no place on Earth where you can guarantee your future.


it helps with everything when there are lots of safety nets in society…


That’s just offloading the responsibility to the public / to the government.


Yes; that's what we call "civilized society".

Humans take care of each other. It's what makes us strong.


Not everyone equally able.

It takes a village to raise a child.

I wonder how much of is about with what kind of ideologies you grow up with.


Do you go through life without insurance?


Thanks for sharing your experience. I like how you put it. To me American culture is a bit too obsessed with wealth and their economy operates in a very dehumanised way. I'd never want my children to grow up with such "values" around them.


Some context for what I am about to say: I read mathematics at university (in US terms I am a "math major") and have worked as a software engineer for almost 30 years; being around for the rise of the Internet, mobile phones and cloud computing; most of which I have spent at US big tech companies. I am an also fellow of a mathematics academic institution here in the UK.

Without hesitation, computer science is certainly not a mathematics major.

Having some knowledge of some aspects of a subject, doesn't make you qualified in that subject. At least, not at the university level.

Mathematics is an enormous and ancient subject. The maths that a CS student is exposed to is really a very small sliver of a few topics; applied to certain uses. Many other subjects (almost all numerate ones) have a similar relationship to maths.

Consider economics: aspects of it also make use of (applied) mathematics, but no one could seriously make the claim that an economics major, even one who has extensive capabilities in numerical modelling, is basically a mathematics major.

Theoretical CS could be described as "a form of applied mathematics"; but Theoretical CS is only a component of a CS degree; and, from what I see with young graduates today, a decreasingly smaller part of it (I am not making a value judgement - just an empirical observation).


I think you're essentially both correct/insightful here, just fall on opposite semantic choices. Yes, software engineering continues its creep into CS curricula. So is the rigorous sub-branch of mathematics called CS being unduly polluted? Or has the CS discipline itself changed meaning? I personally tend toward the latter, as language is a constantly shifting hodgepodge of subjective conventions. But that's just like, my opinion, man.


From my observations of being in the industry so long, I would tend to agree that the content of computer science degrees has changed since the 80s and 90s.

I should have made a clearer distinction between theoretical computer science and a computer science degree.

Theoretical computer science is a topic in applied mathematics but a computer science degree isn't, typically composed only of classes in theoretical computer science. The extent to which it is varies from course to course and from university to university. In much the same way as in a mathematics degree there are pure maths topics (number theory, analysis, graph theory etc.) and applied topics.


Your opinion is, like, fine.

I expect that eventually we'll have "applied CS" and "pure CS", as with mathematics. And statistics. And possibly architecture. (In engineering, pure engineering is "engineering science", it seems.)

"Eventually" is doing a bit of work there. It might take a hundred years.


This already sort of exists. Someone in another comment references their degree in “Computer and Information Science”, which is more practical and less math heavy than CS. And I believe several of the University of California schools offer degrees in “Game Design”.


This varies depending on the university.

Where I got my degree, a degree was 120 credit hours and typically 30 credit hours of that would be in your major. For economics, there were those 30 credit hours and also a requirement for calculus (a dummied down calculus class that didn't require trig) and an upper level stats class.

For CS, there were 30 credit hours of CS and an additional 30 credit hours of math. You end up with a major in CS and a minor in math. Looks like it would have taken 3 more upper level math classes to do a double major.


Agree - at Oxford, the CS degree is essentially all algorithms and mathematics, and any coding you do is largely incidental.


When I did a CS degree at a Scottish university in the 1980s it definitely felt that the core of the course was maths (both engineering maths and a lot of different theoretical CS subjects) and while we did a lot of programming that was really only there to explore the concepts. There was very little emphasis on how to write code or good development practises - you were expected to pick those up by yourself as you went along.

My only real criticism of the course I did that it was just maths and CS for four years - which meant there was very little flexibility for people to do other things for the people who wanted to change subject.


Yep! And some universities, like The University of Waterloo, allow you to get either a Bachelors of CompSci or a BMath. And almost everyone at Waterloo agrees that the BMath one is harder and better. They also offer a software engineering course that is also difficult, but with a lot more focus on getting computers and software development closer to the ideal we have in structural engineering. I.e., let's treat these things like the live saving machines they are, and not as something we can move fast and break.


That's the rub; no one actually wants to hire "software engineers", for all that that's the job title.

They want programmers, who will write code they can sell as quickly and cheaply as possible. Trying to raise a software engineering discipline to the standard of the real engineers would leave you with an employee too expensive to do what his professional ethics wouldn't allow him to.


Maybe for smaller companies, or if this were 2012. Not sure about this now for FAANG. Engineerieg processes are deeply prioritized these days.


This doesn’t track with my experience in industry whatsoever. In fact, those sorts of “low ethics” programmers are arguably the biggest hiring risk, and large amounts of effort and dollars are put into avoiding hiring them.


> Trying to raise a software engineering discipline to the standard of the real engineers would leave you with an employee too expensive to do what his professional ethics wouldn't allow him to.

Nah. The vast majority of software projects are of the lower echelon variety e.g., the slapdash shopping cart web apps. Considering JavaScript is still the language of choice in that realm, engineering rigors can’t exactly be of any real consideration.

No, it’s not the expense keeping real engineering away, it’s the culture.


Also most of what "software engineers" are asked to work on are not engineering problems. There are of course exceptions, but the vast majority of positions labelled "software engineer" aren't doing anything that would really be called engineering. You are just wiring frameworks together to achieve some goal and reading the documentation to figure out how to make it work.


> Mathematics is an enormous and ancient subject. The maths that a CS student is exposed to is really a very small sliver of a few topics

I would say the same is true of most undergraduate math majors.

The Computer Science program was part of the College of Science and Mathematics at my university (not the School of Engineering). The stated goal of the program was to give students enough of a theoretical background in math and computer science to pursue an advanced degree in CS. Most students probably had other ideas, but that was the way the curriculum was structured. And there was enough overlap between Math and CS majors that most CS majors ended up with enough credits for a dual CS/math degree pretty much by accident.

To be clear I am under no illusion that meeting the minimum requirements for a math degree makes me a great mathematician. But neither were the majority of “pure” math majors in our classes. In fact, I would say the CS students tended to be stronger in math, as that was the more competitive major at my university.


Undergraduate Math degrees should cover a much wider range of mathematical topics. Many schools don’t have enough students to offer many courses exclusively for Majors so that often blurs the lines.

Topology and a few others may make the cut, but it’s much easier to share requirements with other programs so a Math degree may include courses that are required or attract students from a Physics, CS, Engineering, Music, Economics, Chemistry, Philosophy, History, etc degrees.

Depending on how you set it up “History of Mathematics” could attract students from several different majors which means you can offer it more often etc. But the same applies in reverse so CS programs can end up with more overlap than ideal.


Yes, when we design mathematics degree courses, there is, of course, only so much of the overall subject that can be covered.

However, the definition of a mathematics major is, I think we'd agree, "someone who has majored in mathematics". So, regardless of how much of the corpus we manage to cover, having a degree in mathematics means that you majored in mathematics (if I am understanding US terms correctly).

The original post was, I think, equivocating a degree in computer science with being a mathematics major. Which could be regarded as being incorrect, perhaps pedantically, merely by definition alone.

However, also, I am making a distinction (although I wasn't very clear, I admit) between theoretical computer science (the topic) and a computer science degree. It is generally accepted that theoretical computer science is a topic in applied mathematics, but it doesn't then follow that having a computer science degree means that you are a mathematics major.

Computer science degrees have theoretical computer science (the topic) as a component; the extent to which that component makes up the degree syllabus varies greatly from university to university and, perhaps, has also changed over time.


> The Computer Science program was part of the College of Science and Mathematics at my university (not the School of Engineering).

And what we need is for CS and Software Engineering to split, with Software Engineering being part of the School of Engineering. (Similar to the way Chemistry is split from Chemical Engineering.) And we need Software Engineering to be ten times as large as Computer Science. (Of the people who get CS degrees, 90% of them are going to work as software engineers, not as computer scientists.)


I actually really value my CS education, and think a rigorous mathematical education is useful for any analytical profession. Both in terms of being proficient at math, which has tons of practical applications, and for developing analytical and abstract reasoning.

I’m curious what sorts of things would you like to drop from a CS degree, and add to a computer engineering degree?


It's mostly what I'd add.

To me, software engineering is about creating larger-scale software that adequately meets the need, and doing so as efficiently as possible - which is not to say that it's efficient. When there's six steps in the communication path between the need and the programmer, how do you minimize the amount of time the programmer is implementing the wrong thing? This is a far bigger problem than choice of language or algorithm, but I doubt you'll ever find it in a CS curriculum. I might even say it's the fundamental problem of software engineering - or perhaps of software engineering management.

Along those lines, they should teach clarity of writing technical information, and ability to read less-than-stellar technical information.

"That adequately meets the need" - that's not perfection. How do you evaluate and triage bugs? How do you manage the bug list? For that matter, how do you even know what bugs you have? Testing strategy should be part of a software engineering curriculum.

Working with a version control system. They might get that in a CS degree, but probably around the edges and by accident. For a software engineering degree, they should get it in some depth and on purpose.

I don't know what I'd cut to make room for that kind of thing. But I think that kind of thing needs to be there for an actual software engineering degree.


> a rigorous mathematical education is useful for any analytical profession

This is already the case with classical engineering degrees. The majority of undergraduate engineering coursework is science, calculus, or some form of applied mathematics specific to the discipline you're majoring in.


My large state school had a computer science degree, and a computer engineering degree. The latter being much more mathematically rigorous, and in the college of engineering, not college of science (and sort of adjacent to an electrical engineering degree). It’s noticeable in the grads it puts out too. If you need a programmer that can handle and understand math, get one with the engineering degree.


I largely agree about the major in the USA. I disagree though that the study of what can be computed is anything other than a discipline of mathematics. Computing science itself never requires stepping outside discrete mathematics, which of course means the majority of math just isn’t necessary to do theoretical work or write correct programs. But then what mathematician today has mastered the entire field? It’s too big, you have to focus.

However, there’s considerably more to it than that. With a few rare exceptions, the overwhelming majority of CS programs in the USA are “telescope science” and not astronomy. One of the more telling, and to my mind obnoxious, evidences of this is how even in the academy the CS types literally appear to believe that “formal” means machine checkable while at the same time balking at learning basic first order predicate calculus to actually specify what is to be computer by a given program. Clearly they are studying the machine and not the mathematical sub-discipline.

I emphasize the USA, because having done many many FAANG technical interviews there is a discernible pattern of graduates from continental European CS programs being considerably more mathematically literate.


I, unfortunately, wasn't very clear, in my original comment, that I am making a distinction between theoretical computer science (the topic); and being a computer science major.

Theoretical computer science is generally regarded as a topic in applied mathematics. However, it doesn't follow that, therefore, a computer science major is basically a mathematics major.

Theoretical computer science (the topic) is a component of a degree in computer science. How large of a component it is varies greatly from university to university and, perhaps, has changed over time.


> Without hesitation, computer science is certainly not a mathematics major.

Properly taught it definitely is.

The issue here is that an average undergraduate mathematics major in the USA learns a ridiculously low amount of mathematics so I guess a CS one does even less. I did more maths during my two years of prépa in France that the American who majored in mathematics I met during my postgraduate study.


BSc CS is an accredited degree in the US. It is very math heavy. Most of my peer graduated with minors in mathematics. Majority of us did discrete mathematics for most of our degree and numerical analysis in electives. Abstract algebra if you took advanced crypto courses. I don't know a whole lot about diffyQ but I can swing it if I read a book.


schools vary widely in the USA, so, no.


That’s why I said average but, anyway, I did my postgraduate in Oxford where most of the American didn’t come from middle of nowhere universities and they were all frankly disappointing in mathematics. My two cents.


> an enormous... subject

I think you're getting to the crux of the point. A few years in university (for undergrad) is not nearly enough time to cover the entirety of mathematics. The sheer fact of time constraints requires a survey and a selection of a fraction of the field for study.

I would argue that economics degrees are also, essentially, math degrees for the same reason. Neither economics degrees nor computer science degrees will cover the same topics as a "pure" mathematics degree (or else they would simply be known as mathematics degrees), and I will grant to you that they are "applied" math degrees if I must. But the point remains: a "pure" math undergrad degree cannot include all of mathematics, and thus is perhaps best renamed as theoretical mathematics, commensurate with branding economics and consumer science as "applied".


When I tried CS my freshman year in the 00s, the degree was one course away from a math minor; it was basically a given that a CS major would leave with a minor in math. And like the parent said, one of my professors emphasized that computers were to comp sci what telescopes are to astronomy. So perhaps they are not as educated as a Mathematics PhD, but it is more than taking a python course.

Even at the time, however, there were divisions in the faculty about the core curriculum, since we had two graduate CS tracks: software engineering and theory.


As a CS Major, who doesn’t know how he passed linear algebra, I agree. CS is close to a minor in Math, when I attended only ~4 extra math classes were needed to qualify.


It depends on where you went to school and where it came from in the school.

I went to large state school where the CS department was part of and eventually split off from the math department at some point. Their original degree was computer science and applied math. It was very much “math with computers” when I was there 25 years ago.

I imagine things have changed a lot, but schools have a variety of approaches and states of transition that are probably difficult to know about.


economics makes heavy use of statistics, so it is an unfortunate example to use for "what is math"


Oh wow, what an uninformed opinion. Not surprising, sadly, given that so many in tech are so one-dimensional.

Perhaps a course in art history would help you understand that visual art has never been solely about image reproduction. Even cave paintings were allegorical. My goodness.


I am 47 years old and have had two suicide attempts in my life, various interventions and other close calls and I just want to say to you that, even though things can seem hopeless, your life can get better; but you absolutely need to seek professional help.

I did and that and medication (I have Bipolar disorder) has probably saved my life.


As a mathematics major, I find it encouraging to see non-mathematicians sing the praises of the subject. So I applaud that. But I think the author is overstating/slightly wrong about a few things, perhaps because her exposure to mathematics has been through the lens of physics.

Maybe a more humble rewording of some of her statements e.g., "Anyone that follows and completes this curriculum will walk away with the knowledge equivalent to an undergraduate degree in mathematics." would be helpful.

Her suggested curriculum doesn't include anything from Number Theory, which is a foundational part of an advanced mathematics education. It is also one of, if not the most, beautiful topics one can study in mathematics.

I find it odd to call out "Introduction to Proofs" as a topic in and of itself. Proofs aren't really a topic in the way analysis or number theory is. At advanced levels, devising theorems and theirs proofs is what mathematics is.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: