News for hackers. Stuff that matters.
Re:Ask HN: What cool development languages/tools changed you... by votr on Tuesday October 25, 2016 @08:07AM (#12787166)
Clojure. Before learning Clojure, I didn't even have a career. I just wanted to get into software development.

But at the time, all I knew was a bit of Python. And while I could've learned Java, I figured that being yet another Java programmer in the marketplace, but with no experience and a liberal arts degree, was probably going to get me nowhere.

So I decided I had to learn something emerging. Something where there was nascent demand but not much supply. I chose Clojure because it looked weird, and all these bright people were talking about how great it is. I invested a couple of months learning it deeply, open-sourcing my side projects, and blogging about it. I also spent that time learning non-programming fundamentals.

When I felt I was ready, I started reaching out to people in the community and companies on "Who's Hiring" threads mentioning Clojure. Within a couple of months, I landed my first full-time programming gig at an investment bank.

I know that if it wasn't for Clojure, I wouldn't be here today.

Re:Ask HN: What cool development languages/tools changed you... by ericn on Tuesday October 25, 2016 @11:23AM (#12788712)
Wow! Awesome story! It totally resonates with my experience with Clojure.

Would you like to do an interview about it for my site PurelyFunctional.tv? I think your story could help others find their careers. Email me at [email protected] and we'll figure out the best way to do it. Thanks!

Re:Ask HN: What cool development languages/tools changed you... by jnbiche on Tuesday October 25, 2016 @09:47AM (#12787907)
Are you employed remotely? Someone asked a question on Ask HN a few days back about whether learning a less common language made remote work more feasible. So this is kind of a follow-up to that question.
Re:Ask HN: What cool development languages/tools changed you... by votr on Tuesday October 25, 2016 @09:58AM (#12788014)
Nope. Still commuting. But becoming remote is my number one goal.

At the moment, I have a client outside of work (ReactJS stuff), and am negotiating a remote gig with a company in California.

I agree that exotic technologies give you a leg up.

My stance is also that, if you're pushing for remote, then by definition you need to justify why you're a better choice than your remote competition who may live in lower COL areas.

If you're remote, then why should someone pay you a high salary vs. paying a lower one to that bright guy in Romania, who can still live like a king?

That's where marketing, differentiation, and service come in. But these are just my guesses.

Everyone has a plan until they get punched in the face.

Re:Ask HN: What cool development languages/tools changed you... by byoung2 on Tuesday October 25, 2016 @10:36AM (#12788335)
If you're remote, then why should someone pay you a high salary vs. paying a lower one to that bright guy in Romania, who can still live like a king?

Companies will pay a premium to have someone in the same timezone who speaks the language fluently.

Re:Ask HN: What cool development languages/tools changed you... by brianwawok on Tuesday October 25, 2016 @11:14AM (#12788639)
Have you ever worked with a guy from Romania?
Re:Ask HN: What cool development languages/tools changed you... by piokuc on Tuesday October 25, 2016 @11:59AM (#12789006)
I have. He's a good programmer and a nice chap.
Re:Ask HN: What cool development languages/tools changed you... by MrMullen on Tuesday October 25, 2016 @12:39PM (#12789377)
But he is in Romania. It would be a lot nicer if the Romania guy was in my timezone or, better yet, my office.
Re:Ask HN: What cool development languages/tools changed you... by bbcbasic on Tuesday October 25, 2016 @11:29PM (#12793675)
Or what if you were replaced with another Romania guy/gal then that would also solve that problem.
Re:Ask HN: What cool development languages/tools changed you... by slinger on Tuesday October 25, 2016 @09:31AM (#12787769)
Awesome story! I'm interested in hear more about the time you spent learning non-programming fundamentals. Would you care to elaborate?
Re:Ask HN: What cool development languages/tools changed you... by votr on Tuesday October 25, 2016 @09:51AM (#12787941)
I'd say non-programming fundamentals took about two months at about 4-6 hours a day, with the majority of that dedicated to algorithms and data structures.

I took these two OCW courses: https://ocw.mit.edu/courses/electrical-engineering-and-compu...

https://ocw.mit.edu/courses/electrical-engineering-and-compu...

And worked my way through these two books: https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena...

https://www.amazon.com/Algorithms-Robert-Sedgewick-ebook/dp/...

I wrote out my solutions on a whiteboard or pen and paper before typing them into a computer.

Outside of A & DS, I spent some time on operating systems and networking in general. A little bit of probability, but no hardcore discrete math.

There are swaths of areas which I now cover at a slower pace as time allows; compilers, AI, etc.

Re:Ask HN: What cool development languages/tools changed you... by questionr on Saturday November 05, 2016 @06:52AM (#12879132)
just to confirm, you completed BOTH MIT algorithm courses and BOTH algorithm books, in the span of 2-months, including completing all the exercises/algorithms?

that seems like an incredibly short amount of time given the content. But if true, congrats! and please let me know your secret!

Re:Ask HN: What cool development languages/tools changed you... by slinger on Tuesday October 25, 2016 @04:20PM (#12791309)
Thank you for your reply. I'm currently studying CS fundamentals as well. I'm taking an excellent operating system class from https://www.ops-class.org and I recommend to everyone that wants to learn this stuff.
Re:Ask HN: What cool development languages/tools changed you... by fsloth on Tuesday October 25, 2016 @12:29PM (#12789290)
What makes you categorize algorithms as non-programming? Isn't it like saying rhythm and melody are non-musical concepts?
Re:Ask HN: What cool development languages/tools changed you... by mpwoz on Tuesday October 25, 2016 @01:53PM (#12790009)
Not OP, but maybe "coding" is a better term: they are language-agnostic fundamentals that don't change as quickly as the tools and frameworks we use daily as "programmers"
Re:Ask HN: What cool development languages/tools changed you... by Ocerge on Tuesday October 25, 2016 @11:18AM (#12788662)
I agree :). Clojure re-invigorated my love for programming after years of working on boring products in boring languages. I still work on boring products, but at least I get to work with awesome technologies (Clojure/Datomic being my 2 favorite).
Re:Ask HN: What cool development languages/tools changed you... by heyts on Tuesday October 25, 2016 @08:51AM (#12787464)
I'm very interested in learning Clojure. Would you care to share more of your experience learning the language in terms of learning curve, useful libraries or just general tips. I'm sure that would benefit the community at large.
Re:Ask HN: What cool development languages/tools changed you... by votr on Tuesday October 25, 2016 @10:14AM (#12788143)
I approached learning Clojure the way I approach learning everything else. I survey the resources available, then pick the two best books. Ideally, I want them to come at it from different perspectives. e.g. one may place an emphasis on doing stuff with Clojure while another may be more about functional programming.

At the time, they were:

https://www.amazon.com/Clojure-Programming-Chas-Emerick-eboo...

https://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/16172914...

I then wrote a data processing app in Clojure; consuming financial data and finding patterns in it.

My suggestions are: 1) If this is your first time learning a functionally-oriented language, clear your mind from any kind of assumptions picked up from other languages.

2) Get a handle on the core tenets of functional programming: immutability, purity, composition, and functions as objects. If you know Javascript, then a lot of this stuff may already be familiar to you. JS is underrated in that department imo.

3) To me, writing programs with Clojure is akin to playing with Lego. You write your base functions, then higher-level functions which use those base functions, and so on. Functions all the way down.

4) Write something with it; it'll force you to decompose your program and think functionally.

Clojure is a simple, opinionated language. I don't think you'll have a hard time picking it up at all. The hard part will be to think in a manner amenable to it.

These days, I think Clojurescript has overtaken Clojure in terms of traction, so if you're into webdev, then CJS would be a natural next step.

Re:Ask HN: What cool development languages/tools changed you... by Veen on Tuesday October 25, 2016 @10:35AM (#12788328)
> You write your base functions, then higher-level functions which use those base functions, and so on. Functions all the way down.

I'm hoping to follow a similar trajectory to you, but with Elixir instead of closure. At the moment though, I tend to do things the other way around: write the top level functions and then fill out the base functions.

So I'd start a module with

def whatever(something), do: something |> function1 |> function2 |> function3

Then I'll write function1, 2, and 3 and whatever helper functions they need. And so on until it works. Maybe doing it your way is a better approach: helps you think it through first.

(although I'm aware some would say that tests should come before everything else anyway)

Re:Ask HN: What cool development languages/tools changed you... by bpicolo on Tuesday October 25, 2016 @12:36PM (#12789355)
It is useful and necessary to use both directions at times. You can't always presuppose the relevant details. But do be ready to factor away functions at a moments notice
Re:Ask HN: What cool development languages/tools changed you... by fsloth on Tuesday October 25, 2016 @12:33PM (#12789323)
"some would say that tests should come before everything else anyway"

Which some others consider a cargo-cult practice if done mandatorily for it's own sake.

Good luck on your studies!

Re:Ask HN: What cool development languages/tools changed you... by happyslobro on Tuesday October 25, 2016 @03:55PM (#12791118)
Where did you get this financial data for your first project? Is it a public feed / API? This sounds like exactly the sort of thing that I would like to start playing and eventually working with. I had been assuming that this type of data would only be available to the kind of entities that have a compliance officer, but I would love to have that assumption proven wrong.
Re:Ask HN: What cool development languages/tools changed you... by avinassh on Tuesday October 25, 2016 @11:42AM (#12788862)
I would recommend Clojure for the Brave and True - [0]

I have done some 40% of this book and so far I have thoroughly enjoyed reading and learning. Plus, the book is free to read online.

[0] - http://www.braveclojure.com