Eve Porcello

Transcript from Friday August 13th, 2021

# Q: Can you share tips or resources to enhance performance in a React app? – orjiace95

I would highly recommend checking out the docs to start. This will take you through the profiler tool which I highly recommend. I also recently saw this article from Codementor on this!


# Q: What's the hardest part of getting a new company/team to buy in to GQL? – iggy

I'd say that dispelling rumors and myths about GraphQL is the hardest part! A lot of people think that getting started involves huge architectural changes but you can start incrementally by wrapping your existing REST endpoints.

I'd also recommend some sort of internal training/ lunch and learn/ etc that is led by someone on the team because sometimes it's hard to get everyone onto the same page without a communication plan! People tend to like it when they get started!


# Q: What to learn after mastering react? Node js or Next js? – ROFL

Great question! I think Node and Next.js are always excellent things to learn. I feel like a lot of people go for React and skip out on learning Node.js really well and this is always a nice contribution to a team. Of course, I'll shout out GraphQL here too which can work really seamlessly with Node.


# Q: Heya! How important do you think it is for a junior dev to have a coach available to them to guide / correct? – pawzi

I think it's super important to have some sort of person on the team to connect with and ask questions to. Equipping people with documentation is important but having a designated mentor to ask questions to makes people feel much safer! Office hours is a good way to deal with this too so that the senior doesn't get overwhelmed!


# Q: What do you think are the most challenging things on managing a small business – Deleted User102200

So many things are hard haha! I think the hardest is managing cash flow at the beginning. When I started my business I didn't have a lot of startup money, so we just ended up doing almost everything by ourselves. Deciding how to delegate and what to outsource is tricky, but staying focused on what you're great at can really help the business grow.


# Q: Can you give us tips to make React programming better? – TirupatibalajiTheDev

The way I got better at React was working on projects. I took a lot of tutorials but picking something I was interested in (usually skiing) and building that helped me to learn things that I wouldn't have found out about in just a limited tutorial. That's how I learn about everything really.


# Q: Which library do you think is best for Graphql development in server side node? – Spark ✨

My favorite is Apollo Server, which just released version 3.0. It's excellent! Highly recommend!


# Q: What do you think is the right path to take when a major, and very widely used package, seems to hit a wall and not offer updates? Do you try to fix the issue yourself a fork and run with it or do you wait for someone else to take it over or do you find some other package to do the job? – Giles

This is so hard! In the past I've usually looked to another library to do the job. That always is a painful transition though... How do you usually handle this?


# Q: Opinions on the state of GraphQL client libraries? Apollo, urql, or using cached fetch wrappers like SWR/react-query etc? Do you have a favorite – Chem

I have played around with all of these but the one I have the most experience with is Apollo Client. I like how this works with several different client libraries! Every version gets a little better but caching GraphQL on the client remains a tricky problem!


# Q: What advice would you give to someone who wants to start a career in teaching? – elise

I would recommend getting started with teaching at meetups/local events (online works too of course!) or volunteering to teach groups (Women Who Code, local groups, etc). This gives you a sense of how to start breaking down content and seeing what resonates with an audience. From there, there are a ton of directions to go in: teaching all day workshops, making short videos, writing blogs? One way that I got into teaching was working with companies who staffed instructors on classes (DevelopIntelligence and Silicon Bay Training). They handled all of the logistics and I just showed up to teach! It was a great way to get more experience in the classroom while getting paid. Get in touch anytime if I can ever help with anything!


# Q: Which approach is generally better for Graphql development on server side? Code first or schema first. – Spark ✨

I like the schema first approach but if you do have a data source that is particularly strong, then code first might be a way of accelerating your GraphQL adoption!


# Q: What is the most significant advantage of GQL over REST? – josmithua

I think one of the strongest advantages of GraphQL over REST is the communication factor. GraphQL's schema gives us a type system for the API that you can enhance by writing good documentation. It tends to help teams really understand the fields and types that are available which is great for building apps quickly!


# Q: How do I get my first clients (for web development) and how do I price projects? On what basis should I charge? – penguin

This varies based on your location and what you're offering, but I would start out always by pitching a higher number. Your project will take longer than you think almost every time, so building in time to go over your estimates is important. It's so hard, but value your time and try not to sell yourself short! Try to collect 50% at least up front too 🙂


# Q: What is the easiest part of teaching/training technical people... and what is the hardest part? – Gabe

The easiest part is that it is a very fun job! Getting to meet people and spend some time learning about their challenges is the easy and fun part.... As for the hard part, I'd say teaching a class that works for a variety of people can be a challenge. There will always be some newcomers and then more advanced folks in a class and managing their expectations/giving everyone something to learn is really important. For that, I usually have a baseline of curriculum for everyone, then lots of extra credit assignments for folks who want to go deeper!


# Q: Did you ever face any issues as a woman in a STEM field? If so, how did you overcome them and what advice would you give to other people belonging to groups which are marginalized in STEM? – chase

Thank you for that question! When I was starting out in this career, I would go teach a lot of classes to almost 100% white male groups, and there would often be folks in the class who didn't think I should be teaching it. This can be intimidating, but the way that I got over this was to be extremely prepared! Prepared for any pushback, prepared for any question. I have also been lucky to have advocates that helped vouch for me. As I have done more in my career (created classes, wrote books, etc), people are more willing to listen too. I will say that it is still tricky to manage at times.


# Q: What advice would you give to a small software business which is trying to train fresh graduates in web frameworks from scratch? What are the most important things to teach? – syncerax

Sounds like a really cool program. I'd recommend not skipping out on teaching the fundamentals of JavaScript and browser-based things like CSS, HTML, etc. From there, I'd pick a track if you can. Maybe teach React really well instead of Angular, React, Vue, everything at once! Keeping focused usually helps people not drown in the sea of information. Pairing them up on projects is a great way to keep them engaged and problem solving too!


# Q: Do you most of the time build things from scratch or use third party libraries, when and why? – endrits079

I got into my career using a lot of vanilla JavaScript but today I use a ton of React and GraphQL frameworks! I don't think there's any reason to avoid frameworks particularly ones with a lot of community buy-in or those managed by a relatively stable foundation group like GraphQL!

Thanks! 😄


# Q: How to stay healthy as a programmer? specially how to protect our eyes while giving our best? – Baby

This is an awesome question. Thank you! Lately, I have really been prioritizing my physical and mental health over everything. Between teaching classes, creating new classes, and working on projects, I was burning myself wayyyy out! Planning meals and fitting in even a short walk has been so important to bringing some balance back. As far as eyestrain goes, taking breaks from screens is so important! Does anyone else have any ways of being nice to our eyes as developers? I'd love to steal your ideas!


# Q: For more junior level engineers, do you recommend personal projects or open source as a better source for learning? – Saturday

I think either approach is great, but sometimes I hear from junior devs that they feel intimidated by open source projects or their maintainers (PS I have been in this career for over a decade, and I think it's intimidating to jump into an open source project too!) I'd say whatever feels fun. If you're working on a side project, you probably aren't getting paid (at least at first), so pick the thing that seems the most fun and will contribute to your burnout the least!


# Q: Hi Eve, thanks for taking the time for these today! What's your take on GraphQL ORMs (mainly Prisma & Hasura) as far as specific use-cases where one or the other really shines or stumbles? – winter40

As far as I have observed from consulting with companies, the place where Prisma really shines is for mapping existing datasources and getting people up and running with GraphQL at lightning speed! For Hasura, this is the case too, but there's something magical about their realtime usecases. A lot of people love Hasura for subscriptions/realtime stuff and I agree with them!


# Q: How to strike a balance between creating higher quality content and creating content faster? Thanks! 😄 – syncerax

Hahaha, excellent question! I think the best way to keep content consistently good but also consistently coming out is to build small projects and break them down into content that can be repurposed for blogs, talks, videos, in-person workshops, many formats. Trying to set reasonable goals is good too. This varies from person to person, but maybe a once a month blog post that you know you can make happen each month vs. once a week could be a good way to keep things quality and consistent.


# Q: When do you think a junior web developer should begin learning GraphQL? – archiyopp

Anytime! I think learning about the Query Language is good for anyone: developers, managers, anyone who works with data. We teach a free workshop once a month online about it if you ever want to join https://moonhighway.com/graphql/everyone. I just pushed some new dates for September and October!


# Q: What do you think of Hasura? – david

Love it! The creators of Hasura are some of the most genuine and driven people and they're in it for the long term. I don't think there's any danger of that project going away anytime soon, and I know a lot of folks at big companies who are making big bets on Hasura!


# Q: What is your favorite drink and cookie to warm up with after a day on the slopes? – Giles

Welllll if you ever find yourself in Olympic Valley California, I highly recommend the chocolate chip cookies from Wildflour Bakery. They are legendary! Pairs nicely with a nice Northern California IPA! Or hot chocolate! 😂


I think there's a ton of potential for GraphQL to be used for all sorts of awesome things. The plugin ecosystem, we see it used for content platforms like Gatsby, GraphCMS, etc. There's also a ton of exciting stuff about GraphQL being used for the blockchain. Check out The Graph Protocol if you haven't already!

That went so fast! Thanks for being such a great group to spend some time with! Feel free to reach out with any questions anytime - DM me here or eve@moonhighway.com!