nubs
Joined 13 years ago
Joined 13 years ago
Location: Austin, TX
Remote: Remote, Hybrid, On-site
Willing to relocate: No
Technologies: Node.js, React, AWS, PHP, Typescript, Docker, Linux, PostgreSQL, MongoDB, GraphQL, HTML/CSS/JavaScript, Git
Resume: https://www.overthemonkey.com/resume.pdf
Email: anubis [at] overthemonkey.com
I am looking for a company that drives ownership amongst its team and provides a healthy environment for collaboration. I am a full-stack Principal Software Engineer with 18+ years of experience, predominantly in web develop (Database, API layer, web layer and everything in between), DevOps, and architecture. I have 10+ years of start-up experience and 6+ years of leadership experience. I am passionate about engineering and scaling as far as they align with business needs.
KEY is a hospitality marketplace for travelers, vacation rental properties, and vendors. We are transforming the industry through our technology platform, which vets properties and provides curated services to make guests’ stays seamless and homeowners’ lives easier.
Our Stack: Node.js, React, PostgreSQL, MongoDB, AWS, GraphQL
We are looking for an experienced engineer to provide technical leadership and build a technology platform that connects vendors, property managers/aviation partners, and travelers, enabling the travelers to effortlessly plan curated experiences. You will be a key member of the team to develop the platform for concierge service.
Are you ready to join us as KEY expands into the hottest travel destinations, and usher in the next big wave in the travel industry? Contact us at [email protected]
At Twyla, we make it possible for everyone to shop exclusive limited-edition prints from the most talked-about artists in the game. We're dedicated to making great art accessible and we're backed by Google Ventures and other top VC funds.
We work in a bright industrial loft in downtown Austin that doubles as our art gallery. Our culture is fast-paced, creative and cool. We offer great benefits, including unlimited vacation and competitive compensation to qualified candidates. If you think you are a good fit we'd love to speak with you about joining our vibrant and talented team.
As a member of our technical team you will play a critical role in guiding our technical decisions. We are looking for highly motivated individuals with a passion for bleeding-edge software development and creating delightful customer experiences. We are currently hiring for a few different positions:
Frontend Engineer: We love React and are looking for an additional developer to join the team and work with us on building a unique and creative website. Experience with GraphQL a big plus.
Backend Engineer: Our modern Node.js GraphQL API backend and manufacturing system provides an interesting challenge to empower the development of our application and print-on-demand manufacturing pipeline.
Get in touch with us or apply for a position at [email protected].
Remote: No
Willing to relocate: No
Technologies: Node.js, PHP, Docker, AWS, HTML/CSS/JS
Resume: http://overthemonkey.com/resume
Email: [email protected]
I'm interested in working for a small team of engineers passionate about technology.
I can think of a couple cases where catching an error down low with the purpose of squashing it makes sense. One would be for a service that you know may not have data and you don't care if it doesn't. For instance, trying to get geolocation data for a user in order to improve their experience but if it fails you don't need to show an error:
return geolocationService.fetch().catch((err) { /* log error /; return {}; / empty result/ });
Another case is when you might have multiple ways of handling the request where one is prioritized over the other. In this case, you can catch errors from the first attempt and try a second method. If they both error out, then the result promise will be an error as well.
return primary.fetch().catch((err) => { return secondary.fetch(); }).then((data) => { / manipulate data */});
You generally have to have an end-of-the-chain catch as a safety precaution. If you don't have one and the promise fails you may get no feedback that an error happened at all. All methods that return promises should be able to expect the caller to handle them appropriately whether they pass or fail - it's not their responsibility to try and figure out how to handle an error in the context of the wider application.
One pattern I use is to rethrow the error:
return service.fetchData().then((data) => {}).catch((err) => {console.log(err); throw err;});
Another pattern I use is to split the promise chain so that I let my main results flow be the result that gets passed on, but I can do other things in a parallel manner internally:
let results = service.fetchData().then((data) => {}); results.catch((err) => {console.log(err);}); return results;
e10s = electrolysis
i18n = internationalization
l10n = localization
k8s = kubernetes
PHP
https://github.com/LartTyler/Analyst
Javascript
https://github.com/trello/scientist
[ my public key: https://keybase.io/nubs; my proof: https://keybase.io/nubs/sigs/mjFnlo9-Ogq8TXRiNY9JImypVceZxZahfse0GYe7yXI ]