Several battery factories that were planned in Norway have scaled down their plans or have been cancelled due to the much better incentives in the IRA.
Proventus AS | Onsite | Oslo, Norway | Full-time | Full Stack developer (React/.Net Core)
Proventus is the company behind the Headless CMS & E-commerce solution Relatude (https://relatude.com). Relatude is a unique content platform with deep support for two-way relations between content objects (Content Graph). This combined with a superfast core engine gives it a much wider usage area than "just" publishing content to a website.
We are looking for both junior and senior full stack developers, preferably with experience in .Net and Javascript, but we also consider candidates with experience in other technologies.
Your tasks will include:
- Help improve our AI functionality, like semantic search, image manipulation and text analysis.
- Help implementation partners and customers to develop advanced websites and E-commerce solutions using Relatude software.
- Help other departments in Proventus in various .Net and web projects.
I haven't found any good laptops from Dell, Lenovo or Microsoft that combined the features I want. I want a "desktop-replacement" CPU, good cooling and without GPU. There are quite a few gaming laptops that fit the bill, except the unnecessary GPU and high price (and ugly styling).
If you want a desktop replacement CPU I'm afraid the price is going to be high whatever you find as it will be a specialist machine. I'd expect $2500 and upwards.
Those 3 companies are probably the closest you're likely to find for high-spec non-gaming machines.
The only other thing I can think of is the Framework laptop. CPU is a laptop CPU but a good one, 32GB RAM, great expansion and repairability, ~$2600 on pre-order. Intel only though for now I believe.
Very strange. The Norwegian version of AAA just tested lots of different EVs in winter conditions. Most cars lost 10-25%.The link below is in Norwegian, but the results table should be easy to understand:
There is a lot of potential variation between their tests and my use.
* Norway doesn't have speed limits which go anywhere near 160kph. I was on the Autobahn for most of my trip. How fast were they driving? 50-80kph appears to be a lot more efficient than 160kph.
* Did they drive to maximise efficiency of power or time? I have a heavy foot accelerating.
* Were they using the heater liberally? We were. I'm told this uses a lot of power, especially on models which don't have a heat pump.
* Was brake regen high or low?
For the record, I'm not arguing that the Model 3 can achieve better efficiency than I achieved. I was simply explaining that in my case, it was poor.
Regarding efficiency, for your "average car", driving at 160 kph requires 3x the energy as 110 kph (aerodynamic drag mostly), while only increasing velocity by 1.45x. Simply put, you're requiring 2x the energy per kilometer, which pretty neatly lines up with losing half the manufacturer rated range.
I wonder how involved the customer was in the choice of technology. I think the long term costs of choosing Elm will be higher than any perceived gain during the initial development period.
The number of developers with Elm experience in Norway is small, and I think it will make it harder to attract good consultants that want to work on it.
I think these niche but loved language are great ways to attract talent. I’m a senior C#/java dev but I dabble with F#,Rust and Elm on the side. I have mentioned to lots of recruiters that I’m interested in new opportunities only if they mean I can switch to one of these languages.
I know lots of people in my situation (from meetups etc).
There are few experienced Elm and Rust devs to recruit from, but there are tons of very experienced developers who would take a pay cut just to work with these languages.
What people know and what people want to work with are in my experience very loosely related.
I would guess that what makes these languages attractive is that, if you end up working in a project that uses one of them, it’s likely to be a new project with almost no technical debt.
I bet that an old and badly designed Elm app would be just as bad to work with.
> I bet that an old and badly designed Elm app would be just as bad to work with.
Not at all!
My company has used Elm since 2015, and I'd be happier maintaining our 4-year-old Elm code from before we knew what we were doing to any modern JS or TS project that's been built optimally according to any definition of JS/TS best practices you like.
I don't think that's an uncommon view among people who have used both Elm and JS/TS in production for a few months.
It's a pretty night and day difference in experience - that's why people who use Elm on the side for awhile so often end up valuing the opportunity to use it at work too.
I think the most attractive thing would be working with others who are also interested in languages.
I definitely believe that functional code bases rot less/slower than imperative/OO code bases. If it’s because the functional code bases are written by “better developers” that’s an even stronger argument for aiming for taking a job using one.
I used to think like that, then I realized that even the famous offshoring shops now also get projects done in those languages, with the same quality you would expect from their typically enterprise project deliverables.
> Everything we do at Vy is done in close collaboration with the customer.
To understand this correctly; 'we' means the company 'Bekk' and the customer is 'Vy', right?
I don't find it too strange that it is relatively easy to onboard new Elm programmers when they are part of the same company. But what happens when competing companies want to bid for jobs at Vy? Vy is after all wholly owned by the Norwegian Ministry of Transport and Communications, so new future contracts are bound to come up. A language decision like this–beyond the merit of the language itself–might create a vendor lock-in that can stifle competition. Without being an Elm programmer myself, I am not sure that the technical merits of Elm is really worth it when taking the competition aspect into condsideration.
> To understand this correctly; 'we' means the company 'Bekk' and the customer is 'Vy', right?
Right.
Good question! Vy has their own developers for this very reason. The teams here are a mix of Bekk and Vy developers, should Bekk be replaced by another company, someone will still remain to train the new developers.
I can understand that this might be useful from a technical point of view. From a business point of view I am not sure such a technical choice and symbiosis give the most bang for the buck.
The availability of developers is definitely something that should be considered when choosing technology. That said, NoRedInk, one of the companies earliest in adopting Elm have said they have had an easier time of hiring after they change to Elm from React. They are at least an indication of the opposite of what you are suggesting.
Also in Study of Programming Languages Not to Learn in 2019:
"As a final word, we wanted to reiterate that while the languages that didn’t perform well this year are useful and powerful in their respective fields, they may not have ranked as highly on our list because of the three metrics we chose. Therefore, if you really want to learn Erlang, Elm, or Lua, go for it — after all, these languages may make a comeback by 2020 because of your interest in them!"
I think one has to take the result in that article with a grain of salt as they only look at a very limiting set of metrics.
Also in the specific case of Elm I would recommend that people give it a try as it is a very different programming language than the most common languages and a great intro to the realm of strongly typed functional languages and functional thinking in general. Even if you don't end up liking or using it, it is a good thing to have experienced. There is always something to learn from learning new programming languages! ^^,
Personally, I would love to spend some time learning Elm. My point is not about Elm itself, but how smart it is to choose Elm for a project in 2019, at least in Norway.
Elm was chosen in 2017, and initial development was being done by 2-3 developers. Now, development is being done by 15-20 developers. Some of those developers came because of Elm (like me) and some came because our problem domain is interesting, and then learned Elm on the job.
Choosing Elm for a project in 2017 seems to have been a very good move.
Elm could completely disappear from the face of the Earth next year, and I'd still be glad I learned it, and would still recommend it to others. The concepts have made me a better programmer in general, whether in Node, React or vanilla JS. Hard to explain until you've actually used the language.
I think there is a clear distinction between languages and frameworks.
But again, what are the clear benefits for the customer of choosing Elm compared to the more popular choices in the market, given the (IMO significant) drawbacks of a niche language?
The article lists several: static typing, guarantee of zero runtime errors, sane error handling using rich enums.
Other advantages: async is baked into the framework and isn't an afterthought like React. Immutability is standard and doesn't require a competing ecosystem of immutable datastructures like React. Also significantly smaller download sizes [1]
I also question that Javascript the language doesn't change: it's gone through several big language changes, and a growing number of devs wanted more changes, so stared writing in Typescript or Flow.
Elm is so small, I'd almost argue that it's easier to learn Elm and The Elm Architecture than it would be than to worry about some almost equivalent combination of TypeScript, React, Redux (which was inspired by TEA, afaik), etc.
From a business perspective, having 0 JS crashes or errors in production is nice. I say that as someone who works at a startup that switched to Elm in 2017 and have had that very experience.
a) Many things that are runtime exceptions or silent errors in other languages, are compile errors in Elm.
b) Immutability, strong type system and few language constructs make local reasoning very easy. Developers spend less time chasing bugs.
c) Easy to learn. In virtual all jobs that I've had as a frontend developer, there's always been something new to learn. I spent more time learning Ember than I did spend on learning Elm.
d) Less churn. Javascript and related frameworks are, to me at least, exhausting to stay up to date on. Elm changes at a much slower pace.
I would argue that Typescript and React or Vue would have been a better solution for the customer. Yes, Elm might be better in some aspects, but I could name quite a few benefits for Typescript as well.
I think the technical reasoning is okayish, but from a business perspective I don't think the customer made a good choice.
We actually do have react in production as well. The header on our website is a react component, and our app is written in react-native. We also tried out flow for a while.
Elm compiles faster, has better error messages, is a simpler language (so our apps tend to stay simple, so easier to pick up again after some time) and has less churn.
We have experience with other technologies, we just find Elm better :)
> I would argue that Typescript and React or Vue would have been a better solution for the customer. Yes, Elm might be better in some aspects, but I could name quite a few benefits for Typescript as well.
I would think most people on Hackernews are familiar with Typescript, but some of the benefits from the top of my head:
- Better tooling
- Easier to work with existing javascript code
- Superset of javascript
- Larger community and ecosystem
- More developers are familiar with it
- Easy Server Side Rendering
I’m someone that only vaguely knows Typescript and doesn’t know Elm at all, so please forgive me if these seem obvious but would you mind expanding on some of your points?
In what way is the Typescript tooling better? i.e. what can you do with it you can’t do with Elm’s tooling?
Also I’m intrigued by the claim of “easier server side rendering” is it difficult to run Elm code on top of node.js?
That "study" says "which languages you probably should not learn as a first programming language".
Sure there might not be a whole lot of Elm jobs out there. But if there is one and you feel like learning Elm, what does it matter?
Also, since you talk about good programmers, surely a potential employer won't list it as negative that you've been able to switch technologies during your career? To me that's a strength rather than a weakness.
I'm in the process of replacing an Erlang service. Erlang is incredibly well suited for the task, and it's a terrible choice for us.
Initial development was done, system worked and ran for years. Team left, turned over and then 5 years later no erlang developers were left on staff.
The service is business critical, and you don't need 1 developer, you need a team. 3 would provide some basic backup, but you need 5 to fill out the 24/7 on-call rotation. (yes people need vacations, weekends off, etc)
Sadly it's not the entire stack, far from it, it's one mission critical service that's part of a very large system. So the excitement they get from growing, enhancing and scaling the system is already a bit restricted. Problem is, trying to hire is SF is already hard, and now we just selected the pool of engineers to be a small subset of those.
So now the cost of 3-5 engineers, the work to hire them, manager and deal with turn over. Wow.
Sadly (not sadly) we replaced the service with an AWS offering for $1000/mo. World changed in the 9 years since the Erlang product was first written.
Sorry, am I reading this right? You replaced a service that required a team of five Erlang developers with an AWS offering for $1000/mo? Why wouldn't you do that regardless of the language involved?
Sorry for the late reply. It actually needed little development, 1 person would be just fine. But it was also scaling, and bugs crop up. Unfortunately bugs crop up some days at 9pm on Friday, or 2am on Sunday. Since it's business critical this need attention immediately, stop/restart isn't always good enough. So this means you need someone who can supply emergency patches on call all the time. (trust me turn if off, and turn it on again doesn't always work, yay persistence, yay retries)
This can't be 1 person anymore, what if they person takes a vacation. So that's 2 people. Perhaps the 2nd person can be much less capable that the first, they just need to hold the system together for how ever long it takes the lead dev to come back from his 2 week hiking trip in the amazon....yeah not good enough. So then you end up saying we actually need proper on call, so now you're hiring a team.
What if it was another language? Let's assume it's a core language of the organization. Then you don't need a team, but capable Sr/Staff Engineers who can jump in during emergencies. Might not be the perfect fix, but then you have a series of people who can duck tape it together until the person responsible is available.
Using Erlang tied our hands, and made a decision to throw a project business requirement.
I might be in a bubble, but my perception is that the Elm community in Norway is fairly established. Regular meetups, and a really well-organized conference earlier this year.
If they know any of those languages particularly Javascript they can do Elm.
A lot of companies aren't even making knowing their core language as a hiring requirement.
You could make an argument about Elm's community size for long term support of libraries. But hiring isn't a very good one. Elm isn't entirely fringe nor immature.
With 0.2% of the jobs available in Norway mentioning Elm, and even if some of the companies using Elm might not state it in the job listing, I would say it is a fringe language here.
And I'm not debating what's possible technically, but if it was a wise business decision by the customer to choose Elm. Based on the popularity in Norway in 2017, today and what it likely will be in the future, I think they should have made a different choice.
> With 0.2% of the jobs available in Norway mentioning Elm, and even if some of the companies using Elm might not state it in the job listing, I would say it is a fringe language here.
You say 'here', so I'm going to assume you mean that literally, and that you are indeed in Norway. Forgive me for assuming the worst, but you seem to have an axe to grind against either Elm, Vy, Bekk, or something else based on your several posts on the story—is that correct?
The article, and others have pointed out, it appears to be a good business decision, as far as hiring is concerned. They haven't had issues with newcomers learning the language. The OP them self said that Elm was a selling point for working there.
As someone who recently lived in Norway, and who has used Elm professionally there, we've also found it to be a good business decision.
A lot of companies hire for 'polyglots' these days anyway. For the most part, I wouldn't want to hire someone who wouldn't be capable of picking up Elm to a decent level, relatively quickly. When mentioning that we used Elm, it usually elicited excitement.
I live in Norway, but I don't have any axe to grind with anyone. I work in the IT industry, but I'm not in the consulting business. As you probably know, Bekk has a very good reputation in Norway, and I know several people who works there now, or has worked there in the past. I do use Vy trains for my commute, and I'm not super happy with the service, but that's not my motivation for my comments.
It is more a concern regarding how the tax I'm paying is used. I understand that people are happy with Elm today. But how will it be in 5 years? Given the small Elm community, will it still be up to date then? Will it be easy to recruit then?
I know of other publicly funded projects in Norway where they ended up using non-mainstream languages, and where it became a problem in the long-term.
> I think they should have made a different choice.
Yes, you've asserted that several times here, based on next to no information.
As for recruiting, using Elm has put Vy in the spotlight several times the last years. So even if most people aren't elm developers, I think this has at least given lots of potential candidates a positive view on working there.
You don't need any Elm experience to program Elm. Web experience (HTML, CSS, APIs etc.) is useful because they are the problems you will bump up against. The learning Elm part would take little time. There are a lot of people who have done a bit of Elm on the side too so have a head start. Any Haskell lover who can't find a Haskell job might consider an Elm job.
I think it depends on the project entirely. A starving province in market ruled society that wants to get something for as little money as possible will act differently from a rich Scandinavian nation where utilitaristic ideas are widely spread and people agree to spend more to get good things for everybody.
The experience we have with elm at my company is pretty good, actually. We have two teams staffed and productive, with no specific recruitment. All devs were trained in-house.
The language has some problems of course, but in terms of developers availability, training effectiveness makes it good.
I've cross trained a few react/redux devs onto Elm and it's been a really easy shift for them. Many js devs are leaning more on a functional style anyway, for those devs Elm gives them a language which is designed for the way they want to build apps.