<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Phillip Fleischer</title>
    <description>The latest articles on Forem by Phillip Fleischer (@pcfleischer).</description>
    <link>https://forem.com/pcfleischer</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F351854%2F518f1b4f-6f41-4382-bc24-144c7c3db738.jpeg</url>
      <title>Forem: Phillip Fleischer</title>
      <link>https://forem.com/pcfleischer</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/pcfleischer"/>
    <language>en</language>
    <item>
      <title>My Thanksgiving Recipes</title>
      <dc:creator>Phillip Fleischer</dc:creator>
      <pubDate>Thu, 26 Nov 2020 10:35:46 +0000</pubDate>
      <link>https://forem.com/pcfleischer/worlds-best-stuffing-4ano</link>
      <guid>https://forem.com/pcfleischer/worlds-best-stuffing-4ano</guid>
      <description>&lt;h1&gt;
  
  
  Thanksgiving Dinner Recipe
&lt;/h1&gt;

&lt;p&gt;It's easy to make a lot of mistakes or overdo it for thanksgiving. I've prepared this thanksgiving dinner many times and find it's the best combination of balance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Grocery List
&lt;/h2&gt;

&lt;p&gt;First buy all the stuff, usually do this in two trips, first get the turkey out of the way and then swoop in and get the rest.&lt;/p&gt;

&lt;h3&gt;
  
  
  Poultry &amp;amp; Meat
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 turkey (20 lbs, or size of your choice - plan 1-1.5 lbs per person)&lt;/li&gt;
&lt;li&gt;12 oz brown &amp;amp; serve sausage (~2 boxes)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Produce
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;3 heads garlic (2 for brine, 1 for turkey/aromatics, plus 4 cloves for rub)&lt;/li&gt;
&lt;li&gt;2 bunches fresh thyme (1 for brine, 1 for rub)&lt;/li&gt;
&lt;li&gt;Fresh sage (1 small bunch for rub)&lt;/li&gt;
&lt;li&gt;Fresh rosemary (1 small bunch for rub)&lt;/li&gt;
&lt;li&gt;2 medium onions (1 for stuffing, 1 for optional aromatics)&lt;/li&gt;
&lt;li&gt;8 oz mushrooms&lt;/li&gt;
&lt;li&gt;1 bunch celery (need ~1 cup chopped for stuffing, plus extra for aromatics)&lt;/li&gt;
&lt;li&gt;2 carrots (for optional aromatics)&lt;/li&gt;
&lt;li&gt;1 lemon (for optional aromatics)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Dairy &amp;amp; Refrigerated
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Butter (3 sticks total: 2 for softening, 1/4 cup melted, plus extra for sautéing)&lt;/li&gt;
&lt;li&gt;1 cup sour cream&lt;/li&gt;
&lt;li&gt;1/2 cup milk&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pantry - Canned &amp;amp; Boxed Goods
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 can (14.5 oz) corn, drained&lt;/li&gt;
&lt;li&gt;1 can (14.5 oz) creamed corn&lt;/li&gt;
&lt;li&gt;2 cans (14.5 oz each) green beans&lt;/li&gt;
&lt;li&gt;1 can (10.5 oz) cream of mushroom soup&lt;/li&gt;
&lt;li&gt;6 oz package Uncle Ben's Long Grain &amp;amp; Wild Rice&lt;/li&gt;
&lt;li&gt;1 box Jiffy Corn Muffin mix&lt;/li&gt;
&lt;li&gt;1 box (3 cups) Pepperidge Farm seasoned croutons&lt;/li&gt;
&lt;li&gt;2 cups Snyder's hard pretzels&lt;/li&gt;
&lt;li&gt;1 cup French fried onions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pantry - Spices &amp;amp; Seasonings
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1/2 cup kosher salt&lt;/li&gt;
&lt;li&gt;1/2 cup dark brown sugar&lt;/li&gt;
&lt;li&gt;1 tablespoon dried red pepper flakes&lt;/li&gt;
&lt;li&gt;1 tablespoon dried sage&lt;/li&gt;
&lt;li&gt;Salt (for cooking and seasoning)&lt;/li&gt;
&lt;li&gt;Black pepper&lt;/li&gt;
&lt;li&gt;Celery seed&lt;/li&gt;
&lt;li&gt;Sage (ground or preferred turkey seasoning)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Liquids &amp;amp; Stocks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 cup dry white wine&lt;/li&gt;
&lt;li&gt;1 cup chicken or turkey stock&lt;/li&gt;
&lt;li&gt;1 tablespoon roasted chicken base (Better Than Bouillon)&lt;/li&gt;
&lt;li&gt;1 tablespoon cornstarch&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Equipment &amp;amp; Supplies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Turkey brine bag (or roasting bag)&lt;/li&gt;
&lt;li&gt;Clean cooler (for brining)&lt;/li&gt;
&lt;li&gt;2 square yards unbleached cotton cheesecloth&lt;/li&gt;
&lt;li&gt;Roasting pan with rack&lt;/li&gt;
&lt;li&gt;Meat thermometer&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Notes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Don't forget to start defrosting your turkey the Friday before Thanksgiving!&lt;/li&gt;
&lt;li&gt;Remember to take out butter to soften the night before Wednesday prep&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Turkey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Planning Your Turkey
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are cooking a frozen turkey set your calendar the week &lt;strong&gt;before&lt;/strong&gt; thanksgiving to plan your defrost or you will inevitably going to screw it up. - Me&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Many people will argue over fresh vs. frozen. In my opinion, frozen is easier to find at more affordable prices with very little compromise in flavor (as long as you prepare it properly).&lt;/p&gt;

&lt;h3&gt;
  
  
  Defrosting
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Fresh Turkey:&lt;/strong&gt; If you have fresh turkey at your disposal or you forgot to get your turkey ahead of time allowing a week, go fresh.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forgotten Frozen Turkey:&lt;/strong&gt; If you have a frozen turkey but forgot to defrost it, may the turkey gods have mercy on your soul. Expediting the defrost with water or microwave is possible but a HUGE pain. This is the point where I suggest you start googling frantically. Sorry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Planned Defrost:&lt;/strong&gt; If you have time to plan the defrost, the recommended method is to defrost in a fridge in the original wrapper 1 day for every 5 lbs. However, I just plain disagree with these timings. First, I have never had a turkey be fully defrosted with this time ratio. Second, thawed turkey can last up to two days (and really probably even longer). Third, don't count the last day cause you're going to be prepping and cooking it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thus...&lt;/strong&gt; I recommend 1 day per five pounds plus an extra two days (includes thanksgiving day).&lt;/p&gt;

&lt;p&gt;I typically get a 20 lb turkey so that's 4 days plus my additional 2, so I move the turkey to the fridge the Friday before Thanksgiving. If you want to check on it, you can, but it will seem pretty darn frozen up until the final day.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wednesday Before Thanksgiving: Brine
&lt;/h3&gt;

&lt;p&gt;Ok, it's Wednesday before thanksgiving, game time! Have your equipment ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANT: MAKE SURE TO TAKE OUT A COUPLE STICKS OF BUTTER THE NIGHT BEFORE TO SOFTEN!&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Brine Equipment
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Turkey brine bag (or roasting bag)&lt;/li&gt;
&lt;li&gt;Clean cooler&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Brine Ingredients
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;16 cups water, divided&lt;/li&gt;
&lt;li&gt;1/2 cup kosher salt&lt;/li&gt;
&lt;li&gt;1/2 cup dark brown sugar&lt;/li&gt;
&lt;li&gt;1 tablespoon dried red pepper flakes&lt;/li&gt;
&lt;li&gt;1 tablespoon dried sage&lt;/li&gt;
&lt;li&gt;1 bunch fresh thyme&lt;/li&gt;
&lt;li&gt;2 heads garlic, sliced in half&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Brine Instructions
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Combine ingredients in the turkey brine bag&lt;/li&gt;
&lt;li&gt;Place turkey in brine bag and seal&lt;/li&gt;
&lt;li&gt;Place in cooler and refrigerate until Thanksgiving Day&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Stuffing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stuffing Ingredients
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;6 oz package Uncle Ben's Long Grain &amp;amp; Wild Rice&lt;/li&gt;
&lt;li&gt;8 oz mushrooms, sliced&lt;/li&gt;
&lt;li&gt;1 medium onion, chopped&lt;/li&gt;
&lt;li&gt;1 cup celery, chopped&lt;/li&gt;
&lt;li&gt;12 oz brown &amp;amp; serve sausage, cut into 1" pieces and browned (~2 boxes)&lt;/li&gt;
&lt;li&gt;2 cups Snyder's hard pretzels, broken into pieces&lt;/li&gt;
&lt;li&gt;3 cups Pepperidge Farm seasoned croutons (~1 box)&lt;/li&gt;
&lt;li&gt;Butter for sautéing&lt;/li&gt;
&lt;li&gt;Seasonings: salt, celery seed, pepper, and sage&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stuffing Instructions
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Step 1: Mise en Place
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Sauté the brown and serve sausage in a medium to large sauté pan&lt;/li&gt;
&lt;li&gt;Meanwhile, chop onion and place in small bowl&lt;/li&gt;
&lt;li&gt;Chop celery and place in very large bowl&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 2: Cook the Stuff
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Prepare rice according to package instructions (usually calls for 25 minutes in medium sauce pan)&lt;/li&gt;
&lt;li&gt;Meanwhile, in a separate pan (same pan as the sausage) on medium/high heat, start with 1 tbsp butter (or more)&lt;/li&gt;
&lt;li&gt;Sauté onions first till clear, then add mushrooms&lt;/li&gt;
&lt;li&gt;Continue on medium/high heat till both are tender and somewhat brown&lt;/li&gt;
&lt;li&gt;While this is all cooking, add or prepare and combine remaining ingredients (croutons, pretzels) in the very large bowl&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 3: Season Me Baby
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Add the rice and the sauté mixture to the very large bowl&lt;/li&gt;
&lt;li&gt;Mix and season to taste with your choice of seasonings (approximately 2 tbsp salt, 2 tsp black pepper, 2 tsp celery seed, 2 tsp sage or your favorite turkey seasoning)&lt;/li&gt;
&lt;li&gt;Let cool and refrigerate until Thanksgiving Day&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Thanksgiving Day: Turkey Preparation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Herb Butter Rub Ingredients
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1/2 cup butter, softened&lt;/li&gt;
&lt;li&gt;1 tablespoon fresh sage, stem removed and chopped&lt;/li&gt;
&lt;li&gt;1 tablespoon fresh rosemary, stem removed and chopped&lt;/li&gt;
&lt;li&gt;1 tablespoon fresh thyme, stem removed and chopped&lt;/li&gt;
&lt;li&gt;4 cloves garlic, minced&lt;/li&gt;
&lt;li&gt;3 teaspoons salt&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cheesecloth Basting Mixture Ingredients
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1/4 cup butter, melted&lt;/li&gt;
&lt;li&gt;1 cup dry white wine&lt;/li&gt;
&lt;li&gt;1 cup chicken or turkey stock&lt;/li&gt;
&lt;li&gt;2 square yards unbleached cotton cheesecloth&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Optional Cavity Aromatics (if not stuffing)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 onion, quartered&lt;/li&gt;
&lt;li&gt;1 head garlic, halved&lt;/li&gt;
&lt;li&gt;1 lemon, cut in half&lt;/li&gt;
&lt;li&gt;2 carrots, roughly chopped&lt;/li&gt;
&lt;li&gt;2 celery stalks, roughly chopped&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Turkey Cooking Instructions
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Preheat oven to 300°F&lt;/li&gt;
&lt;li&gt;Add 2 cups water to the bottom of the roasting pan&lt;/li&gt;
&lt;li&gt;Combine melted butter, white wine, and stock in a medium sized saucepan. Set aside&lt;/li&gt;
&lt;li&gt;Combine softened butter, sage, rosemary, thyme, garlic, and salt. Mix until well combined&lt;/li&gt;
&lt;li&gt;Remove turkey from brine and pat dry with paper towels&lt;/li&gt;
&lt;li&gt;Rub 2/3 of the softened butter and herb mixture under the skin over the top turkey breast and drumsticks. Be careful not to rip the skin&lt;/li&gt;
&lt;li&gt;Spread remaining butter over the top of turkey skin&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If stuffing turkey:&lt;/strong&gt; Stuff the neck cavity first (not the main cavity) so you can stand it up. Fill it as much as you can and tuck into the flap of skin. Tie legs together and secure skin flap in back&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If not stuffing:&lt;/strong&gt; Add onions, garlic, lemon, carrots, and celery to the cavity of turkey for extra flavor. Tie legs together, secure skin flap in back, and tuck wings under turkey&lt;/li&gt;
&lt;li&gt;Take cheesecloth and fold large enough to cover top and sides of turkey&lt;/li&gt;
&lt;li&gt;Dip cheesecloth into white wine/butter mixture and cover the top and sides of the turkey with cheesecloth&lt;/li&gt;
&lt;li&gt;Place turkey in oven and baste every 20-30 minutes&lt;/li&gt;
&lt;li&gt;Heat butter/white wine mixture on low to warm, and use for basting. When butter white wine mixture runs low, use pan juices&lt;/li&gt;
&lt;li&gt;Cook until thigh meat registers 180-185°F and if stuffed, stuffing needs to register at 165°F&lt;/li&gt;
&lt;li&gt;Allow anywhere from 15 to 20 minutes per pound if stuffed, a little bit less for unstuffed (about 7-7.5 hours for a 20 lb turkey)&lt;/li&gt;
&lt;li&gt;Remove cheesecloth 30-45 minutes before removing from oven and baste well to brown skin. If cheesecloth is sticking, baste it well to loosen from the skin&lt;/li&gt;
&lt;li&gt;Allow turkey to rest 15 minutes before slicing to allow juices to soak back into meat&lt;/li&gt;
&lt;li&gt;Make gravy during this time with remaining pan juices&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Jiffy Corn Pudding
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Corn Pudding Ingredients
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 can corn, drained&lt;/li&gt;
&lt;li&gt;1 can creamed corn&lt;/li&gt;
&lt;li&gt;1 cup sour cream&lt;/li&gt;
&lt;li&gt;1 stick (1/2 cup) melted butter&lt;/li&gt;
&lt;li&gt;1 box Jiffy Corn Muffin mix&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Corn Pudding Instructions
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Preheat oven to 350°F&lt;/li&gt;
&lt;li&gt;Mix all ingredients together in a large bowl&lt;/li&gt;
&lt;li&gt;Pour into greased baking dish&lt;/li&gt;
&lt;li&gt;Bake for 45 minutes to 1 hour, until set and golden brown on top&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Gravy
&lt;/h2&gt;

&lt;p&gt;Added this one cause it's easy to forget or screw up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gravy Ingredients
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1 cup cold water&lt;/li&gt;
&lt;li&gt;1 tablespoon cornstarch&lt;/li&gt;
&lt;li&gt;1 tablespoon roasted chicken base (Better Than Bouillon)&lt;/li&gt;
&lt;li&gt;Turkey drippings from roasting pan&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Gravy Instructions
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;After removing turkey from roasting pan, strain pan drippings into a measuring cup&lt;/li&gt;
&lt;li&gt;Skim off excess fat if desired&lt;/li&gt;
&lt;li&gt;In a small bowl, whisk together cold water and cornstarch until smooth&lt;/li&gt;
&lt;li&gt;Pour drippings into a saucepan over medium heat&lt;/li&gt;
&lt;li&gt;Add chicken base and stir&lt;/li&gt;
&lt;li&gt;Slowly whisk in cornstarch mixture&lt;/li&gt;
&lt;li&gt;Bring to a simmer and cook, stirring constantly, until thickened (about 5 minutes)&lt;/li&gt;
&lt;li&gt;Adjust seasoning with salt and pepper to taste&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Other Side Dishes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Green Bean Casserole
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;2 cans (14.5 oz each) green beans, drained&lt;/li&gt;
&lt;li&gt;1 can (10.5 oz) cream of mushroom soup&lt;/li&gt;
&lt;li&gt;1 cup French fried onions, divided&lt;/li&gt;
&lt;li&gt;1/2 cup milk&lt;/li&gt;
&lt;li&gt;Salt and pepper to taste&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Preheat oven to 350°F&lt;/li&gt;
&lt;li&gt;Mix green beans, soup, 1/2 cup fried onions, milk, salt, and pepper&lt;/li&gt;
&lt;li&gt;Pour into greased casserole dish&lt;/li&gt;
&lt;li&gt;Bake for 25 minutes&lt;/li&gt;
&lt;li&gt;Top with remaining fried onions and bake for 5 more minutes&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Happy Thanksgiving!&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Using IntelliJ/DataGrip with  Presto JDBC</title>
      <dc:creator>Phillip Fleischer</dc:creator>
      <pubDate>Wed, 18 Nov 2020 17:46:22 +0000</pubDate>
      <link>https://forem.com/pcfleischer/using-intellij-datagrip-with-presto-jdbc-jp8</link>
      <guid>https://forem.com/pcfleischer/using-intellij-datagrip-with-presto-jdbc-jp8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Presto&lt;/strong&gt; is a cool technology that works with everything (within reason). So it should be totally well documented how to set it up with IntelliJ, right??  &lt;strong&gt;&lt;em&gt;Not so fast&lt;/em&gt;&lt;/strong&gt;...  #googlefail&lt;/p&gt;

&lt;h1&gt;
  
  
  UPDATE - IntelliJ and DataGrip now have drivers for presto and trino right out of the oven, so no need to read on!
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhdjyb94pjgqqb80bxjp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhdjyb94pjgqqb80bxjp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you like ancient history, feel free to keep reading :)  Happy coding!&lt;/p&gt;




&lt;p&gt;While it's not totally un-intuitive, many people trying to set it up might not see the options and give up.  &lt;strong&gt;Don't give up, here's the coolness!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 - Download the JDBC Driver
&lt;/h2&gt;

&lt;p&gt;If you don't know by now, there's two forks of presto in the universe. Not surprisingly there is a JDBC driver for each and mostly they seem to be nearly identical, however at the time of writing, PrestoSQL's driver performed a bit faster for me.  I encourage folks to follow their releases for more critical information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;PrestoDB&lt;/em&gt;&lt;/strong&gt;, the original project by Facebook.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://prestodb.io/download.html" rel="noopener noreferrer"&gt;https://prestodb.io/download.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Trino&lt;/em&gt;&lt;/strong&gt;, the rename of the fork PrestoSQL the fork of the project in the community&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://trino.io/download" rel="noopener noreferrer"&gt;https://trino.io/download&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://trino.io/blog/2020/12/27/announcing-trino.html" rel="noopener noreferrer"&gt;https://trino.io/blog/2020/12/27/announcing-trino.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So just click the link under "JDBC Driver" and download it..&lt;/p&gt;

&lt;p&gt;To a personal location:&lt;br&gt;
&lt;code&gt;~/Documents/jdbc-drivers&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or copy it to intellij's location:&lt;br&gt;
&lt;code&gt;~/Library/Application\ Support/JetBrains/IntelliJIdea2020.2/jdbc-drivers/&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 2 - Add IntelliJ Driver
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;In "Database" panel click &lt;code&gt;+&lt;/code&gt; or right click and select New  -&amp;gt; "Driver"&lt;/li&gt;
&lt;li&gt;Enter "PrestoSQL" or "PrestoDB" in the name (whichever driver you chose.&lt;/li&gt;
&lt;li&gt;Under the "Driver Files" box, click the &lt;code&gt;+&lt;/code&gt; and browse to the downloaded jdbc jar.&lt;/li&gt;
&lt;li&gt;Pick the driver class (facebook or prestosql)&lt;/li&gt;
&lt;li&gt;Add the Datasource and use the Driver (and click "Test connection".)
&lt;code&gt;jdbc:presto://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Right click on new Datasource-&amp;gt;Database Tools-&amp;gt;Manage Shown Schemas... select "All Databases" and also select "All Schemas".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The last step is particularly helpful if you presto is hosting multiple catalogs across database instances.  If you're dealing with particularly large amount of tables, this step could take a while.&lt;/p&gt;
&lt;h3&gt;
  
  
  Driver File
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fg4nznj9p4c6370yxo0in.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fg4nznj9p4c6370yxo0in.png" alt="Add IntelliJ Driver"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Driver Class
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9k1kltaansm4pyimtp1y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9k1kltaansm4pyimtp1y.png" alt="Driver Class"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Datasource
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;NOTE&lt;/em&gt; : make sure to use full url with jdbc protocol and port&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;jdbc:presto://&amp;lt;host&amp;gt;:&amp;lt;port&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn6cc66kyzx2u1gvx1m1z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fn6cc66kyzx2u1gvx1m1z.png" alt="IntelliJ Presto Datasource"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Shown Schemas
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw8u3nl41k5uki8tq4d5e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw8u3nl41k5uki8tq4d5e.png" alt="IntelliJ Shown Schemas"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 - Profit!
&lt;/h2&gt;

&lt;p&gt;Hopefully this will unlock all the presto possibilities for you!   &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Queries across database instances.&lt;/li&gt;
&lt;li&gt;Single SQL syntax.&lt;/li&gt;
&lt;li&gt;Schema explorer and keyboard completion.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgvf4s9e11yif10b257y8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fgvf4s9e11yif10b257y8.png" alt="Demonstration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the way, there could be a few "gotchas" so here's a quick list of things that could trip you up.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Connection URL
&lt;/h4&gt;

&lt;p&gt;Make sure the protocols, address, and ports are correct.  By default, presto runs on 8080 but if your team set it up with ssl 443 might be the right setup, or it could even be a custom port.  You may also have basic networking issues, so test if you can even connect to the host/port (maybe through the ui if permitted by your systems team).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://prestodb.io/docs/current/installation/jdbc.html" rel="noopener noreferrer"&gt;https://prestodb.io/docs/current/installation/jdbc.html&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Credentials
&lt;/h4&gt;

&lt;p&gt;By default presto doesn't require credentials, so even though it shows username and password, you might be able to just put in "presto" and either blank or some garbage into password.  On the other hand if presto is secured with file based store or LDAP you'll need to be granted credentials.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Catalogs
&lt;/h4&gt;

&lt;p&gt;If presto is missing or has catalog access restrictions, you may not be able to see or query all of the datasources and schemas that presto is attached to.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Driver Updates
&lt;/h4&gt;

&lt;p&gt;Since IntelliJ isn't managing the driver, you'll be responsible for your own updates... Small price to pay, or we can all keep voting for this feature and maybe someday IntelliJ will add it.&lt;/p&gt;

&lt;h4&gt;
  
  
  5. DBeaver
&lt;/h4&gt;

&lt;p&gt;If you don't like this, then have a look at DBeaver which supports PrestoDB and PrestoSQL without downloading the driver.  Same caveats apply&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;IntelliJ's database explorer is slick and integrated experience and you can easily use any JDBC Driver.  Presto in particular is one that is especially powerful.&lt;/p&gt;

&lt;p&gt;Let me know if you have any comments or feedback.  Enjoy! &lt;/p&gt;

</description>
      <category>intellij</category>
      <category>presto</category>
      <category>database</category>
    </item>
    <item>
      <title>Tips for tech leads to live in "zen" in product driven companies</title>
      <dc:creator>Phillip Fleischer</dc:creator>
      <pubDate>Sun, 12 Apr 2020 01:09:57 +0000</pubDate>
      <link>https://forem.com/pcfleischer/tips-for-tech-leads-to-live-in-zen-in-product-driven-companies-25io</link>
      <guid>https://forem.com/pcfleischer/tips-for-tech-leads-to-live-in-zen-in-product-driven-companies-25io</guid>
      <description>&lt;p&gt;&lt;strong&gt;Disclosure&lt;/strong&gt; : This is not a "process".  These are practical values for a technical team leader. I.E. A mental framework for finding zen amidst a wasteland of variations/implementations of agile let alone entirely different feature driven workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Zen you say? Not possible...
&lt;/h3&gt;




&lt;p&gt;You are constantly bombarded by bugs, hot-fixes, processes, managers, teammates, product owners, and people with two or three letter titles... If you get bogged down in details, then &lt;em&gt;ZEN&lt;/em&gt; is simply not possible and then your best option is to lay low.  &lt;/p&gt;

&lt;p&gt;I say, just let the talking people talk and you can simply deal with the important stuff. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq5q74qw0as3qgjki0855.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq5q74qw0as3qgjki0855.png" alt="Just Say Nay"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;&lt;strong&gt;Just Say Nay&lt;/strong&gt;&lt;/em&gt;  and join me in riding the cool waves of product delivery, a master of the ocean.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You&lt;/strong&gt;: &lt;em&gt;"Uh oh... wait, are you going to give me some stupid cliche list of ideals?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Me&lt;/strong&gt;: &lt;em&gt;"Uhh yeah... duh"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Yep&lt;/em&gt;, I'm really going to use an &lt;em&gt;ABC&lt;/em&gt; model (well, three c's and a d) to relay these values... Why?? Because while cliche's and mnemonic devices are... well... cliche, &lt;strong&gt;&lt;em&gt;they work&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Meanwhile, sales is like "ALWAYS BE CLOSING"...&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fds0sn7dub212lh1tz1ag.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fds0sn7dub212lh1tz1ag.jpg" alt="Always Be Closing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You might say, "Well, that's sales and tech is different we have to bleep blorp the sleep slorp" and more robot noises... Let's be real, our goals and technique are different but mindset and leadership are contextually the same.  &lt;/p&gt;

&lt;h4&gt;
  
  
  "Always Be" mindset
&lt;/h4&gt;

&lt;p&gt;While &lt;strong&gt;closing sales deals&lt;/strong&gt; is not a tech lead's goal, there's certain simplicity to the "always be" mindset which can be applied to any particular goal.  In our situation we're looking at what can we constantly be focused on in all aspects of our job to have confidence in everything we do. Not because you know everything about your programming language of choice but because you are an excellent tech lead.&lt;/p&gt;

&lt;h4&gt;
  
  
  So, always be... tech leading??
&lt;/h4&gt;

&lt;p&gt;Here's where we diverge from the Glengarry Glen Ross meme of "always be closing".  On the technical side we don't "close deals", so what's our goal?  This could be a topic unto itself. To keep this short, we want to... wait for it,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deliver quality software products at high velocity while providing continuous improvement ™&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6hlra6dmq1hj1r8lp216.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6hlra6dmq1hj1r8lp216.jpg" alt="Deliver Quality Software"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, what mechanisms as tech lead do we have to be sure we're confident this is happening on our on our team? Well, you can attempt to measure this quantitatively with your agile software du jour but you're wasting your time, real delivery teams run fast when lead by people who care about... &lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Lead "Zen"
&lt;/h3&gt;

&lt;p&gt;Our goal is to be in harmony with the product demands and our teams.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A - Assigning&lt;/li&gt;
&lt;li&gt;B - Backlog ... Refining&lt;/li&gt;
&lt;li&gt;C...

&lt;ul&gt;
&lt;li&gt;Closing&lt;/li&gt;
&lt;li&gt;Communicating&lt;/li&gt;
&lt;li&gt;Coding&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Decomposing&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Assigning
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;"If we assign tasks or stories to people, isn't that against agile?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ff16uvl8che9fj2k8nl0g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ff16uvl8che9fj2k8nl0g.jpg" alt="Really"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Really???&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A wise man one said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If something is assigned to no one it might as well not exist.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- a really wise person&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ok, no one said that...  but it's something you should be constantly thinking about.  What good is a task if no ones working on it? If everyone or no one is assigned to a task how can you ensure it's progressing through your workflow. Here are some examples that apply to tasks, bugs, stories, etc...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assign a product owner or UX if you need more requirements&lt;/li&gt;
&lt;li&gt;Assign yourself to refine technical details&lt;/li&gt;
&lt;li&gt;Assign a teammate developer to review or prepare to work it (&lt;em&gt;even if you're going to code it&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reassign!&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reassigning is the most important.  If you're always assigning in every meeting, standup, refinement, kickoff, tickets will change hands a lot and this is good. Encourage your teammates to not be attached to tickets and not consider assignment a fate or reassignment a failure.&lt;/p&gt;

&lt;p&gt;Don't be shy. Don't wait for volunteers. You will be shocked at how your teammates crave this as much as you.&lt;/p&gt;

&lt;h4&gt;
  
  
  Backlog
&lt;/h4&gt;

&lt;p&gt;Always be refining your backlog into "vertical" functional slices. &lt;/p&gt;

&lt;p&gt;If your team's tickets read like "Create new API &lt;strong&gt;X&lt;/strong&gt; for &lt;strong&gt;Y&lt;/strong&gt; App" or "Store &lt;strong&gt;X&lt;/strong&gt; data in &lt;strong&gt;Y&lt;/strong&gt; data warehouse," you should be worried.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fozp0cyj53k60zaoa55vk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fozp0cyj53k60zaoa55vk.jpg" alt="Vetical Slices Best"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://aptude.com/blog/entry/understanding-software-development-with-vertical-slices-vs-horizontal-slices/" rel="noopener noreferrer"&gt;Vertical Slices vs Horizontal Slices&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; &lt;em&gt;"Why?? Teams need to build components first to be sure we can have functional deliverables."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Response:&lt;/strong&gt; &lt;em&gt;"Teams are designed to deliver software features not  build components."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Without a use case, your components mean nothing.  Resistance is inevitable, design your team to deliver features.&lt;/p&gt;

&lt;p&gt;Don't get me wrong, there &lt;em&gt;are&lt;/em&gt; good reasons for your team to have stories and tasks that have no functional delivery. &lt;em&gt;HOWEVER&lt;/em&gt;, if &lt;em&gt;all&lt;/em&gt; your stories are technical tasks, this is a sign of dysfunction in your team.  After all, you are an excellent tech lead and you'll settle for nothing less than excellence. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does this mean?&lt;/strong&gt;  unfortunately you will spend less time coding and more time planning.  Embrace it or your life will be stressful as a tech lead (a.k.a. sans zen).&lt;/p&gt;

&lt;h4&gt;
  
  
  Closing
&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;"Wait, you said we weren't closing??"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Not closing sales deals, but we are tech leads and still close.  Reminder, we are "delivering high quality software super fast or whatever I said earlier" and for most software teams this means closing tickets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjew7lv1jspv7kdafa0o7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjew7lv1jspv7kdafa0o7.jpg" alt="Let's get to work"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everyone on a team is working to a common goal.  While you have project managers and scrum masters who "should" be moving things along, the reality is that you lead by action and your team will reflect the actions you display. &lt;/p&gt;

&lt;h4&gt;
  
  
  Communication
&lt;/h4&gt;

&lt;p&gt;Is your idea of a technical lead someone who's a genius but doesn't have to talk to anyone?  Please... don't be like this guy...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=zvER8MyxBeY" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9zer5sp7ogg9b8pkjy63.jpg" alt="I am a genius"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Software engineers and developers sometimes have a reputation of working in caves and being difficult to deal with.  This can be the case but if you're an excellent tech lead, you can and do interface with all levels of the business.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Be available and approachable for all members of your team&lt;/li&gt;
&lt;li&gt;Be present at any meeting you can&lt;/li&gt;
&lt;li&gt;Be involved functional and user experience decisions&lt;/li&gt;
&lt;li&gt;Stay knowledgeable about usages of your features (issues and performance)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Coding (Reviewing)
&lt;/h4&gt;

&lt;p&gt;I like to think technical leads are a lot like head chefs.  If you've ever watched "Hell's Kitchen" you'll notice Gordon Ramsay's hawk-like ability to spot issues in quality without even tasting a dish.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjulp717cukaaxvb6759d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjulp717cukaaxvb6759d.jpg" alt="Its Rubbish"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Food and code are very different of course, but similarly leads are expected to have keen eye to spot code quality issues.  Leads expecting to just sit at their desks and work on "their" code why other devs work on "theirs" are kidding themselves and setting up for a very clunky code review or are blindly pushing merge buttons.  Likewise developers on the team who are expecting to issue merge requests and have zero comments or follow up tasks are heading for stressful times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Code review is a collaborative process.&lt;/em&gt;&lt;/strong&gt; always be asking questions, early and often.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why we're making these changes?&lt;/li&gt;
&lt;li&gt;How does this work?&lt;/li&gt;
&lt;li&gt;Is there significant risk?&lt;/li&gt;
&lt;li&gt;How do your test cover the use cases?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Encourage developers to not be offended or afraid.  Trust but verify and my final piece of advice.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sorry, your favorite IDE is no longer a code editor (vscode, eclipse, intellij) it's your code review merge request tool.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Me&lt;/em&gt;"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Decomposing
&lt;/h4&gt;

&lt;p&gt;Don't falter out of the gate, be ready to to execute. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmjvvoe15w2ph1qv1gdbk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmjvvoe15w2ph1qv1gdbk.jpg" alt="QWOP"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're remodeling a house and someone says "I need a new kitchen, now build it".  You will spend several days still trying to get everything lined up just so workers can start hanging cabinets.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backlog Refinement - break down epics to executable functionality&lt;/li&gt;
&lt;li&gt;Decomposition - break down functionality into tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Ironically&lt;/em&gt;, this seems to come naturally to developers.  Intuitively breaking down into components seems to be the first thing to come to mind.  &lt;/p&gt;

&lt;p&gt;Example: Add new like button to content page&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New web and mobile interaction&lt;/li&gt;
&lt;li&gt;Api to support get and set likes&lt;/li&gt;
&lt;li&gt;Supporting models and persistence layer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Generally, pretty typical right?  In my experience some leads can believe that this might be their only job besides writing code, please don't fall into that trap.&lt;/p&gt;

&lt;h3&gt;
  
  
  Back to "Zen"
&lt;/h3&gt;




&lt;p&gt;&lt;em&gt;"Hmm, this sounds really stressful to me..."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If this still sounds really not for you, then it's perfectly fine to be coding components and tests.  There are also plenty of opportunities that don't involve leadership.&lt;/p&gt;

&lt;p&gt;Remember, this is about focusing on the import things and ignoring the details.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assigning, Backlog, Closing/Communication/Code Review, Decomposing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Generally software delivery is cyclical with many variations in processes with noisy bumps along the road.  Process changes come and go, a technical lead can isolate these from their primary goals to see the forest through the trees.&lt;/p&gt;

&lt;p&gt;If you're a lead in a product driven company, it's safe to assume your organization that operates with org charts, process and decision makers, etc.  You should never use this as an excuse for compromising on values.  First, consider influencing people to treat each other as peers who share your values.  Then, if this feels like a wasted effort, find another company where your values blend with your colleagues.&lt;/p&gt;

&lt;p&gt;Your business team may not always understand this but in the long run you will be proven an "excellent tech lead".&lt;/p&gt;

</description>
      <category>leadership</category>
      <category>agile</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
