Sign in to view G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘’s full profile
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
Ann Arbor, Michigan, United States
Contact Info
Sign in to view G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘’s full profile
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
541 followers
500+ connections
Sign in to view G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘’s full profile
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
View mutual connections with G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
View mutual connections with G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
Sign in to view G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘’s full profile
Welcome back
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
or
New to LinkedIn? Join now
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
View G̸̬̪͝ę̵̼̂͝o̵̡͒̂r̷͓̊g̶̨̥̍ę̴̗͘’s full profile
Sign in
Stay updated on your professional world
By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.
New to LinkedIn? Join now
Explore more posts
-
Luke Mueller
So that's theVercel/Next.js flavor of React.... Looks like you have to contend with new debugging patterns that aren't covered in this course - you're no longer looking at json payloads in the request/response, so what is the approach (or am i wrong)? Is the network tab in dev tools just worthless now with these frameworks just shuttling js payloads back and forth in their proprietary(?) formats? I was thinking this would be a selling point over blazor/webassembly, but apparently not. I feel like a dinosaur hanging onto the simplicity of JSON REST APIs. Suggested reading?
-
Ben Nadel
As I'm getting back into #Angular, I'm remembering how much my brain has trouble working with RxJS Streams. But, it just occurred to me, I don't actually have to use their HttpClient module—I can use my own fetch client. All I want is Promises and AbortControllers. This is not a slight against RxJS—I know that many people are intensely in love with it. But my brain just can't deal. Resolves and rejections for HTTP requests, that's what my brain can understand. RxJS feels like more abstraction than I can handle. Maybe it has something to do with my Aphantasia.
56 Comments -
Alvin Crespo 👨💻
ruby-lsp is a solid extension to use with vscode. I spent some time today with it debugging a couple of complex issues and I was able to dig deep into our dependency tree easily without having to manually search for things. Definitely give it a shot if you're using #ruby #rubyonrails.
1 -
🦄 Chad S.
I've been doing a bit of serious Angular development lately. That also means I've been writing a ton of Angular unit tests. I'm sharing how I set up unit tests when I have a few dependencies in the Component. When I need to test a logic, or smart, component with some display, or dumb, components as dependencies, I create a Stub Component to substitute. That means I make a minimal component with the same selector that I can substitute for the actual code. Lines 1-8 are the Stub for this example. Nothing fancy. How do I tell Angular's Testbed that I need to substitute parts for the test? Take a look at lines 26-36. I use the `overrideComponent()` of the `Testbed` to remove parts of the component's setup and replace them with the Stub. Usually, I don't have use cases to reuse these stubbed components over and over. I include the Stub at the top of the test file. If you do want to create a Stub that you reuse in multiple tests, be sure to exclude that file from your build. #angular #unittesting
21 Comment -
Chris R. Larson
Developer downtime: don’t overwork your devs. It’s memorial weekend and I’m lazily sitting on my porch. My kids keep coming in and out of the house, but get stuck because the sliding door keeps coming off the rails and won’t open. Well, since I’ve got nothing else scheduled for the afternoon I investigate the issue. Turns out sliding doors have a bunch of adjustment screws. I adjust them till the door slides smooth. Left in the broken state my kids learned to hit top left side of the door before opening it. Bringing this back to work, I know customer success teams that have a cheat sheet of these maneuvers. Give devs space to observe, we naturally fix these issues.
151 Comment -
Steven York
Woah there, "hiring juniors is about making your entire team better" is exactly the kind of unhelpful, oversimplified headline that needs an A4 sheet of caveats adding. Juniors are a massive investment and the suggestion that simply hiring them will make the team stronger is not right at all. Processes that support the career development of more junior engineers aren't accidental byproducts, they're deliberate. Senior engineers need to be provided the time, headspace, training and support to coach, mentor and develop their more junior colleagues. You know what doesn't work? Hiring juniors into overstretched/under-resourced teams where the seniors are overcommitted and under pressure to meet aggressive deadlines. And I've seen this more times than I care to mention. In the scenario where you've got small teams that are under pressure, and the existing engineers don't have time or headspace to coach someone junior, you are *always* better hiring another senior. Someone who reaches autonomy faster will always be better in that situation. If you hire a junior into that team you won't get better code reviews, more innovation or a richer culture of learning. You'll end up with an under-developed junior who struggles to progress their career, and some seniors who feel like they're doing the junior a disservice by being unable to support them properly. It's horrible. And I've been there. Were we all juniors once? Yep. Should *every* team hire juniors? Absolutely not.
4 -
David Shevitz
I once asked a lead engineer on Angular: Which is better: Angular or React? His response: "Both require good engineering to be effective." So, my developer friends, consider this a reminder that "frameworks" like Diátaxis are fine, but they still require good engineering--such as UX, information architecture, style, maintenance processes, and so on--to create great documentation experiences for your customers. Alas, the framework alone isn't enough.
247 Comments -
Jerry Jeon
One common question I get is, "What do you do as a Developer Advocate?" or "What does the Developer Experience team do?" (Even within Sendbird, haha 😂) The answer varies because the role of a Developer Advocate differs across companies. But I can clearly share what we do at Sendbird! And one great way to show this is by highlighting what we've accomplished!! Here's a recap of what we've done over the last three months. Huge thanks to the team! 🙌 (Jane Lee Katherine Na Yeon Kim Mansoo Kim Sunghyuk Kim Mickey C.) ======= 🚀 Dogfooding Session: We conducted an internal session for Sendbird Business Messaging, simulating a customer use case to improve our onboarding experience. 🎥 YouTube Videos: Released 5 videos covering AI Chatbot features to help users get started quickly. 📝 Feedback Channel: Actively collected and addressed feedback to enhance our documentation. 🤖 Interactive Demos: Built targeted demos for AI Chatbot in E-commerce, Healthcare, and Online Banking. 📚 Documentation Revamp: Improved our "Getting Started" guides, resulting in increased user engagement. For the full story, check out my Medium post: https://lnkd.in/gt-HGnER Looking forward to what we'll achieve next! 🙌 And one thing more, we're hiring a Technical Writer(https://lnkd.in/gFM4R9Wh), Please feel free to contact me if you are interested in this role! Also, if you're interested in becoming a Developer Advocate, don't hesitate to reach out!
532 Comments -
Jonathan Yu
This post is a masterclass in how to communicate significant changes to users. 1. Provide a reasonable amount of advance notice: This post was published on May 15th for a change coming in July 15th, giving users 60 days to migrate. 2. Summarize the pending change: "We’re making changes to the static, git, and BusyBox Chainguard Developer Images to improve the security posture of these Images. For most users, these changes will have no effect and require no changes." 3. Summarize the technical details of the change and future plans: "The change we are making is to move these images from an Alpine Linux base to a Wolfi base on July 15, 2024. Going forward, all images on cgr.dev will be Wolfi-based." 4. Indicate how to test the change: tables summarizing the old image names, as well as a new image name that will be replacing it. 5. Provide more information about the context of the change for those curious to learn more: "When we first started building Chainguard Images, we experimented with Alpine Linux as a base, before developing our own Wolfi Linux distribution. We now have over 650 images available in our Images Directory and nearly all of them are based on Wolfi. Providing a consistent experience for our users that is built on Wolfi is our priority going forward." 6. Share a way for customers and users to get in touch if they have questions or concerns: "If you are an existing Chainguard Images customer and believe you are impacted by these changes, please reach out to Chainguard Support. If you are a free Developer tier user, please open an issue on the images repository if you run into problems migrating. We offer Migration Guides on Chainguard Academy that include an Alpine compatibility reference for migrating to Wolfi." https://lnkd.in/g-dbbSCH by Adrian Mouat via Chainguard
193 Comments -
Sardar Nawab Khan
Not sure why the Vue community was and (pretty much) is, scared of the composition API. I was too, to be honest. But I have loved it for the past few weeks as I use it more and more. If you are still hanging in limbo, there is a great series on Laracasts by the great Jeffery Way, himself. There are also a couple of free courses on Vue School for Vue3 composition API. You should be up and running in 2-3 days if you have used Vue 2 in the past. #vue #vue3 #compositionapi
258 Comments -
Dan Rosenstark
Anybody who is going through code interviews knows to manually test and find bugs. The fundamental problem is to KEEP YOUR SH*T TOGETHER when you find a bug. Don't overindex on the exciting joy/embarrassment of finding the bug. In fact, if you've found one, there are likely more. Keep a cool head, reset yourself emotionally, and start your testing FROM SCRATCH and find them. And most importantly... keep it cool. #codinginterviews #coding #crackTheCodingInterview
3
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More