Live data from Hacker News

Ask HN: Which industry sector should I target?

news.ycombinator.com

51–60 of 63 posts

Re: Ask HN: Which industry sector should I target?

#51
post #4

What do you want to optimise around? Stable job, 9-17, decent salary? Lost of money, caution to the wind? Be something [for one or more of several values of 'something'] to a lot of people? Fiddle with deeply intellectual CS problems, shielded from pedestrian worries about revenue and users? I personally enjoy the knowledge of having solved a real (business) problem for real people, and being appreciated both financi…

Is it possible to go the "work on deeply intellectual problems while shielded from pedestrian worries about revenue and users" route without academia? I suppose just do it on the side until you invent something which is valuable to industry.

I know of departments in some of the investment banks that are essentially CS R&D. There are some hedge funds (HFT and otherwise) that are basically playgrounds for PhD.

Of course, in both cases, your work is ultimately directed by revenue, the shield I'm talking about is more against the tight, client/user responsive iterative process of most modern software development which can make it difficult to carve out the time and space to work on something deeper.

Also, I'm not convinced academia is much of a panacea here: I hear there is a nontrivial number of years of pretty severe drudgery before you arrive in the sort of position with a lot of freedom to work on whatever you like.

Re: Ask HN: Which industry sector should I target?

#52
post #43
post #38

Earlier quoted context omitted.

Well, formal verification is exactly what I find the most intellectually challenging and enjoyable. There is no way you can apply any advanced math in something like frontend development, and you're very unlikely to be able to do anything anywhere near any formal methods outside of the hardware design.

You absolutely can. PureScript is one of the most interesting things going on in programming at the moment. In web dev the cost of confirming things empirically is orders of magnitude lower than in hardware, but the complexity of what you're working on can eat that margin up surprisingly quickly; on large codebases a bit of formality is well worth it.

And where do you think this "complexity" is coming from? There are ill designed standards - but you can leverage that. There are tons of frameworks - you can ignore them. There are broken protocols - wrap them into something sane.

PureScript is the right thing indeed, I like the approach, but what exactly makes PureScript so special? I quickly skimmed through, expecting something cool and innovative like, say, gradual typing, but it looks like something fairly standard, I could not find any particularly new ideas there. What did I miss?

Re: Ask HN: Which industry sector should I target?

#53
post #31

Earlier quoted context omitted.

I have to admit that I did not do any web development, but I have a pretty good idea of what kind of complexity and challenges it does involve. I also know about it from interaction with the frontend developers themselves and from toying around it. I know what kind of tools are available, I know how dead easy debugging is. There is nothing nearly comparable in complexity with a hardware design.

It seems like you're being a little biased. Writing the architecture for a new Intel CPU is much more difficult than writing a calculator on an FPGA or designing a circuit board. Similarly, designing and maintaining the UX of Amazon.com is a lot more difficult than a personal website. Is Physics 'harder' than Psychology just because it's 'more hardcore' or 'more pure'? Apples to oranges. You cannot really make compar…

> designing and maintaining the UX

I did not say a word about design, I was talking about development. UX design is probably among the most complex problems out there, since it is not solved yet and there is even no glimpse of a distant hope.

> Amazon.com

Well, this one was obviously designed by a drunk cobbler, and he could not have spent more than half an hour overall, judging by how miserable the user experience is.

> Is Physics 'harder' than Psychology just because it's 'more hardcore' or 'more pure'?

Physics is solvable, Psychology is not, the latter is in an early phenomenological state of development. So, on this scale, it is harder to apply it (because one have to operate with a much bigger amount of information), but it is much easier in terms of models.

> You cannot really make comparisons like that.

Of course you can. Complexity is a very well-defined and objective thing.

Re: Ask HN: Which industry sector should I target?

#54
post #46
post #44

Earlier quoted context omitted.

Yes, I'm really saying that a majority of this web crap is artificially overcomplicated for no reason at all, and it is mostly a product of stupidity rather than any sane design. And stupidity got this funny property - it attracts even more stupidity, they stick together, they grow like a snowball, consuming everything around. Ill designed web standards, exceptionally, incomprehensibly shitty language (javascript) -…

It's hard to argue your "fact", especially against such an insufferable amount of smugness and causal reductionism. I find it not amusing that people can assume things they don't participate in are simple, stupid, and trivial. It's the same type of intellectual closemindedness that leads to major problems in human existence. It's a mindset that deliberately ignores complexity in order to justify preexisting belief an…

> people can assume things they don't participate in are simple, stupid, and trivial

I do not "assume" that web technologies are stupid. I know they're stupid and I can prove they're stupid. Where shall I start? Javascript? All of the W3C issued mess? All the damage left from the browser wars?

This guy said it all much better than I can: http://beauty-of-imagination.blogspot.co.uk/2016/01/tcltk-vs...

When you have something to compare with, something as simple and beautiful as Tk, all the complexity of the modern web looks like a steaming pile of stupidity.

Re: Ask HN: Which industry sector should I target?

#55
post #50

Earlier quoted context omitted.

There was an article on HN recently which I believe applies equally well to technical stacks: http://techcrunch.com/2016/01/18/why-big-companies-keep-fail...

Which sources nobel laureate Philip Anderson in the paper "More Is Different": "The ability to reduce everything to simple fundamental laws does not imply the ability to start from those laws and reconstruct the universe...The behavior of large and complex aggregates of elementary particles, it turns out, is not to be understood in terms of a simple extrapolation of the properties of a few particles." https://web2.ph…

Kolmogorov and Chaitin got a different view on this matter.

This is actually what science is all about - finding an information in data, or, in other words, measuring the complexity. If you can reduce a complex set of data to a simple algorithm, then this algorithm is all the knowledge that is there, and the rest is just a noise. By definition.

What Phil Anderson is talking about is a different kind of complexity, which is sort of irrelevant in this context. Yes, knowing the fundamental laws won't help you to explain, say, a protein folding, not without hundreds of years of a CPU time. But it does not matter. It does not make this science more "complex".

Re: Ask HN: Which industry sector should I target?

#56
post #52
post #43

Earlier quoted context omitted.

You absolutely can. PureScript is one of the most interesting things going on in programming at the moment. In web dev the cost of confirming things empirically is orders of magnitude lower than in hardware, but the complexity of what you're working on can eat that margin up surprisingly quickly; on large codebases a bit of formality is well worth it.

And where do you think this "complexity" is coming from? There are ill designed standards - but you can leverage that. There are tons of frameworks - you can ignore them. There are broken protocols - wrap them into something sane. PureScript is the right thing indeed, I like the approach, but what exactly makes PureScript so special? I quickly skimmed through, expecting something cool and innovative like, say, gradua…

UI design is very complex, because humans are complex. Often you're automating business processes that work based on implicit judgements that are so obvious to the humans performing them that they're not even aware they're making them, making it very difficult for them to explain the rules they follow.

What I like about PureScript is the careful typeclass hierarchy - it feels like a rethinking of the Haskell standard library from the ground up. They often end up with a hierarchy of single-method typeclasses, which feels like a first step to something along the lines of http://degoes.net/articles/principled-typeclasses/ . I'd like to combine that with Idris-style full dependent typing but you can't have everything and there's a tension between what's state of the art and what's designed for practical use (I feel like I'd be happier using PureScript in production than Idris). Gradual typing I don't find particularly interesting; YMMV.

Re: Ask HN: Which industry sector should I target?

#57
post #56
post #52

Earlier quoted context omitted.

And where do you think this "complexity" is coming from? There are ill designed standards - but you can leverage that. There are tons of frameworks - you can ignore them. There are broken protocols - wrap them into something sane. PureScript is the right thing indeed, I like the approach, but what exactly makes PureScript so special? I quickly skimmed through, expecting something cool and innovative like, say, gradua…

UI design is very complex, because humans are complex. Often you're automating business processes that work based on implicit judgements that are so obvious to the humans performing them that they're not even aware they're making them, making it very difficult for them to explain the rules they follow. What I like about PureScript is the careful typeclass hierarchy - it feels like a rethinking of the Haskell standard…

As I answered elsewhere in this thread, I did not say a word about design. I was talking about programming solely.

Design is not only a complex problem, it is an unsolved problem. Is there any passable design out there? I have not seen it yet. It is either disgusting, incomprehensibly disgusting, or, in the best case, barely tolerable. And the same thing is going on in any kind of an industrial design, it is not limited to web.

As for the type class hierarchy, yes, I did not notice this bit, thanks. I'll take a closer look now.

Re: Ask HN: Which industry sector should I target?

#58
post #18
post #3

Whereabouts are you? If you're interested in PLT, DSLs and compilers, there are some small enclaves in finance that might interest you. edit spelling

What small enclaves in finance are you talking about? I know that banks have small scripting languages that enable semi-technical users to describe a derivative product ("if condition1 then payoff1 etc.") but those are old and I doubt they are actively maintained and that banks are hiring people for that.

I was talking about banks. I work for one where we build stuff on top of essentially this paper:

http://research.microsoft.com/en-us/um/people/simonpj/Papers...

We're even hiring: https://donsbot.wordpress.com/2016/01/18/haskell-developer-r...

Re: Ask HN: Which industry sector should I target?

#59
post #57
post #56

Earlier quoted context omitted.

UI design is very complex, because humans are complex. Often you're automating business processes that work based on implicit judgements that are so obvious to the humans performing them that they're not even aware they're making them, making it very difficult for them to explain the rules they follow. What I like about PureScript is the careful typeclass hierarchy - it feels like a rethinking of the Haskell standard…

As I answered elsewhere in this thread, I did not say a word about design . I was talking about programming solely. Design is not only a complex problem, it is an unsolved problem. Is there any passable design out there? I have not seen it yet. It is either disgusting, incomprehensibly disgusting, or, in the best case, barely tolerable. And the same thing is going on in any kind of an industrial design, it is not lim…

Programming is nothing but design - a full spec of what needs to happen is a program.

Like any other kind of programming, if parts are trivial you automate them, until you're at a state where what you have to do to accomplish a given task is precisely the amount of thought/uniqueness that that task involves; if you're a programmer then you never need be doing mindless drudge work (you've got a computer for that). When you've automated most of what used to be your job, reaching up or down the stack is a good way to find more things to automate (or you can simply increase throughput, but often that just means other parts of the business become the bottleneck). IME it's if anything easier to get closer to the "full brain all the time" state with web programming, because there's so little external latency, whereas in hardware there's only so much you can do before you're spending most of your time waiting for slow test cycles or actual manufacturing (even if you try to reduce the importance of those by introducing things like formal methods, others will often want to see a few test cycles to prove the effectiveness of those).

Re: Ask HN: Which industry sector should I target?

#60
post #59
post #57

Earlier quoted context omitted.

As I answered elsewhere in this thread, I did not say a word about design . I was talking about programming solely. Design is not only a complex problem, it is an unsolved problem. Is there any passable design out there? I have not seen it yet. It is either disgusting, incomprehensibly disgusting, or, in the best case, barely tolerable. And the same thing is going on in any kind of an industrial design, it is not lim…

Programming is nothing but design - a full spec of what needs to happen is a program. Like any other kind of programming, if parts are trivial you automate them, until you're at a state where what you have to do to accomplish a given task is precisely the amount of thought/uniqueness that that task involves; if you're a programmer then you never need be doing mindless drudge work (you've got a computer for that). Whe…

> Programming is nothing but design

No, it's a different kind of a "design". It's an engineering. You've got a set of constraints and need to optimise a solution until all the constraints are met. Purely mechanical.

Designing something for a human interaction is different. It involves extorting information from a not necessarily cooperative and not very sane human, reducing it to a reasonably sane subset and then finding out the workflows that would make sense for a living human being. Unsolvable. Impossible.

Got nothing in common with something as simple as "here's a high level formal description of an algorithm, turn in into a code".

> whereas in hardware there's only so much you can do before you're spending most of your time waiting for slow test cycles or actual manufacturing

In my book, it's a blessing. Time to slow down and reflect on what a mess you've just created.

Post reply on HN