My name is Tracy and I am a Google Developer Expert, RxJS Core Team member, a Women Techmakers Lead, and a frequent keynote speaker at conferences. I also host the Modern Web podcast, organize This.JavaScript, Contributor Days, Google Developer Group Silicon Valley and Triangle, and RxWorkshop. Oh yeah and I'm Co-Founder of This Dot Labs, an elite consultancy helping teams build front end applications. You can find me on Twitter @ladyleet or at http://thisdot.co/labs.
For further actions, you may consider blocking this person and/or reporting abuse
Latest comments (67)
If you can, Tracy, what are your thoughts on this- did RXJS get error handling wrong? dev.to/deanius/error-handling-in-r...
Hey Tracy!
Learning RxJs is quite difficult, especially if i want to become an expert. I used it mostly in my angular apps and i feel like i'm stuck using it at the basic-mid levels for example passing data through services in subjects and behavior subjects (i almost never used async subject and reply subject) i don't even know when should i use them. And also stuck at the basic operators like: filter, map, distinctUntilChanged, switchMap, mergeMap, take, takeUntil, pluck.. There are lots of other operators which are look powerful but cannot figure out when to use them. Can you give me some hint how can i upgrade my knowledge to be able to use rxjs as widely as it possible?
Thanks!
Hi Tracy, I am not sure if this ama is finished or not. So I will just post it anyway. Where do you think RxJs will help at backend with nodejs? Which scenarios would be RxJs would be more useful to use at backend?
Hey Tracy! What do you feel is missing from web development today? Missing Web Platform features, libraries or tools?
Well ya know... I would say that a Chrome Contributor Days is definitely missing from web development today! 😉
But all in all wouldn't it be great to have a playground where developers can go and play around with new technologies? Or somehow make it easier to find information? A lot of what I hear in web development is that people don't know what they should learn and would like to be prescribed more the most important things. So I think that visibility into that is important.
I also think that adoption of certain APIs, let's say, would be cool because that would help surface some of the items that are necessary and important for web developers to take note of.
I think Tracy is done for the day but this would make a great #discuss post for the community Addy 😄
Hi Tracy,
A quick one: Can you point me at a what you consider a good example/pattern/best practice of how to set up a central injectable DataService -service/singleton in an Angular 5 / RxJS application that caches the information and handles the back-end communication? The use case would be a normal application that has 10% volatile data and 90% static data (databound dropdowsn and other stuff that does not change on a daily basis). CRUD operations are, naturally, a must.
For some reason, I have not found a good example for this. Can you help?
Oskar
Do you listen to music while you code? If so, can you list some of the artists you listen to?
Hello Tracy! What's your secret to staying sane with so much going on?
A very organized calendar! And knowing when I need a break is very important! You have to know your body, know your mind, challenge yourself enough to succeed and stretch further than what your current goals are while balancing life and priorities. I am constantly re-evaluating my priorities.
Also, make sure you are doing things that you LOVE and are passionate about. If you don't, you just wont be able to go as far as you'd like or expect in life. And make sure you have people cheering you on! :)
thank you for such an inspiring answer
Haha you're welcome!
Hi Tracy, what i have to do to be consider a full stack python dev?
Haha honestly I have no idea. I think that is like asking what you have to do to be considered as a senior dev or even a dev in general - depending on who you talk to you will get very different answers! :)
hehe thanks, well, any good book in oop fundamentals for a junior dev?
Thanks for answering my previous question Tracy, awesome advice, this is if you have no other questions to answer. I've been doing frontend for about 2.5 years and even today I hear all these terms and names and I feel sometimes lost in what any of it means.Google to the rescue most times. What was your journey like to the point you felt comfortable with all the terms and names of the zillions of things that exist in programming. Thanks again.
Haha yeah I'm still not super comfortable with all the terms - just like everyone else. But I just talk a lot of programming and hang around a lot of people that do and at some point it becomes very natural! :)
RxJS is definitely a very powerful tool. But in my every day usages of async related things, I've never felt that I need to use something as powerful as RxJS to do it (instead opting to use something like async/await, promises, etc). Other than very specific use cases like making drag and drop ridiculously easy, RxJS really just felt like it was just killing a fly with a bazooka.
Do you have other examples of when you would prefer to use RxJS instead of other async related libraries?
Yeah well honestly with RxJS the benefit is that you are moving your business logic into a domain specific language - so it's much easier to copy/paste code into new frameworks and libraries without large rewrites. You're also essentially future proofing your code two ways. The first is - RxJS provides an abstraction in the form of Observable for you so that you can easily change out the inputs at a later time. The second is - later on, it's much easier to add on functionality by just adding on another operator or chaining together a set of things, again, without having to rewrite your code much.
I'd say it's super smart to kill all the flies with a bazooka because later on you may be thankful you have that abstraction in place.
Also it's just more declarative and easier to read.
I always use RxJS so I don't have other recs on other libraries! :)
One of the selling points of React is to just write JS, no need to decipher a DSL. Why doesn’t RxJS take this approach?
Depends what your working on. When I worked in FinTech you have a large stream of events coming down the pipe. Something like Rx works very well for this.
Yes! For things like backpressure, multi plex web sockets, exponential backoff, cancellation - all these are great use cases for RxJS.
Do you feel like Javascript is a language that you can focus on for your entire development career? Or do you think that's doable with other languages, too?
JS is the easiest to me IMO but maybe I have chosen the wrong path! I also believe it's who you are surrounded by and what you're talking about on a daily!
Seems like you've chosen the right one! Any advice on finding the right people to surround yourself with?
stalk and talk to people on twitter! :) find the nice ones! make friends! go to confs and find your base of friends! :)
Oh yes absolutely 100%! Plus once you learn JS or any other language, it's super easy to go back and forth and learn other languages. :) There is PLENTY of JS jobs and JS need these days. Node, for example, React Native for mobile, and just general front end too.
I do a bunch of conference speaking myself, but I've only done 1 keynote so I'd love to pick your brain a little on how you do yours: What's your process look like for developing a keynote talk?
Hi E! :)
I usually work on my keynote talks with the organizers but make sure it's a big enough idea that is relevant to the entire conference.
I used to reach out to conferences but now they just reach out to me.
I choose my topics based on what I'm excited about - the only way to choose talks.
Well... I go to very targeted confs so I usually apply what I'm talking about to the actual technology.
If I find a product or project amazing, then I'll talk about it! :)
I try to spend about 20-30% of my time on learning new tech or working on talks and speaking. I just block it off bc it's important to me - though I should do this with working out too dangit !:)
Can you explain RXJS like I'm five?
Hahaha :) Observables are just functions in JS - they don't do anything until you subscribe to them, or call them. It's not that hard so if you're learning promises currently I say why not just learn RxJS bc it's basically the same thing but with more benefits? :) But, everyone has their own opinion! :)
Observables are right Kan extension (as is generalize of continuation process) in category theory :D
Wow, you've made so many neat things I hardly know where to begin! Since you say to ask you "anything", the first question to cross my mind is about one of the hardest problems in computer science: What're your thoughts on and techniques for naming things, especially businesses and projects? Got any favorite stories about how picking the right name and scope for a project helped it out down the line?
Hhahaah.
Well, one of my first products was a gift app. And we could NOT for the life of us agree on what to name it.
Me and my cofounder at the time were eating in Mountain View at a restaurant called Sushi Tomi. So we thought - Gift Tomi and named it Giftomi. We kept trying to call it Gift something. And then another person a few months later was like yeah you named it Gift to me! like Giftomi! And my mind was BLOWN.
Another one - I wanted to create an umbrella corporation and I was at an event explaining this to someone. He said yes, like an evil umbrella corporation. Then I thought, OMG EVIL is LIVE spelled backwards! So one of the names of one of my first companies was LiveUmbrella :)
Hey Tracy! I think you're awesome :). Please I'd like to know what learning tips and methods you'd recommend for a person learning javascript. Thanks!
Get into what you're passionate about and start pounding on code! Also build something you're excited about! No use wasting your life on things that do not make you excited!