Эпизоды
-
Dev and Joel discuss React Miami conference, praising its fun atmosphere and location. They chat about React Server Components, with Dev sharing his experience building a mini framework. They talk about Vinxi, Nitro, and the unjs ecosystem as tools for creating custom frameworks. The conversation touches on Vue's popularity outside web dev circles and non-web dev conferences. They discuss the benefits of TypeScript and strongly-typed APIs. Dev mentions his upcoming talk on durable objects at a conference in Dallas. They end by discussing WebSockets, PartyKit, and platform-specific frameworks.
What's Good?-React Miami Conference
Brenley Dueck's blog post on Simple RSC with Vinxi:VinxiNitrounjs ecosystemSolid StartTanStack Router PartyKit Durable Objects (Cloudflare)Flightcontrol SSTOpenNext -
Alex took spent the last year and a half creating his course, The Ultimate Guide to Understanding DOM Events, at egghead. Finding the time to work on a side-project like this isn't easy, and it requires one to examine their current priorities in life. Do they want to be a rockstar developer? Or do you want to have a lot of free time to spend with your family?
No matter what sacrifices have to be made. But the best way to handle it is to have candid discussions with the people around you who will be affected the most by these sacrifices. Alex worked it out so that he'd work on his course one day a week.
Despite the cost in time, side-projects are important to Alex. He says that he wouldn't be where he is now in his career without them. They enabled him to grow as a software engineer and to learn things that he wouldn't be able to during his day job. Because of this, he was able to get a more complete picture of how all the pieces fit together, which made him a better dev.
So remember, really be careful about what you are committing yourself to when you take on a large project.
ResourcesMaster DOM EventsAlex ReardonTwitterWebsiteTaylor BellTwitterWebsite -
Пропущенные эпизоды?
-
Ryan’s background as a musician taught him many lessons that would eventually apply to his current career. As a musician, he learned about composition, sales, and even programming so he could build his band a website.
Ryan also had an actual sales job where he learned that you can do something so well that you’ll be unable to do it anymore. In sales that meant being good at generating leads which lead to a lot of clients which lead to ceasing to generate leads. But, that eventually lead to you have no clients because you let your stream of leads dry up.
It’s easy to become so narrowly focused on what’s in front of you that you get blindsided by what’s coming down the pipeline 6 months from now.
React changed the front-end landscape. We went from having a mutation-based approach to a functional approach. But, React has made it so easy to write code that we are forgetting our fundamentals. React websites are becoming bloated.
Remix’s goal is to bring back the Web 1.0 ways of doing things that lead to lean, performant websites. It’s Web 1.0 that is progressively enhanced with React and React Router.
“The technology that sticks, and wins, is the technology that can sneak its way into your existing stack because no one wants to rewrite!” Remix is built on this philosophy, allowing you to incrementally incorporate Remix into your existing application.
—-
ResourcesMichael Jackson’s YouTube video on component compositionRemixRyan FlorenceTwitterWebsiteJoel HooksTwitterWebsite -
Perhaps the most important skill that a software developer can have is the ability to ask good questions. Questions will lead to the answers that you actually need. Formulating good questions is key. Often, you'll find that you answered your own question in the process of forming it.
Mentorships are a great learning and growth opportunity but it's important that you respect the person that you desire mentorship from. Don't just take up their time by asking questions regularly without being upfront about the relationship that you are wanting. It's also important that when you do ask your mentor questions that you continue to respect their time by making sure that your question is good and well researched.
Included in the links below are a couple of articles on how you can take your questions game to the next level. Try to read them before asking your next question!
ResourcesStack Overflow - How do I ask a good question?Julia Evans - How to ask a good questionJacky AlcinéTwitterWebsiteJoel HooksTwitterWebsite -
Programming might be the quickest path for someone to start earning six figures. But, it may be a quick path, it is not an easy path. You have to either be having fun or be interested in some way. You have to have some backing motivation that's going to keep you in this.
Many people try to learn to code only to stop. They either decide that they don't want to sit in a chair for eight hours a day for the rest of their life, or they don't think they're smart enough, or somebody's telling them they can't do it. People also get hung up on trying to learn the "right" language or framework instead of choosing something that they actually enjoy.
You should learn whatever keeps you doing it tomorrow.
When Chris played sports he figured out that the only thing that made him good at anything was that he showed up nearly every day. His skills, athleticism, and networking opportunities all came from showing up every day. Your mindset plays a significant role in everything you do and you need to pay attention to it, if you don't, then you're not going to do as well as you could have.
Chris BiscardiTwitterGithubWebsiteLinkedInJoel HooksTwitterWebsite -
Getting a job as a web developer right out of the gate isn't easy. People often face rejection after rejection. But, you don't have to take the "front-door" to get a developer position. You can also take the "back-door" by taking a developer-adjacent role like a support engineer and then work to become a developer in the company.
There are many disciplines and technologies for you to choose to learn. There is always the question of do you become really good in one area, or do you become more of a generalist? You can be successful as a generalist or a specialist. Founders often have to be generalists since they have to figure out how to manage the trade-offs of choices in multiple disciplines. At the same time, specialists can be successful since people will seek you out for your expertise.
It doesn't matter if you choose to generalize or specialize. You have to build a reputation in order to fully realize your potential success. Programming is a special industry when it comes to making a name for yourself. You can build your own reputation and network much more freely than in any other industry that Shawn knows about, which is good for you long-term.
Once you've established a reputation, it's not uncommon for people to ask you to mentor them. An ongoing one-on-one mentor/mentee relationship isn't often the most efficient use of your time. You could be broadcasting what you know to a wider audience—Shawn advocates for a "project-based" mentorship style where the mentorship is not uncapped. You engage with them on their thing. You meet together, let your minds meld together for a while, and then you part ways
ResourcesAntifragileFree Code CampHacker101fast.aiShawn WangTwitterWebsiteegghead.ioJoel HooksTwitterWebsite -
Epic React is Kent's attempt at making the biggest impact on the world. It's Kent's philosophy that he can have a much larger impact by teaching other people to write excellent software instead of just doing it himself.
Epic React has been in the making for a long time. Its methods are much more thought out than your average course. You can't just throw it on your Chromecast and 2x your way through all of the videos. You have to put in the work. Kent uses the proven methods from the book "Make It Stick" which have you trying to solve the problems yourself first before Kent provides his instruction.
Epic React has 350 videos. How did Kent even begin to climb that hill? Kent didn't think Epic React would be as epic as it is today when he started. When he started thinking about doing Epic React, he thought it'd be like Testing JavaScript. He made Testing Node for the Testing JavaScript relaunch and he used a workshop format instead of the egghead style and it was a big success. So he decided to do the same thing, but for React.
Having a team also made a huge difference. A lot of people do this themselves but Kent worked with a production team. There are so many advantages. Lots of instructors struggle with all the extra stuff you have to do when selling content that isn't creating the content. The production team let Kent focus on the content and the hype. Kent did not want to deal with editing, support, payments, design, or copy. He wants to take knowledge from his head and put it into other people's heads.
What's the next Epic Journey for Kent? He likes the idea of updating stuff. He plans on continuing to update Testing JavaScript. Kent also has a laundry list of ideas for future Epic React content!
Epic ReactEpic ReactJoin the Discord!CreditsKent C. DoddsTesting JavaScriptkentcdodds.comTwitterGithubJoel HooksTwitterWebsite -
Tomasz highly recommends companies hire interns and train them because you can get some amazing engineers that you know are going to fit the company's needs. Another great advantage of training interns is that it levels up the senior engineers by giving them mentoring experience!
But, what really is a senior engineer? Basically, a senior engineer isn't a person who programs more, faster, or better. They're a person who makes others better at what they do and a person who can solve problems.
So how do you advance your career? Tomasz says that speaking at conferences had a major impact on his career. He strongly recommends that if somebody wants to start talking at conferences, to start at local meetups because one, you will get experience, and two, they're always looking for speakers.
Transcript"What is a Senior Engineer with Tomasz Łakomy" Transcript
Tomasz ŁakomyTwitterGithubDev.toWebsiteJoel HooksTwitterWebsite -
Shirley Wu is a freelance data visualization expert. Data visualization, at its core, is when you take lots of data, and it's hard for you to look in Excel. You visualize that into some graph or chart, and the most simple could be a bar chart or some graph so that you can understand trends within it easier.
In data visualization, there is an entire spectrum of approaches you can take with a dataset. You have to decide on the balance between art and the data. With clients, choosing where in that spectrum is asking yourself, "What do I want for the end-user to experience?" The difference between a purely artistic piece and a visualization is that with data visualization, there's a goal to it. You're taking data, and you're trying to communicate something, or you're trying to build a tool to help people explore that data.
Transcript"How Shirley Wu Built A Career As A Freelance Data Visualizer" Transcript
ResourcesData Visualization SocietyData Stories Podcastscrollama.jsGreenSockShirley WuTwitterGithubYouTubeWebsiteMediumLinkedInFrontend MastersJoel HooksTwitterWebsite -
"Indie Hacker" - An entrepreneur that is working to gain some form of independence.
Courtland Allen is the founder of indiehackers.com. He didn't take the venture capital approach. He just wanted to make enough money to support what he was trying to do. Courtland was trying to build a community of indie hackers who would share their stories, help each other, and support one another.
You can't force community growth. It takes good content, time, and consistency. At first, Courtland would make good content and share it with his mailing list, and he'd also make fake accounts and have discussions with himself on the indie hackers forum to try and spark real interactions. The efforts paid off. Over a year, a real community blossomed.
It's tempting to rely on your intuition when you are first starting as an indie hacker. But, Courtland encourages you to take a more thoughtful approach by relying more on the experiences of others. Over time you'll develop wisdom.
You can go too far, though. If you spend too much time preparing and learning, you'll realize how much you don't know, and it can be crippling. In Courtland's interviews with indie hackers, the most common advice people have is to go for it! Be okay with experiencing failures and starting over.
Transcript"How Courtland Allen Found Freedom with Content, Consistency, and Community" Transcript
ResourcesIndie HackersHacker NewsNomad ListstratecheryOwn goalsDiscourseCourtland AllenTwitterLinkedInJoel HooksTwitterWebsite -
Rosie Sherry is both an unschooling parent and the founder of the Ministry Of Testing. There's a disproportionate number of bootstrappers who homeschool their kids, and maybe it's for the same reason why they built something themself instead of fitting into the mold, they think they can do it better.
Ministry of Testing is a company Rosie founded, officially as an online community in 2007, but then formally as a business in 2011. It's a community of software testers who geek out on testing, host conferences, have online talks, host trainings, and participate in an online community.
You can't fake a community like that. You can growth hack numbers, members, et cetera. But, you can't fake community. A strong community has to have people who care, that's what it generally comes down to. The people who lead it have to care, show that they care, and care about the industry as a whole.
Transcript"Real Community Can't Be Faked With Rosie Sherry" Transcript
ResourcesMinistry Of TestingIndie HackersRosie SherryTwitterWebsiteJoel HooksTwitterWebsite -
Design systems are your component library, documentation, tools, et cetera. And then there are the operations of it. So like an agile team uses agile methodology, a design system is about making your teams work better.
After Bootstrap, we all ended up building our own Bootstraps. We all like to think that we're special and the problems we're solving are specific to our company, but the reality is the way that your system is built is probably not that special. It's the way that your system is used that's special.
Everybody should be able to access your products, and you can't just make a bunch of accessible components, you have to give your users guidelines on how to use them. Sarah says that accessibility should be considered in every step of development.
Transcript"Accessible Design Systems With Sarah Federman" Transcript
ResourcesDistilling How We Think About Design SystemsSarah FedermanTwitterWebsiteJoel HooksTwitterWebsite -
Segun Adebayo was turned off of web development after struggling with Wordpress' themes and plugins, and so he went straight into UI design entirely using Sketch and Figma for quite some time. It was React that brought him back into the development fold. The way React made it so easy to create components stuck with him.
Segun is still a designer at heart, but his skillset goes beyond design. If he calls himself a designer, it limits what people want from him. By calling himself, a UX Engineer Segun can create higher expectations of his skills, and people come to him for a broader range of problems.
One of the key reasons Segun started his side-project, Chakra UI, was to learn. One of his fundamental values is learning in public. Chakra UI is a passion project for Segun. It breaks his heart that most applications aren't accessible. Accessibility is one of the three core principles of Chakra UI along with composition, and being easy to style. Accessibility was one of the other key reasons for Segun starting Chakra UI. He wanted to create a design system that would make it easier for other developers to make the web accessible.
Transcript"Why Segun Adebayo Calls Himself A UX Engineer Instead Of A Designer" Transcript
ResourcesReact TrainingDesign For DevelopersRefactoring UIChakra UISegun AdebayoTwitterJoel HooksTwitterWebsite -
T7 Chicken was where it all began with Nick's journey into development. Nick had no development experience. Still, he wasn't satisfied with the websites and apps available for Tekken framerate data, so he took it upon himself to learn Android development to create his mobile app.
Nick had the support of the Tekken community and received programming help from people online. Projects like these are so crucial for rapidly growing as a developer, and you won't get the same experience at work. It's making something you need for your community. It's also a place where you are free to experiment with new technologies.
Most of us wouldn't be where we are today in our careers without the help of the online programming community. Nick gives back through his work as a mentor at the Resilient Coders bootcamp.
Resilient Coders is different from most bootcamps. They pay their students to learn to code! They are a non-profit and rely on donations from generous individuals and companies to operate. Paying their students allows them to be truly inclusive by providing an opportunity for people who don't have the privilege of being able to survive without some form of income.
Transcript"Why do you do it? With Nick DeJesus" Transcript
ResourcesResilient CodersT7 Chicken TwitteriOS: T7 ChickenAndroid: T7 ChickenApprenticeship Patterns: Guidance for the Aspiring Software CraftsmanNick DeJesusTwitterWebsiteJoel HooksTwitterWebsite -
Monica Powell didn't have the most straightforward path to her first job as a developer. She took a couple of years of graphic design in college, took a computer science class, joined a student-led web development agency, and then joined a tech startup where she did email marketing and development. At that point, Monica knew that she wanted to be a developer, but she knew too much to attend a boot camp and not enough to get a job. So, she took classes, landed an internship, and then eventually got hired as a web developer.
Meetups were an important part of Monica's development. When she was in college, she'd attend meet up events to get an opportunity to get off campus and see how people are using technology. She gravitates to women in tech events since she's always found those events to be safe places for her to learn new technologies and meet other people. As of November 2018, Monica is now organizing a meetup called "React Ladies" in NYC!
Contributing to open-source was also important for Monica. Open-source de-mystifies the software that you use. You can look through the source-code of any package that you're using in your project. There's also plenty of opportunities to contribute, and it doesn't have to be code, many projects need contributions to their documentation as well.
Transcript"Personal Growth From Open-Source And Meetups With Monica Powell" Transcript
Resourcesaprilzero.comReact Ladies MeetupCode NewbieReact Conf 2019ToastmastersWrite/Speak/CodeGlobal Diversity CFP DayMonica PowellTwitterGithubDev.toWebsiteMediumLinkedInJoel HooksTwitterWebsite -
At first, React looked like it might have been a fad, and JSX seemed weird. But, it didn't take long for people to see the power and beauty of it. React makes reuse easy, which makes accessibility a lot easier.
Every time you needed an input, you had to remember all of the accessibility attributes and write it all by hand. With React, you can make a reusable input with all of the accessibility built-in.
You must make your components accessible. There's a broader range of people who need accessible features than you might think. Most of us think of people with visual impairments, but they're also for people with cognitive, auditory, and motor skills issues.
We also don't think about the temporary issues that nearly everyone faces at some point in their lives, such as broken limbs, and medication side-effects. Accessibility features are even helpful under certain environmental conditions like exceptionally bright or noisy places. Even internationalization can be seen as an accessibility issue if your site isn't supporting all languages and localizing all dates. Accessibility is very multifaceted.
Try taking a test-driven approach when it comes to accessibility. Start with the low hanging fruit, static code analysis, and running a scan with a browser plugin. Then try to use your app with accessibility tools yourself, figure out how you can make it a better experience for your users. Finally, have real people with various disabilities test out your app and give you feedback.
Transcript"Test Driven Accessibility with Erin Doyle" Transcript
ResourcesAria in HTMLFirefox: Axe Developer ToolsChrome: Axe Developer ToolsChrome: LighthouseErin DoyleTwitterGithubJoel HooksTwitterWebsite -
D3.js is the defacto library that people use to create custom data visualizations on the web today. It's powerful and flexible. You can do whatever you want with it. However, that kind of power and flexibility comes at the cost of complexity. You have to know what you're doing, and it takes a long time to learn.
There's existing content written on D3, but there's always room for another voice. With the help of Newline, Amelia wrote the book of over 600 pages, Fullstack D3 and Data Visualization. In this book, she teaches all the theory and application you need to know to make badass visualizations using D3.
Amelia also takes the unique approach of having you use your own dataset! Data that means something to you is going to be much more interesting than anything that could be provided.
As a React developer, Amelia wrote the excellent blog post Thinking in React Hooks. She says that you have to make a paradigm shift with hooks. You can't keep thinking about your components in terms of lifecycle, but instead, think about them in terms of data synchronization.
Transcript"Writing The Book On Data Visualization With Amelia Wattenberger" Transcript
ResourcesFullstack D3 and Data VisualizationThe Visual Display of Quantitative Information by Edward TufteThinking in React HooksAmelia WattenbergerTwitterWebsiteJoel HooksTwitterWebsite -
Hiro started coding HTML and CSS back in middle school so she could make internet friends and talk about anime. She never thought of coding as anything more than a hobby, and she stopped when she began college. She got her master's in special education, but due to a traumatic injury, she had to make a career pivot.
She got a job as a helpdesk engineer and eventually worked her to a sysadmin position at a startup. Hiro quit the comfortable sysadmin job. She asked herself if ten years from now, if she'd be proud that she stuck with the company for another six months. The answer was no. Hiro quit her job to focus full-time on teaching technology.
It was a huge leap, and yet again, she was in unfamiliar territory, but she's been able to find success. Hiro has released four intro-level AWS courses for non-engineers on LinkedIn, writes independent articles, and gets paid to write blog posts for small business owners.
You don't have to be a specialist to find success. Yes, the world needs people who can go all-in on something and produce fantastic work, but it also needs people who can bridge the gaps and solve problems with the breadth of their experiences.
Transcript"Making A Fufilling Career Out Of Multiple Interests With Hiro Nishimura" Transcript
ResourcesAWS Newbies
Hiro Nishimura
Stripe AtlasTwitter
Joel Hooks
Website
LinkedInTwitter
Website -
Khalal's first language was Java, he learned his it in school. He didn't like coding in school because all they did was learn algorithms and data structures. How many people have completely turned away from this amazing career where you get to build cool things like dad jokes in text messages simply because classes get structured around data structures, algorithms, and Java?
New coders should take a step back before jumping straight to a Bootcamp. Take time to learn on your own to make sure this is what you want to do or what you want to invest in. You'll still be doing a lot of self-lead learning anyway when attending a Bootcamp.
Try to find people who went to the Bootcamp. Don't look on websites like Course Report where almost every Bootcamp is five stars. Get on LinkedIn and find developers who graduated the Bootcamp and talk to them, you'll get honest insights.
ISAs are the only option for most people to attend Bootcamps. You have to be coming from a place of privilege to pay the 18-20 thousand dollars upfront. So instead they'll take 20% of your income for two years. You get a job for $100,000, and now, you have an $18,000 Bootcamp that just went up to $50,000. You got $50,000 worth of debt in 13 weeks. That's what people may get after a year or two of college, or three or four depending on where you go.
Transcript"Get Comfortable Learning On Your Own With Khalal Walker" Transcript
QuotesJoel:
"what sort of habits have you developed or you think are important if you want to break into this field, and do it and kind of in a sustainable way?"
Khalal:
"You literally just can't give up or quit. And that sounds like the most cliche thing ever. But it's literally so important, because you're going to hit walls. You're going to struggle. I think, the biggest thing with being a developer is just banging your head against your keyboard for eight hours of the day. And the last hour, you just see the light and you just keep finding different ways until something works."
Khalal:
"So, I take that with learning how to code. In the beginning, you're going to mess up on syntax. You're going to forget a semi-colon. You're going to miss a quote. And some of these things may really, really bother you. But if you keep at it, these things will become second nature. And then, you'll have new struggles. Because when you have new successes, you move on to new problems."
Khalal:
"And so, as long as you know that in this industry, it's always... Things are going to get easier, but you're always going to be learning something new. You're always going to be learning. You're always going to be growing and you just have to have the willingness to take on that challenge every single day."
Khalal WalkerTwitterWebsiteGithubJoel HooksTwitterWebsite -
Making technical decisions for your business when you don't have experience as a developer is difficult. It's scary to make decisions that you don't know the consequences of.
Tracy got into development when at one point she had the freetime to take an HTML, CSS, JavaScript course online. Becoming a developer taught Tracy the importance of grouping her meetings so she could have uninterrupted blocks of time to get work done. Before, she didn't realize the impact that breaking people's flow had.
A lot of people are trying to become developers. One of the more common routes now is attending a bootcamp. But be careful, not all bootcamps are equal. Graduates from some bootcamps struggle a lot harder in the hiring process than others. Make sure that you do your research and talk to people who graduated from the program.
Transcript"Out With The 10x Developer And In With The 10x Mentor With Tracy Lee" Transcript
Quotes"I feel like if you're not technical, it's almost like you're scared to make the decision"
". . . I group together all my meetings, because I used to be like, 'Oh, co-founder, you're not in a meeting. Oh, he's probably bored. Oh, he's not involved.' Like, my god, I was just killing his productivity the entire time."
"You should be really promoting the idea of a 10x mentor. So, helping everybody within an organization, within a development organization, should be helping facilitate each other to be successful."
"But unless you keep doing the same thing, the thing over and over and over again, and getting really good at it, then you're never going to actually grow"
". . . do your research and find people that have gone to the bootcamp, and ask them directly what their experience was"
ResourcesThinking in Systems: A PrimerThe Hard Thing About Hard Things: Building a Business When There Are No Easy AnswersTracy LeeTwitterGithubWebsiteJoel HooksTwitterWebsite - Показать больше