News for hackers. Stuff that matters.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by tonyedgecombe on Wednesday March 21, 2018 @11:50AM (#16639147)
Another thing I’m getting is that the new kids won’t like rails, and it’s being harder to hire.

I'm surprised by this, to me the language used would be a long way down the list when evaluating an employer.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by markoman on Wednesday March 21, 2018 @01:00PM (#16640066)
Ruby is still a beautiful language, particularly for its object oriented-ness. And I think Ruby's nature, simplicity and power appeals to young people, however the resurgence of a towering Javascript/NodeJS is hard compete with. These are market forces that really matter when you're wondering what language & platform to use for your MVP. In recent surveys, Ruby & Rails has fallen to the bottom of the list among the former stars of programming languages. Python has data science & machine learning to keep it strong and new stars Elixir/Phoenix and Golang are sucking up a lot of oxygen that would otherwise go to Ruby & Rails. And let's not forget Bubble (visual app building) and the Zero Code Startup.

I really think Pedro (the blog post writer) has an excellent point about being a polyglot but trying to qualify as a Senior Engineer except I'm older and have even more platforms & languages behind me. Its a serious problem because I have the experience to easily be a Sr. Engineer or manager but my experience isn't concentrated long enough anywhere to make me useful enough to warrant the role.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by pjmlp on Wednesday March 21, 2018 @01:19PM (#16640307)
Ruby also suffers from top quality JITs vs what JS has.

The only good option being JRuby, as far as I understand. I am not at all into Ruby.

Regarding being polyglot and seniority, a possible solution is to work for consulting companies that focus on multiple stacks.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by steveklabnik on Wednesday March 21, 2018 @02:21PM (#16640941)
MRI has just added a JIT, I know nothing about it other than that it exists.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by jashmatthews on Wednesday March 21, 2018 @05:21PM (#16642542)
MJIT works by taking MRI Ruby bytecode, replacing the instructions with the original C code, and compiling an entire method using GCC/LLVM.

Because MRI Ruby is a threaded VM, it's easy to replace jumping to an instruction which dispatches to the next instruction, with jumping to some native code which dispatches to the next instruction.

Right now, AFAIK, only very basic optimizations are enabled but just removing the overhead of VM dispatch between each instruction is a huge performance improvement.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by lloeki on Wednesday March 21, 2018 @02:12PM (#16640843)
Most of the time you're not using JRuby for the JIT but for threads and/or to fit into some Tomcat/other Java environment. JRuby isn't exactly fast.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by jashmatthews on Wednesday March 21, 2018 @05:11PM (#16642458)
JRuby is now about 3x faster than MRI, thanks to improvements in JRuby and increased support from the JVM for optimizing dynamic languages like invokedynamic.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by cutler on Thursday March 22, 2018 @01:17AM (#16645957)
Not so fast with Elixir. According to Indeed.co.uk's API there are 18 Ruby jobs for every Elixir job. Yes, there are 3 times as many Python jobs but Ruby isn't exactly dead.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by Jacqued on Wednesday March 21, 2018 @11:55AM (#16639213)
Surprising, for me it's one of the top criteria. The languages I'm using are shaping my process of thought, like when I'm speaking a different natural language, and some are more enjoyable than others to "think" in.

Besides, some languages give you vastly different career prospects (industries you can work in, salaries/rates, environment, etc.)

Re:From Rails to Clojure, Then to Java, Then Back to Rails by dizzystar on Wednesday March 21, 2018 @12:17PM (#16639522)
For some reason, Rails seems to always have some weird commentary attached to it.

Years back, I've had people tell me they stopped using Rails because it was too hard to find good problem solvers. That didn't diminish the continued success of the framework.

As an antidote to the comment, I was recently at a Ruby meetup. Everyone was on Rails and everyone was younger.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by derrekl on Wednesday March 21, 2018 @12:01PM (#16639304)
While I'd agree with you as an entry level candidate, with experienced people, I've found the language is often the most important thing on the list. Often above salary. I would say it is more commonly number one than any other factor. I only know of a few programmers who have shifted through more than 2 languages in their careers (20+ year type careers). I don't have brilliant insight as to why. Perhaps the fear of starting at ground zero? Imposter syndrome? Feeling of throwing your past experience down the drain?
Re:From Rails to Clojure, Then to Java, Then Back to Rails by nitrogen on Wednesday March 21, 2018 @05:16PM (#16642499)
Interesting. I've used at least half a dozen languages in my career of ~15 years. Apart from a few categories of language I avoid, I'm much more interested in the working domain, team dynamics, and quality of life.

It has often been to my advantage to be willing to learn a new language for a new project or a new job, giving me opportunities I wouldn't otherwise have had. I learned Oracle PL/SQL to integrate a 7-8 figure Rails app into an accounting system when nobody else volunteered. I learned Rails to get into ecommerce. I learned PHP to become a startup's only web developer so I could write cool audio processing tech in Ruby. I learned Ruby to speed web development in my own startup. I learned Scala to get into the San Francisco market. JS. Java. Kotlin. POSIX shell. C++. C. Etc.

Unless a developer/engineer just wants to be a cog forever, I highly recommend some flexibility on language. Solving real problems is way more interesting and more useful than being a framework stickler.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by oregontechninja on Wednesday March 21, 2018 @12:31PM (#16639706)
It's because we don't like or approve of rails. It doesn't make business sense to us (us being a completely anecdotal group of young developers I'm friends with). There are other solutions that provide sufficiently more developer speed and safety, while also providing much better performance than any rails application.

Edit: I guess I just hang out with like minded people, but our biases shouldn't negate the fact that this is a very common feeling where I am.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by oregontechninja on Wednesday March 21, 2018 @02:53PM (#16641207)
To answer many of the replies:

(Most prominent -> least prominent)

Web-related: Go, Elixir, JavaScript, Python

Desktop GUI: Python, C++

Game-Dev: C#, C++

Really its a matter of how much you'll pay us, and I think we've been scarred by too many bloated Rails apps and Wordpress sites to want to work on those.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by cutler on Thursday March 22, 2018 @01:25AM (#16645993)
Now we work with Node.js which is much better ..... oh, wait I just ran out of disk space after running `npm install`.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by erokar on Wednesday March 21, 2018 @12:44PM (#16639851)
What other solutions are you youngsters using then? Elixir/Phoenix? Django/Python? Node? Haskell?
Re:From Rails to Clojure, Then to Java, Then Back to Rails by mattnewton on Wednesday March 21, 2018 @12:49PM (#16639922)
Not OP but in my limited experience the MVP slot is mostly held by Django, with Node + typescript, Go and Elixir being the “safer, faster” variants “kids” are using.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by jarsin on Wednesday March 21, 2018 @01:30PM (#16640429)
Ha it's funny seeing Django in that list because back in day (10 years ago or so) before rails took over I was trying to get everyone to use Django at my job. Then rails exploded and I moved to that.

I honestly thought Django was mostly dead now.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by stevenwoo on Wednesday March 21, 2018 @02:10PM (#16640824)
Anecdotally Django seems less common in the job listing post every month than Rails but is still present, and the python experience is relevant to many more.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by mattnewton on Wednesday March 21, 2018 @08:10PM (#16643901)
Yeah I think it has to do with there being just more python scripts floating around, and Django (or flask) make it easy to turn that random script into a proper api. Plus CS courses have now started teaching python.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by wolco on Thursday March 22, 2018 @12:54AM (#16645866)
php.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by michaelbuckbee on Wednesday March 21, 2018 @01:25PM (#16640382)
What stack are you gravitating to?
Re:From Rails to Clojure, Then to Java, Then Back to Rails by stevenwoo on Wednesday March 21, 2018 @12:01PM (#16639303)
Judging by listings in the month jobs posting, the vast majority of hiring companies won't look at you if you don't have immediate and long experience with their current tech stack.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by jcadam on Wednesday March 21, 2018 @01:56PM (#16640672)
Back in my late 20s, I got stuck on maintaining a legacy software system written in Ada95 (I was unemployed in 2008 and it was the only work I could find).

When that job went away, I thought I could get a job using something more modern. However, the only job I was able to land was a new development project in Ada2005 (actually it was a port from SPARC to x64 and a partial rewrite of the same legacy application I had been maintaining for 3 years).

It took me forever to find a company that would "take a chance" on me - which is when I started working with Java.

That whole experience taught me that I always need to have side projects going so I have actual work samples to show potential employers.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by stevenwoo on Wednesday March 21, 2018 @02:07PM (#16640794)
Ha, I was somewhat in the same position, my first job out of college was working for a NASA contractor using Ada. I programmed on the side using C for fun and was able to find a startup to take a chance on me after a few years.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by pjmlp on Wednesday March 21, 2018 @03:18PM (#16641392)
And even then, experience tells me one needs to have some luck that the HR people are even willing to listen about those side projects.

Good that it worked out for you.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by jcadam on Wednesday March 21, 2018 @05:50PM (#16642752)
Yes, this is especially true at larger companies. In my case, a small company picked me up.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by sidlls on Wednesday March 21, 2018 @12:02PM (#16639314)
Why is this surprising? For years employers have included proficiency with a specific brand of tool (language) as part of their job descriptions. And in the Bay Area anyway there is often a lot of talk about being able to use any language you're comfortable with in the interview process, but in practice unless you use the language(s) in the stack you're interviewing for it's a harder sell.

I self-select myself out of jobs that have specific languages in the job listing if I can't honestly say I've used them professionally.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by innocentoldguy on Wednesday March 21, 2018 @06:48PM (#16643160)
The language an employer uses is high on my list when evaluating a potential employer. It tells me if the company has put thought into what they want to accomplish and what technologies would best serve them in accomplishing their goals vs. choosing their technology stack based on popularity, brand loyalty, or some other subjective criteria. I typically haven't found joy in working on projects where I'm using tools that don't easily support the company's goals and vision.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by chaostheory on Wednesday March 21, 2018 @12:32PM (#16639715)
I don't think it's that newcomers won't like Rails. I feel it just makes sense to go all Javascript instead since that's where the momentum is now and doing everything in one language has a lot of benefits especially when it's something as ubiquitous as javascript.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by tonyedgecombe on Wednesday March 21, 2018 @03:46PM (#16641636)
That wasn't what I was thinking about, there are good reasons to choose one stack over another once you are in a job. When you are job searching though there are a ton of criteria: salary, opportunities to learn and develop, autonomy in the role, enlightened management, realistic schedules, short commute, holidays, decent desk, chair and screen. I'd put all of those over a choice between Ruby and JavaScript.
Re:From Rails to Clojure, Then to Java, Then Back to Rails by pjmlp on Wednesday March 21, 2018 @01:11PM (#16640188)
It is always on by top list, after learnig what the application and domain is all about.

The majority of HR departments tend to suffer from myopia for anything beyond the last couple of months on the current employer.

So always take care not to land in something that will be hard to get out of.

Re:From Rails to Clojure, Then to Java, Then Back to Rails by pmarreck on Wednesday March 21, 2018 @12:18PM (#16639533)
Spotted the guy who's never used an immutable language with pattern-matching