Ali Spittel

Transcript from Friday November 19th, 2021

# Q: Hi @aspit! I guess we've all seen the "developer advocate" term thrown around a lot - what exaclty does a developer advocate (at a company?) do? – BTM

Oh that's an awesome question, and I think it differs a lot at different companies. What I do is to try and be the voice of a developer internally. I have my team advocate for different developer personas. For example, I used to be a teacher at a coding bootcamp so I advocate a lot for new developers.

I'm on new products from day one giving advice on what developers would need to see to make the product successful. Then, before launches I do audits of those features to make sure they're something I would personally be very happy to use and would make my life easier as a developer.

Then I share how to use these things with the public, creating content through various platforms, giving talks, etc. And always make sure to take any feedback I get from that to the engineers and PMs building our stuff 🙂


# Q: How do I start learning AWS? – Priyank

A Cloud Guru is my favorite resource for learning Cloud stuff. Egghead.io has great stuff too -- I have another course with them coming out soon!


# Q: How did you learn how to code in JavaScript ? And what are your suggestions on how to learn it efficiently – staticalliam7

I learned JavaScript specifically because I was a backend engineer and our frontend devs kept leaving the company! So I taught myself JS in order to fill in the gaps. My advice would be to build stuff as much as possible -- don't get stuck in the tutorial trap where you're reading/watching stuff and never going beyond that. Challenge yourself to make projects and learn all the steps to build them. Then you have something for your portfolio too!


# Q: How many components does a typical major React website such as Netflix or Facebook have on average? A range such as 100's or 1000's? – Ev1dentSnow

In my experience, thousands or even more than that.


# Q: What was the most difficult thing you’ve had to learn? – kristalshards

C++, it was so hard to do manual memory management!


# Q: Hello Ali! Actually recognize you as a twitter follower. Actually what I'm curious about. How does having an online following affect day to day work? Do you think it has caused more or less scrutiny on your work? – BreadDog

Ooh that's a really interesting question -- I think it changes it -- a lot of people feel like they're entitled to criticize my work even though they only see a tiny % of it. 75% of my job is internal, 25% is external but some people think my job is to tweet or something! But it also allows me to build up awesome connections both with co-workers on different teams and with the general public!


# Q: What do you think best describes the difference between a Library and Framework – Reian Viloria

Oh -

Library: code you can use that someone else wrote that makes it so you don't need to reinvent the wheel

Framework: Makes it so that you have to write your code in a certain structure


# Q: Is the dev advocate sort of a part time side job with social media related stuff or main job where you have your own coding responsibilities? – Spark ✨

I explained above what I do as a developer advocate! I code more as a DA than when I was a senior software engineer though. I build out a lot of demos to test our products and to teach them. So lots of lines of code to do that, it's just different code that doesn't go into production. Much more greenfield code than brownfield.


# Q: Ey thanks for popping by. I've been in the software industry for too long now, and there's always been one looming question. It's not intended rude as I think it's common knowledge at this point but: Why is are AWS interface features and educational materials so bad? I've learned a lot of things throughout my career, and anything touching aws seems to always end up being a headache and a half. Is it a factor of teams being split up? a lack of developer feedback? Rate of change issue? – Austin

I definitely can't answer for AWS as a whole, but I try really hard to make a great developer experience for Amplify for both resources and our interfaces. Please let me know if there's anything from Amplify you're looking for or that we can improve upon, that feedback is wildly valuable to me!


# Q: How much time do you spend on coding per day, and how do you manage your time for maximum productivity? – Hinn

I'm a manager now, so I do write a lot of code but also manage people and do developer advocacy work as well. I would say I probably spend ~2 full days a week coding. I wrote a blog post with my full productivity workflow -- sorry for the plug but there's so much to write here https://welearncode.com/productivity/


# Q: Do you think rust is the future? – xjoe

I'm not sure! I like that it's being used to speed up so much tooling. I'm also really excited for WASM and I know that Rust is a big part of that ecosystem right now as well


# Q: Recommendations for finding a mentor? – Hache

I'm not sure I've ever had an official mentor 🙂 BUT I always learn so much from the community and get so much value from having dozens and dozens of people to learn from.


# Q: What would you recommend to a junior frontend developer who’s been recently hired? – kristalshards

  1. Take notes. I use Obsidian personally to link bits of knowledge to itself.

  2. You only get to be new once. Use that as an advantage. Ask lots of questions, and audit the onboarding process for the next person. If you're on a developer product, then audit the learning process of it. That feedback will be so valuable to your co-workers.

  3. Stay hungry. Keep learning and growing. Especially when you're new to the field.


# Q: How will Amplify and AWS fit into the metaverse – AEM_XR1

HAHA no clue on that one, sorry 🙂 We do have VR libraries though (shameless plug)


# Q: What do you think about Next.js? Would you use it in a production-grade applications? Also, incredibly inspired by you, thanks for many interesting tweets and talks – mic0

I ADORE Next.js -- it's so great. I would for sure use it in production, in fact our docs team is at work! I use it for the majority of my code now. Thank you so much!


# Q: Do you think the rate at which web frameworks come into then lose popularity is slowing down? – lazyb

YUP I was an engineer in 2015/2016 when it seemingly was new hot framework everyweek. Now we've stabilized to a few main contenders, and a huge React pull ahead.


# Q: Do you think we are moving towards serverless in general? – denik1981

YES I love serverless. I spent the first few years of my career manually deploying stuff to servers, and it's so much work and requires so much knowledge. Now I can type up a Lambda Function, push it, and I have a live app I don't need to worrry about nearly instantly.


# Q: What advice you gave to mid-level engineer to accelerate in his career more wisely and timely – ZeeshanKazi

  1. T-shape your knowledge. Be an expert on something, but also have shallow knowledge on a lot of topics.

  2. Know your worth. Switching jobs is okay and is often the easiest way to get promoted.

  3. Keep a "wins" document that logs the awesome stuff you're using. Use that for promos/writing/combating impostor syndrome.


# Q: How to write the most optimal/performace optimized react code? – alixsep

Oh good question -- I'm personally using SSR and SSG a lot so that the pages pre-render. OH also lighthouse tests aren't perfect, but I always run them anyways to just see the lowhanging fruit I can optimize


# Q: Have you tried svelte? – lazyb

Yes! It's really great. I want to use it more. Right now though, when creating educational content so many developers are in the React world, I feel like I can help the most people there.


# Q: What do you think about react native. Will it keep growing or fall due to limitations. Do you think it’s better than making native apps. – tinglyracoon6

Ooh so I am not at all a mobile dev so I don't feel super qualified to answer here, BUT I've been hearing amazing things about Flutter and that community (shameless plug I'm hiring a Flutter dev if anyone's interested)


# Q: How to master react fast? – alixsep

Don't focus on the speed of learning. Focus on incremental progress. But basically build things. Build a lot of things that really challenge you. Maybe a React shopping cart for ex.


# Q: What is your advice to enhance your own skill level? At my team/company I have the best knowledge in web/cloud development and I struggle to enhance my skills – Browork

Teach. I stand by the fact that you have to know something so in-depth in order to explain it thoroughly and simply to someone else. Lead internal workshops or create public-facing content if you want.


# Q: Typescript or dart 😁 – lazyb

TS!


# Q: Have you ever been freelancing? If so, do you have any tips? – mic0

I used to do some freelance work. My big recommendation is to have a page that explains what services you offer and pricing so that if it isn't going to work on either side then you don't need to waste a huge amount of time on calls. Plus know your worth here, especially if it's a side gig. What price do you put on your freetime?


# Q: How to mange Components in a large codebase .Bcz it's been hell even to memorize during work.? Is it any tool out their.Directory structure makes them complex to mange... – ZeeshanKazi

I would get really good at your text editor's search functionality. Memorization is overrated!


# Q: What do you recommend for new programmers who want to learn? I feel like I'm just stumbling around from YouTube tutorial to Youtube tutorial trying to figure it out along the way. – ShrequilleONeal

Sorry to keep sending blog posts but I have a series on moving past tutorials: https://dev.to/aspittel/moving-past-tutorials-8-tips-for-problem-solving-3e0p

Also, on the science of learning: https://welearncode.com/learning-tips/


# Q: Besides coding I also make music. (Hiphop). I wonder if that would hurt my chance for being hired. what should I do? hide it? or no let my music be there? – alixsep

You don't want to work for an employer where you have to hide part of yourself. Don't hide it.


# Q: Any tips for someone young trying to get hired? – fish

Yes! I was 19 when I got my first programming job -- I cold emailed a startup telling them I liked what they did and would love to intern for them (paid). That turned into a full-time job a few months later. Get involved in the community. Build a portfolio. Don't rely super hard on online job apps - as a hiring manager you often get hundreds of applicants.


# Q: Arrow functions or normal functions? – mic0

arrow! I'm an 👵 and was writing JS before ES6 though 🙂


# Q: What would you recommend someone learn who has a good understanding of react. What would you ask them learn next, i.e next steps? – ball_gladder

Ooh a testing framework, how to build component libraries/design systems, maybe data viz -- but it depends on their interests and what they know outside of React


# Q: Hi, I’ve been using React from around version 0.13, so have a massed a lot of components, can you recommend a way to manage and maintain these for use in multiple projects? – 0.5Xer

Build your own component library!


# Q: If you had to say, what are a few of the largest drawbacks to something like AWS Amplify? – Elsewhere

Before this week I would have said the ability to color outside the lines, but we launched CDK integration this week so that's solved! It's an opinionated framework which has a lot of pros, but some cons as well. Build times can take a while, we're working on that but that's one drawback. Also, it's built for frontend/mobile developers, so if you don't fit inside that persona there are other options that may be better.


# Q: What your opinion on Redux? ) – Aleksey Kozin

Used Redux for many years! It's amazing, but I would definitely read articles about why you may not need it first. Now a days there are so many other tools


<a href="#what-are-the-"perfect"-projects-for" name="what-are-the-"perfect"-projects-for"># Q: What are the "perfect" projects for young developers to have in their portfolio to get the job? – Lucas

I like games -- they require a lot of logic. Also complex UIs like shopping carts, table filters, etc. Make yourself do something full stack so you can show that you'll be able to communicate with devs on the other side of the stack.


# Q: I've noticed you've mentioned in your blog profile you're into code art? any starter recommendations? i'd love a new creative outlet. (also have you seen react three fiber? looks crazy cool) – Austin

SO COOL -- I love P5 to start out with, it's really user friendly. I've also done fun interactive stuff for things like offline pages for sites. Always fun.


# Q: Do you think amplify will add support for users to login using a web3 wallet e.g MetaMask? – lazyb

Forwarding on that request to the product team 🙂


# Q: What is your favorite text editor? – Slayer

VS Code! I've been using it for like 5 years at this point, way longer than any other one I've used


# Q: What to expect the first month as a junior dev? – kliff

First, get your computer setup with a dev environment! Then ask your manager for a low hanging fruit ticket. They should give you something early on that will help you learn the code base, but isn't too far outside your comfort zone. Then on to maybe a larger issue 🙂


# Q: What is the biggest issue of modern web development? – Aleksey Kozin

I think pushing the limits of the web. Apps like Figma are doing this with WASM -- there's no way you could build that with normal JS and have it be useable. I'm excited to see what more companies can do in that realm. Building really cool things that are still performant


# Q: I'm a 2 year VueJs dev that started learning React recently. Do you think it's hard to grasp React coming from other frameworks? – Silviu

Yes! A ton of the knowledge from one converts from one to the other. The first is always the hardest.


# Q: Does working on a one-man project actually harm your coding skills? (given there are no code reviews and the scope is a lot smaller than it would be in a real business application) – Jonny

It goes both ways -- I was a one-woman team for parts of my career and it allows you to do everything which is a challenge you don't get in large teams/companies. But yeah it's more difficult to learn/get reviews. I think a balance of both is really good and if you are the only person at a company make sure you're getting involved in the community/have mentors.


# Q: Do you think decentralised systems, like decentralised graph database GUN (https://github.com/amark/gun), have potential to replace Cloud in the future with rise of Web3? – Aky

My former boss Nader Dabit is really into the web3 space. I think it's cool, but there are a lot of issues to resolve.


# Q: What are some examples of junior dev "Task" how much should you know for the position? – kliff

I would say at first, well scoped issues, fixing bugs that are constrained to a small part of an app, features with clear definitions.


# Q: An extension to my last question: What is the best way to get "good" clients as a freelancer? Thanks for your questions, they are incredibly helpful. Take care and stay safe everyone – mic0

Build a brand. Be known as The Person for a small thing. If you have that reputation people are more likely to already trust you on that topic!


# Q: What tips can you give for a junior react developer? 🙂 – Bete

Oh similar to the ones above for jr developers generally, but keep learning. Don't silo yourself to just React, don't build your career on one technology. go beyond that!