I had no idea the IT consultant salaries were higher in Stockholm compared to London. What kind of rates would an IT consultant be expected to pull in Sweden?
Assignments that are accessible by "anyone" at the consultant brokers are often listed around 750-950 SEK/hour, which means ~470 to ~600 GBP/day if you work 8 hours per day -- clients usually don't mind you working more though. Tax isn't that different last time I checked, but CoL is of course much higher in London.
you are forgetting however that the 750-950 SEK/h includes self-employment taxes (arbetsgivaravgifter) of ~30% + 30% income tax. That´s before all other taxes and fees.
This was essentially the whole point of my original post about consultants. But people dont get this. After all taxes are paid, you get something like 375-475sek/h if even that as this is the above average level of salary.
Compared to when I lived and worked in London, this is a joke. That´s before factoring in cost of living relative to income. You live a much better life in London than you do in Sthlm for instance so I am not sure where you got that last part from. Especially if you consider how massively fucked the Krona is right now
I'm quite aware of the taxes involved -- as I said, I've been working as a consultant for some time now. What you might be forgetting is that, with a company, you can plan your taxes better. Take out a minimal salary and put everything in an ISK and you don't have to pay any capital gains tax, for example.
You're also going to pay taxes being self-employed in the UK, and whether you prefer London over Stockholm is subjective; what you need to consider is the cost of real estate mainly vs statistical incomes, rather than anecdotes.
Yes. It's a short term money grab that will have profound effect on financial services industry, pharma, construction, etc. After killing contracting in the public sector the time has come to abolish the one-man consultancy in the private sector. It's still there, but no client (esp. big companies) wants to put the risk of audit on themselves so they largely have a blanket policy of 'no contractors' in place come April.
Haskell absolutely lacks the soft documentation needed to attract new people. Just about every library could use a "mini tutorial" in their README, at the very least, to allow even novices to quickly bootstrap them and start getting productive without having to understand all the underlying concepts.
True. People tend to lump these concepts together. I think people in general are interested in utilizing more cores and so they typically are interested in STM as well, although frankly I haven't ever used it in production systems. The rest of the parallel/concurrent tools are super useful and extremely easy to use and also know assertively that you won't have deadlocks or race conditions etc.
It's typical in statically typed functional languages to match against Algebraic data type value constructors. These ADTs have a fixed amount of variants, which makes it suitable to do a clean pattern match.
ADTs don't exist in OOP. It gets more complicated to do matches against classes whose abstractions are not really decomposable so easily.
You mean that guards + destructuring would effectively be the same as pattern matching in function's params? Pattern matching would allow matching against more complex data structures more comfortably though.
It really depends where you're coming from. If you're from the enterprise world I'd expect you'll find the ecosystem limited for anything else than web related, maybe even for enterprise web integrations. If you're coming from something even more niche (for web) like Haskell you'll think the ecosystem is flourishing.
Libraries are generally of good quality and reasonably well documented. The community is very energetic and supportive. Moreover, there's an exceptional range of libraries and solutions available for certain problem domains in which the Erlang platform excels such as distributed concurrency and soft real-time applications in general.
If the problems you work on fall outside of the web sphere Elixir is not a good fit generally.
I can’t agree about the "just web dev" part. After using Elixir extensively in embedded devices it’s been fantastic. Some libraries are lacking, especially scientific. Still I find the time implementing say, polynomial curve fitting, to be more than compensated for by the robustness of the architecture and avoiding the quagmire of OOP code. It’s actually kind of fun to me using Elixir/BEAM for data processing.
Fair enough, I should've put it more general like "distributed computing". Something that does networking stuff and prioritizes low latency instead of high throughput.
I also work in the distributed messaging space and so far my experiments have shown elixir to be able to keep up with our scala stack with the advantages of no thread tuning and much easier debugging. So I'm curious why this keeps popping up.
My point was rather that that's where Elixir excels.
Throughput is always a compromise with latency in garbage collectors and schedulers.
Elixir prioritizes low consistent latency with its garbage collector and preemptive scheduling. Whereas many other systems, such as Haskell's GHC compiler/runtime prioritize high throughput instead for better computational performance.
All the computations have to run inside a process in Elixir. Erlang's platform constrains each process so that any single process cannot hog all the resources available. Therefore, you need to split the computation to many processes when you do CPU intensive work. And processes carry message passing overhead, leading to reduced maximum throughput.
Something like lots of small messages with minimal processing (think: chat) over a bunch of network connections sounds like the ideal sweet spot for Elixir.
Perhaps it’s in reference to compute throughput or disk io? BEAM doesn’t do quite as well in those areas. Not bad but ok. I just did some micro benchmarks on matrex compared to numpy and surprisingly the Elixir nif’s were about 10% faster on my MacBook. Dirty threads have helped nif’s on providing compute throughput too.
I would love to use Elixir for simple non-demanding 2d games. I love the language syntax and i think it will work great for these use cases. Unfortunately, Elixir ecosystem seems to be all about webdev only.
I would say there are at least 4 subgroups that are active in the Elixir community: distributed systems (alongside Erlang), web dev (Phoenix, Plug, etc), data pipelines (GenStage, Broadway, etc), and embedded systems (Nerves, Scenic, etc).