ppcsf | 8 years ago | on: Ask HN: Who is hiring? (November 2017)
ppcsf's comments
ppcsf | 8 years ago | on: Ask HN: Who is hiring? (October 2017)
ppcsf | 8 years ago | on: Ask HN: Who is hiring? (October 2017)
GetSwift is a software company that aims to optimize last-mile delivery. We are well-funded (recently closed a $24M round) and listed on the ASX in 2016. Our software is used in 65 countries and across 60+ industries, and our clients include companies like Pizza Hut, Little Caesars Pizza, Lion Nathan, Commonwealth Bank of Australia, Mitre10, Just Eat, and Red Rooster.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is varied and includes .NET, Go, Java, Python, Typescript, React, AWS, Kafka, Kubernetes, and Haskell.
We hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. The only real requirement is that you're self- motivated and able to learn quickly, but there's bonus points for:
• The ability to code in a variety of languages
• Devops, containers, Kubernetes, aws
• Familiarity with any part of our stack
Our interview process consists of a short code test and a technical interview. After that, we'll be in touch within about a week.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 8 years ago | on: Ask HN: Who is hiring? (September 2017)
GetSwift is a software company that aims to optimize last-mile delivery. We are well-funded (recently closed a $24M round) and listed on the ASX in 2016. Our software is used in 65 countries and across 60+ industries, and our clients include companies like Pizza Hut, Little Caesars Pizza, Lion Nathan, Commonwealth Bank of Australia, Mitre10, Just Eat, and Red Rooster.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is varied and includes .NET, Java, Python, Typescript, React, AWS, Kafka, Kubernetes, and Haskell.
We have multiple roles available in web design and engineering.
We are looking for web designers (or anyone with great HTML/CSS skills and design sensibilities) to help us build out a complete overhaul of our app. It will be a responsive SPA with plenty of complex UX, mapping, and infoviz problems to solve.
For engineering, we're hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. The only real requirement is that you're self- motivated and able to learn quickly, but there's bonus points for:
• The ability to code in a variety of languages
• Devops, containers, Kubernetes, aws
• Familiarity with any part of our stack
Our interview process consists of a short code test and a technical interview. After that, we'll be in touch within about a week.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 8 years ago | on: Ask HN: Who is hiring? (August 2017)
GetSwift is a software company that aims to optimize last-mile delivery. We are well-funded (recently closed a $24M round) and listed on the ASX in 2016. Our software is used in 65 countries and across 60+ industries, and our clients include companies like Pizza Hut, Little Caesars Pizza, Lion Nathan, Commonwealth Bank of Australia, Mitre10, Just Eat, and Red Rooster.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is varied and includes .NET, Java, Python, Typescript, React, AWS, Kafka, Kubernetes, and Haskell.
We're hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. The only real requirement is that you're self- motivated and able to learn quickly, but there's bonus points for:
• The ability to code in a variety of languages
• Devops, containers, Kubernetes, aws
• Familiarity with any part of our stack
Our interview process consists of a short code test (if you don't have any publicly accessible code for us to look at), and a technical interview in our Collins St office, 1-2 hours. After that, we'll be in touch within about a week.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 9 years ago | on: Ask HN: Who is hiring? (May 2017)
GetSwift is an ASX-listed software company that aims to optimize last-mile delivery. Our software is used in 59 countries and across 30 industries, and our clients include companies like Pizza Hut, Mitre 10, Just Eat, and Red Rooster, with many more in the pipeline.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is varied and includes .NET, Java, Python, Angular, React, AWS, Kafka, Kubernetes, and Haskell.
We're hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. The only real requirement is that you're self- motivated and able to learn quickly, but there's bonus points for:
• The ability to code in a variety of languages
• Data science skills (R/ Pandas etc, solid stats background)
• Devops, containers, Kubernetes, aws
• Familiarity with any part of our stack
Our interview process consists of a short code test (if you don't have any publicly accessible code for us to look at), and a technical interview in our Collins St office, 1-2 hours. After that, we'll be in touch within about a week. Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 9 years ago | on: Ask HN: Who is hiring? (April 2017)
GetSwift is a logistics software company that's just listed on the ASX. We're looking to grow our small team to keep up with our huge growth and international expansion.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes real-time vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is primarily .NET, Angular, React/Redux, AWS, Kafka, Kubernetes, and Haskell.
We're hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. Bonus points for:
• The ability to code in a variety of languages, particularly of the functional flavour
• Data science skills (R/ Pandas etc, solid stats background)
• Devops, containers, Kubernetes, aws
• Familiarity with any part of our stack
Our interview process consists of a short code test (if you don't have any publicly accessible code for us to look at), and a technical interview in our Collins St office, 1-2 hours. After that, we'll be in touch within about a week.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 9 years ago | on: Ask HN: Who is hiring? (February 2017)
GetSwift is a logistics software company that's just listed on the ASX. We're looking to grow our small team to keep up with our huge growth and international expansion.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes real-time vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is primarily .NET, Angular, React/Redux, AWS, but we're moving toward an event-driven microservices architecture, using Kafka/Kubernetes/Haskell/React.
We're hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. Bonus points for:
• The ability to code in a variety of languages, particularly of the functional flavour
• Data science skills (R/ Pandas etc, solid stats background)
• Devops, containers, Kubernetes, aws
• Familiarity with any parts of our stack
We are also hiring UX designers to revamp the UX of our rather complex product.
For engineers, our interview process consists of a short code test (if you don't have any publicly accessible code for us to look at), and a technical interview in our Collins St office, 1-2 hours. After that, we'll be in touch within about a week.
For UX designers, if we're happy with your portfolio, we'll give you some paid work to see if we're a mutual fit.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 9 years ago | on: Ask HN: Who is hiring? (January 2017)
ppcsf | 9 years ago | on: Ask HN: Who is hiring? (January 2017)
GetSwift is a logistics software company that's just listed on the ASX. We're looking to grow our small team to keep up with our huge growth and international expansion.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes real-time vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is primarily .NET, Angular, React/Redux, AWS, but we're moving toward an event-driven microservices architecture, using Kafka/AWS Lambda/k8s/Haskell/React.
We're hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. The ability to code in a variety of languages, particularly of the functional flavour, will be highly regarded. Bonus points for:
• Data science skills (R/ Pandas etc, solid stats background)
• Devops, containers, k8s, aws
• Familiarity with our stack
Our interview process consists of a short code test (if you don't have any publicly accessible code for us to look at), and a technical interview in our Collins St office, 1-2 hours. After that, we'll be in touch within about a week.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!
ppcsf | 9 years ago | on: A Taste of Haskell
I wrote a port of Haxl to C#[0]. At this point one might expect me to recite the whole Turing-completeness-means-all-languages-are-the-same banality, but my experience porting Haxl has actually led me to the opposite opinion.
Haxl probably wouldn't have been written in any other language other than Haskell. Because Haxl leans so heavily on concepts that other languages have no words for, I think it's inexpressible in C#, or most other mainstream languages. Obviously not literally inexpressible (there's an existence proof of a C# Haxl) but in an Orwellian, "these concepts are unthinkable in other languages" sort of way.
ppcsf | 9 years ago | on: Probabilistic Programming
var combined = from isAmerican in Bernoulli(0.25)
from grade in isAmerican ? americanGrades : indianGrades
select grade;
This is now a new model that can be composed further with other models. Building models like this feels very expressive.The inference method is also completely decoupled from the model specification process, allowing us to perform a Sequential Monte Carlo just by writing:
var smcResults = combined.SmcMultiple(100);
or var pimhResults = combined.Pimh(10);
for a Particle-Independant Metropolis-Hastings.There's more examples here: https://github.com/joashc/csharp-probability-monad
ppcsf | 9 years ago | on: Ask HN: Who wants to be hired? (July 2016)
Remote: Yes, able to overlap 6 hours PST
Willing to relocate: Yes
Technologies
- React/Redux, Angular 1x, HTML/CSS, D3.js, Webpack
- Haskell/ FP
- SQL, Redis
- Git, Linux, shell scripting, Latex/MathJax
- MVC, C#, DI
- NServiceBus, SignalR, Azure Service Bus
- Android, Java
- Python
I've authored a few open-source projects:HaxlSharp: Composable, automatically concurrent data fetching & request deduplication https://github.com/joashc/HaxlSharp
Probabilistic C#: A monadic probabilistic programming framework https://github.com/joashc/csharp-probability-monad
Have professional experience delivering large real-time web applications, mostly SPAs.
Resume: On request
Website: http://joashc.github.io
Email: [email protected]
ppcsf | 9 years ago | on: Show HN: HaxlSharp – Concurrent data fetching and request deduplication in C#
ppcsf | 9 years ago | on: Show HN: HaxlSharp – Concurrent data fetching and request deduplication in C#
For more complex cases, I like to make the analogy with asynchronous code. There's a few problems with complex async code that only uses a minimal abstraction, like callbacks:
* Writing asynchronous code is error-prone
* Asynchronous code obscures our intent
* Programmers are bad at reasoning about asynchronous code
So we developed abstractions like async/await and promises, allowing us to write async code in a sequential-looking way. Unfortunately, introducing concurrency into the mix breaks this sequential abstraction, which means certain familiar problems emerge:
* Writing concurrent code is error-prone
* Concurrent code obscures our intent
* Programmers are bad at reasoning about concurrent code
Haxl attempts to reclaim this sequential abstraction, allowing us to write code that looks sequential, but is actually concurrent "behind the scenes".
ppcsf | 9 years ago | on: Ask HN: Who wants to be hired? (June 2016)
Remote: Yes, able to overlap 6 hours PST
Willing to relocate: Yes
Technologies
- Web: React/Redux, Angular 1x, HTML/CSS, D3, Webpack
- .NET stack: MVC, C#, DI
- Messaging: NServiceBus, SignalR, Azure Service Bus
- Android, Java
- Haskell: STM, concurrency
- SQL, Redis
- Git, Linux, shell scripting, Latex/MathJax
- Python
Personal Projects:Probabilistic C#: A monadic probabilistic programming framework https://github.com/joashc/csharp-probability-monad
HaxlSharp: Composable, automatically concurrent data fetching https://github.com/joashc/HaxlSharp
Have professional experience delivering large real-time web applications, mostly SPAs.
Resume: On request
Email: [email protected]
ppcsf | 9 years ago | on: Null References: The Billion Dollar Mistake – Tony Hoare (2009) [video]
ppcsf | 9 years ago | on: Null References: The Billion Dollar Mistake – Tony Hoare (2009) [video]
Optional<WidgetFriend> GetWidgetFriend(Widget widget)
and WidgetFriend had an Optional<FriendName> property, we could simply write [1] from widget in _widgetRepository.FindById(widgetId)
from friend in _widgetRepository.GetWidgetFriend(widget)
from name in friend.Name
select name;
and get an Optional<FriendName>, without having to repeat all the tedious pattern matching of Some or None for every call. If any of those calls returns a None, the entire evaluation short-circuits and we get a None result at the end.Of course, we can still write
Optional<Widget> widget = null;
which is the problem with not fixing this issue on a language level.[1] You'd have to implement Select and SelectMany, instead of Map and Bind, to get query syntax like this.
ppcsf | 10 years ago | on: Probabilistic Programming for Anomaly Detection
ppcsf | 10 years ago | on: Probabilistic Programming for Anomaly Detection
The example is originally from the Anglican website (another PPL), but the general idea is transferable; PPLs make composing entire probabilistic models as easy as adding integers. We can perform complex inference on our models, and even compose our inference methods to form more powerful ones.
[1] https://github.com/joashc/csharp-probability-monad#modelling...
GetSwift is a software company that aims to optimize last-mile delivery. We are well-funded (recently closed a $24M round) and listed on the ASX in 2016. Our software is used in 65 countries and across 60+ industries, and our clients include companies like Pizza Hut, Little Caesars Pizza, Lion Nathan, Commonwealth Bank of Australia, Mitre10, Just Eat, and Red Rooster.
As an early-stage employee, you'll have a big impact on the architecture of our product, which includes vehicle routing & dispatching, data analytics/ modelling, and complex SPAs. Our stack is varied and includes .NET, Go, Java, Python, Typescript, React, AWS, Kafka, Kubernetes, and Haskell. We hiring at all levels of the stack, but we'd be particularly interested in full-stack engineers. The only real requirement is that you're self- motivated and able to learn quickly, but there's bonus points for:
• The ability to code in a variety of languages
• Devops, containers, Kubernetes, aws
• Familiarity with any part of our stack
Our interview process consists of a short code test and a technical interview. After that, we'll be in touch within about a week.
Email me (joash at getswift dot co), prefixing the subject with "HN:". Include anything you think will show off your skills!