• 4 Posts
  • 70 Comments
Joined 3 years ago
cake
Cake day: July 4th, 2023

help-circle

  • I’m starting to think comedians are top of the food chain.

    This is also becoming my perception. In Ty Franck and Wes Chatham’s podcast, Chatham’s general role is that of describing the craftsmanship of acting which is one of his obsessions since childhood. In one episode, Chatham goes into some detail on the challenge of comedy acting. Basically, it’s Jedi Master acting to do it well, and from there all other acting is just a matter of desire to do it.


  • Just… don’t do that?

    This is part of Common Sense

    Kinda. For people like you and me, sure this sense is common. How many normies do you know that have your level of technical paranoia?

    Here’s an outlier example: I recently bought a carded, new micro SD card from the local brick and mortar because urgent reasons that don’t matter for this story. I went to load up the card, and its capacity was only 8MB, rather than 256GB. More than that, it was also loaded with 3 different auto-run malware. I was prepared for something like this (well, not the inconvenience of a counterfeit card). How many here are genuinely prepared to deal with brand new card that came from a trusted retailer with malware? Do YOU genuinely expect malware in this context?

    I think a little empathy and education can go much further than “I’m smarter, just git gud.”









  • Fully agreed. We’ve all had those colleagues, and their lack of deep understanding of memory management propagates up the stack. </bad pun> Can a developer know only managed frameworks and still be good at their job? Absolutely, but in my experience they are the rarity. I think it is tricky to truly understand, say, garbage collection, reference/dereference, etc without understanding direct memory management.

    Extending the driver aid metaphor, features such as ABS, traction control, and lane assist allow good drivers to use their finite attention on quality, rapid decisions. But those good drivers know how to handle the edge cases where the machine fails or is unable to handle the current situation. Managed frameworks are a bucket of super sweet driver aids. There are good reasons why .NET added pointers, because sometimes we need to disable the traction control. Weird COM Interops leap to mind. Sometimes you just need to grab control of that array and be able to do so in memory-safe ways.

    And to throw myself under this bus, could I whiteboard a doubly-linked list in C++ with needed methods? Gawd, no, not in the time allotted to a tech interview. But I could spot the bugs in one in seconds.


  • If you’re looking to network within software development communities, a user group is a good starting point. For example, I am a .NET software engineer, and the Portland Area .NET User Group was instrumental in building out my PacNW professional network. Plus their meetups are generally a fun time.

    Look for API meetups in your area, it doesn’t matter what kind of APIs. Even if you have no interest in API development, API meetups are usually run by Developer Relations (DevRel) engineers. It is the job of DevRels to help software engineers become better and to connect people to resources. Source: used to be a DevRel.

    And even if you live in a small or low-density region, there is probably some kind of computer users, web development, and IT group. Again, even if you’re not exactly interested in those aspects, these people tend to know senior or principal software engineers who can either connect you to resources or directly take you on for mentoring.

    All that said, I frequently say “we are not meant to engineer alone,” however self-motivation is a prerequisite to programming and software engineering. Go to the library and immerse yourself in some books on software development; off the top of my head: “Modern C++ Programming with Test-Driven Development,” Refactoring, Design Patterns, “The Pragmatic Programmer,” “Code Complete,” “The Missing Readme,” “Object Oriented Analysis and Design with Applications.” A lot of these are going to go over your head at first, but just take a look at them.

    Some people will take issue that I suggest learning C++ first, but I’ve been at this a while (34 years). I liken it to learning to drive a manual transmission car with no synchromesh. The difference between a software engineer who understands memory pointers and one who learned only managed languages is always immediately apparent.

    Good luck out there.