<?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>DEV Community: Justin Thibault</title>
    <description>The latest articles on DEV Community by Justin Thibault (@tbojustin).</description>
    <link>https://dev.to/tbojustin</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%2F751246%2Fe6729961-eebc-4d4a-a8ee-8bc31c7a060d.jpg</url>
      <title>DEV Community: Justin Thibault</title>
      <link>https://dev.to/tbojustin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tbojustin"/>
    <language>en</language>
    <item>
      <title>3 Things I Learned From "ChatGPT Prompt Engineering for Developers"</title>
      <dc:creator>Justin Thibault</dc:creator>
      <pubDate>Sat, 20 May 2023 14:40:10 +0000</pubDate>
      <link>https://dev.to/tbojustin/3-things-i-learned-from-chatgpt-prompt-engineering-for-developers-3hkm</link>
      <guid>https://dev.to/tbojustin/3-things-i-learned-from-chatgpt-prompt-engineering-for-developers-3hkm</guid>
      <description>&lt;p&gt;After seeing it on Twitter and mentions by a few co-workers, I burned a couple of evenings and took the "&lt;a href="https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/"&gt;ChatGPT Prompt Engineering for Developers&lt;/a&gt;" mini-course taught by (&lt;a href="https://twitter.com/AndrewYNg"&gt;Andrew Ng - Coursera&lt;/a&gt; and &lt;a href="https://twitter.com/isafulf"&gt;Isabella Fulford - OpenAI&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;As with any deeplearning.ai course: the instructors  incorporated a simple, Pythonic approach in Jupyter notebooks with informative lectures to utilizing ChatGPT (currently Turbo 3.5) programmatically. The course ended with a build of a functioning chatbot to handle pizza orders that was surprisingly robust and easy-to-build.&lt;/p&gt;

&lt;p&gt;I'd recommend anyone wanting to understand ChatGPT more to take this free course.&lt;/p&gt;

&lt;p&gt;Here are 3 things that stood out to me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Hallucinations are a thing and they don't go away easily&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A short section delivered a hard lesson: you can't trust ChatGPT. Asking ChatGPT about a product name that was very similar to a real product had it generate a description for a product that didn't exist, but - even after putting in checks into follow-up prompts - the result suggested it did.&lt;/p&gt;

&lt;p&gt;Every professional I know whose used ChatGPT for something serious ran into this problem. I wouldn't go as far as "trust but verify", but rather I wouldn't expect ChatGPT to share insights that I didn't feed it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Building context and developing prompts to give the model "time to think"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I've seen a bit about prompt engineering, but very little on how to get it to deliver more detailed answers. The lesson they gave on Iteration showed how not just to "engineer" a prompt like you see on those annoying Twitter threads, but to programmatically incorporate feedback to better build context towards more useful results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Utilizing parameters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My biggest takeaway is that not only you can adjust the "creativity" of the model through temperature, but approaching ChatGPT programmatically allows for a host of options. You can find a complete list of the parameters in the API spec, but it shows we have a long way to go with this model and with generative AI&lt;/p&gt;

&lt;p&gt;If you're still not convinced to take a few evenings to go through this free course, &lt;a class="mentioned-user" href="https://dev.to/shanshaji"&gt;@shanshaji&lt;/a&gt; is &lt;a href="https://dev.to/shanshaji/writing-effective-prompts-for-large-language-models-two-prompting-principles-and-their-related-tactics-151a"&gt;writing a series and diving a little deeper into some examples&lt;/a&gt; based on his experience with the course.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>python</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How NOT to Pass the AWS Certified Solutions Architect – Associate Exam</title>
      <dc:creator>Justin Thibault</dc:creator>
      <pubDate>Sun, 03 Apr 2022 05:28:39 +0000</pubDate>
      <link>https://dev.to/tbojustin/how-not-to-pass-the-aws-certified-solutions-architect-associate-exam-3cdc</link>
      <guid>https://dev.to/tbojustin/how-not-to-pass-the-aws-certified-solutions-architect-associate-exam-3cdc</guid>
      <description>&lt;p&gt;&lt;strong&gt;tl;dr&lt;/strong&gt;: AWS gives you two cheat sheets for the exam: the &lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/wellarchitected-framework.pdf"&gt;Well-Architected Framework Whitepaper&lt;/a&gt; and &lt;a href="https://d1.awsstatic.com/training-and-certification/docs-sa-assoc/AWS-Certified-Solutions-Architect-Associate_Exam-Guide.pdf"&gt;AWS Solutions Architect-Associate Exam guide&lt;/a&gt;. Understand them first. Then, chase with the &lt;a href="https://acloudguru.com/course/aws-certified-solutions-architect-associate-saa-c02"&gt;ACG course&lt;/a&gt; and &lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-amazon-practice-exams-saa-c03/"&gt;Udemy Bonso exams&lt;/a&gt; and you'll pass with less effort than I did.&lt;/p&gt;

&lt;h2&gt;
  
  
  Passing the AWS SAA Exam the Inefficient Way
&lt;/h2&gt;

&lt;p&gt;After some encouragement from others in a cloud challenge &lt;a href="https://dev.to/tbojustin/old-man-yells-at-cloud-mid-career-pm-finishes-cloud-resume-challenge-in-aws-with-terraform-3d4d"&gt;I recently finished&lt;/a&gt; - I fired up &lt;a href="https://acloudguru.com/course/aws-certified-solutions-architect-associate-saa-c02"&gt;A Cloud Guru's certification course&lt;/a&gt;. 60 days later, I posted &lt;a href="https://www.credly.com/badges/fbb90faa-e835-4d82-a5a1-7f35e3e8a57a/linked_in?t=r9k695"&gt;my brand new badge&lt;/a&gt; to &lt;a href="https://www.linkedin.com/in/justinthibault/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://poly.work/justinthibault"&gt;Polywork&lt;/a&gt;, and &lt;a href="https://justinthibault.xyz"&gt;my personal site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here's what I did to pass:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Completed the &lt;a href="https://cloudresumechallenge.dev"&gt;Cloud Resume Challenge&lt;/a&gt; - &lt;a href="https://cloudresumechallenge.dev/docs/the-challenge/aws/"&gt;AWS Version&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Ran through &lt;a href="https://acloudguru.com/course/aws-certified-solutions-architect-associate-saa-c02"&gt;A Cloud Guru's course&lt;/a&gt; as fast as possible - skipping the services I was already familiar with from the CRC. Note: Even though I "2Xed" the lectures, I did some of the demos, ALL of the labs, and both of their sample exams. I also followed their advice and did some labs on the side (built a few VPCs, played around with my own site, etc.)&lt;/li&gt;
&lt;li&gt;Completed all &lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-amazon-practice-exams-saa-c03/"&gt;six Bonso practice exams&lt;/a&gt;.  H/T to &lt;a class="mentioned-user" href="https://dev.to/loujaybee"&gt;@loujaybee&lt;/a&gt; for suggesting these from &lt;a href="https://www.youtube.com/watch?v=K2bgTYiSlX0&amp;amp;t=360s"&gt;his retrospective on the DEV exam&lt;/a&gt;. I did the  first three with multiple passes after reviewing where I went wrong. For the remaining three: I had just enough time to take the practice test and go over where I went wrong.&lt;/li&gt;
&lt;li&gt;From completing the Cloud Practitioner exam in the summer, I had a code for a free practice exam. This was my "go/no go". I made an 80% and felt OK about continuing.&lt;/li&gt;
&lt;li&gt;The last minute cram for the exam was listening to the exam tips for each of the 20 or so chapters (this time at 1X speed), reviewing the &lt;a href="https://d1.awsstatic.com/training-and-certification/docs-sa-assoc/AWS-Certified-Solutions-Architect-Associate_Exam-Guide.pdf"&gt;AWS Solutions Architect-Associate Exam guide&lt;/a&gt; and a scan of the &lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/wellarchitected-framework.pdf"&gt;Well-Architected Framework&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;During the exam, I followed the usual tips (doing a first pass of EACH question - only answering the easy ones, using the scratch paper in a grid to track which answers I eliminated, flag any question I had any doubts about, etc.) and I used ALL of the time.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Even though I passed, I can't stress this enough&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DON'T DO IT THE WAY I DID IT!!!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here's what was wrong with my brute force method:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The first two Bonso exam results made it clear that I should NOT have skipped the ACG lectures I did.&lt;/li&gt;
&lt;li&gt;I spent a lot of time re-reviewing fundamental services and encountering service names and asking "wait, what's that?" far too late in the process&lt;/li&gt;
&lt;li&gt;I did not get to the adequate level of confidence to take the exam until very late in the game. That leaves too much to chance.&lt;/li&gt;
&lt;li&gt;The inefficiency in my approach spilled into other areas of my life. Thankfully, I have a supportive and long-suffering family and plenty of PTO to burn at the day job.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's what I would do instead:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Same step #1 - complete the &lt;a href="https://cloudresumechallenge.dev"&gt;Cloud Resume Challenge&lt;/a&gt; - &lt;a href="https://cloudresumechallenge.dev/docs/the-challenge/aws/"&gt;AWS Version&lt;/a&gt;. Getting through that gets you adept at the basics of AWS, introduces you the basic serverless infrastructure, and passing the Cloud Practitioner exam gets you discount codes for the 1/2 price on the exam and a free practice test.&lt;/li&gt;
&lt;li&gt;Take some time to read the the &lt;a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/wellarchitected-framework.pdf"&gt;Well-Architected Framework Whitepaper&lt;/a&gt;. Chasing the Cloud Practitioner exam with this whitepaper gets you in the right mindset and helps you frame up the right mental models for this exam.&lt;/li&gt;
&lt;li&gt;Review the &lt;a href="https://d1.awsstatic.com/training-and-certification/docs-sa-assoc/AWS-Certified-Solutions-Architect-Associate_Exam-Guide.pdf"&gt;AWS Exam guide&lt;/a&gt;. Spend some time walking through the "AWS services and features" portion of the guide answering the following question for &lt;strong&gt;each&lt;/strong&gt; service:

&lt;ul&gt;
&lt;li&gt;What does this service do?&lt;/li&gt;
&lt;li&gt;What are the basic limitations of the service (How does it span regions and AZs?, What are the performance characteristics, What's the general pricing method?)&lt;/li&gt;
&lt;li&gt;How does this service relate to others (this comes up in the FAQ and by Googling "[Service Name] vs.") and how does it play with a VPC (and yes, that's actually applicable to VPCs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Do the &lt;a href="https://acloudguru.com/course/aws-certified-solutions-architect-associate-saa-c02"&gt;ACG Course&lt;/a&gt;. Do the demos. Do the labs. Pre-read the AWS service pages and FAQs ahead of going into a chapter. That goes a lot faster than repeating the lectures.&lt;/li&gt;
&lt;li&gt;Finish the first ACG practice exam. If you haven't scheduled your exam - do it. &lt;/li&gt;
&lt;li&gt;Now that you've got a fire lit with the exam coming: go through the &lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-amazon-practice-exams-saa-c03/"&gt;Bonso exams&lt;/a&gt;. Do each exam, review what went wrong, repeat that exam, and then move on to the next one. Give yourself about 4 hours for each iteration (2 hours for exam and 2 hours for review)&lt;/li&gt;
&lt;li&gt;The AWS Practice Exam is a good confidence booster. When you're doing well on the Bonso exams - knock that out.&lt;/li&gt;
&lt;li&gt;At this point you'll know what you know and what you don't. Do the second ACG exam for good measure.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Good luck! I'd love to hear from some other SAA veterans on their approach (did the free AWS training work for you, what labs did you do, etc.)&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudskills</category>
      <category>certification</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Old Man Yells at Cloud: Mid-Career PM Finishes Cloud Resume Challenge in AWS with Terraform</title>
      <dc:creator>Justin Thibault</dc:creator>
      <pubDate>Mon, 03 Jan 2022 15:47:50 +0000</pubDate>
      <link>https://dev.to/tbojustin/old-man-yells-at-cloud-mid-career-pm-finishes-cloud-resume-challenge-in-aws-with-terraform-3d4d</link>
      <guid>https://dev.to/tbojustin/old-man-yells-at-cloud-mid-career-pm-finishes-cloud-resume-challenge-in-aws-with-terraform-3d4d</guid>
      <description>&lt;p&gt;Nearly 20 years ago: a college professor told me that a career in tech is an agreement to being a perpetual student. For me, winding up in a technically "conservative" sector like energy infrastructure meant I was shielded from much of that churn. The industry has been slowly adopting cloud technologies: mainly for enterprise connections and analytics. &lt;/p&gt;

&lt;p&gt;For the busy professional, I can't imagine a better way to set out on that journey than the &lt;a href="https://cloudresumechallenge.dev/"&gt;Cloud Resume Challenge&lt;/a&gt;. Even though it effectively doubled the time to complete the challenge, incorporating Terraform in my approach sets me up to address the multi-cloud issues my clients are facing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Accepted the Cloud Resume Challenge
&lt;/h2&gt;

&lt;p&gt;My industry is currently at "Most Presentations Mention 'The Cloud is Just Someone Else's Computer' As An Key Insight" point on a "Cloud Maturity Curve"&lt;/p&gt;

&lt;p&gt;I was in the market for a cloud-based development opportunity and I came across Forrest Brazeal's &lt;a href="https://twitter.com/forrestbrazeal/status/1403094035825365003"&gt;Math Tweet&lt;/a&gt;, followed him and discovered the &lt;a href="https://cloudresumechallenge.dev/"&gt;Cloud Resume Challenge&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A summary of the challenge is that participants are to get the basic certification and setup a website on a major cloud provider. This site presents their resume includes a counter that leverages the compute and database services of the cloud provider. The deployment should utilize "Infrastructure as Code" (IaC) and CI/CD pipelines for the front and backend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Settling on Terraform and Completing the Challenge
&lt;/h2&gt;

&lt;p&gt;In the Summer of 2021, I started the challenge and chose to get the AWS Practitioner Certification as my first step. I utilized AWS Cloud Practitioner Essentials and A Cloud Guru's Exam Materials to pass.&lt;/p&gt;

&lt;p&gt;Following &lt;a href="https://www.credly.com/badges/3990a3ee-f3a5-4dcf-a6dd-823cd7af4b3c"&gt;getting the certification&lt;/a&gt;, I got started on the work. My first pass was to follow &lt;a href="https://dev.to/loujaybee"&gt;"LouJayBee's"&lt;/a&gt; YouTube playlist on &lt;a href="https://www.youtube.com/watch?v=e7vZe7qZFmE&amp;amp;list=PLEk97Q5Nj5oesA1WNk7DzaUpZUnCsQFVQ"&gt;this challenge&lt;/a&gt;. I got through the DNS step until I tried to find a shortcut, because I unfamiliar with Java. That started my second pass - going through the &lt;a href="https://cdkworkshop.com/30-python.html"&gt;AWS CDK Workshop&lt;/a&gt;. I completed that workshop and - in banging around the Internet - discovered different approaches to IaC. I found Terraform intriguing: mainly because any cloud future I'll have will be multi-cloud. &lt;/p&gt;

&lt;p&gt;In the &lt;a href="https://discord.com/invite/2PTwAth"&gt;Cloud Resume Challenge Discord&lt;/a&gt;, another participant - JAG - utilized Terraform: that provided inspiration for my third pass at the challenge.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--creOzIK7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsnofvffs2kfhlvocxjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--creOzIK7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsnofvffs2kfhlvocxjh.png" alt="Project Diagram for https://justinthibault.xyz" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The diagram above shows the entire project that resulted in the &lt;a href="https://www.justinthibault.xyz"&gt;justinthibault.xyz&lt;/a&gt; site hosted on AWS with Terraform IaC.&lt;/p&gt;

&lt;h2&gt;
  
  
  Helpful Resources
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Free Tier&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://discord.com/invite/2PTwAth"&gt;Cloud Resume Challenge Discord&lt;/a&gt;: Don't even start without joining this. People are so quick to help and offer encouragement and advice. Every, single person there wants to help and &lt;a href="https://dev.to/forrestbrazeal"&gt;Forrest Brezeal&lt;/a&gt; does a good job at keeping the joint in line.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=e7vZe7qZFmE&amp;amp;list=PLEk97Q5Nj5oesA1WNk7DzaUpZUnCsQFVQ"&gt;LouJayBee's Open Up The Cloud&lt;/a&gt;: Regardless of the path you choose, Lou's a great guide.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://aws.amazon.com/training/digital/aws-cloud-practitioner-essentials/"&gt;AWS Cloud Practitioner Essentials&lt;/a&gt; course is great for newbies. If you're taking the certification, I'd direct you to the one on &lt;a href="https://www.coursera.org/learn/aws-cloud-technical-essentials"&gt;Coursera&lt;/a&gt; that has labs.&lt;/li&gt;
&lt;li&gt;Any aspiring Terraformer should check out &lt;a href="https://learn.hashicorp.com/"&gt;Hashicorp's Tutorials&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Paid Tier&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I'd suggest &lt;a href="https://acloud.guru/"&gt;A Cloud Guru&lt;/a&gt;: especially if you're learning this as a professional...it's a good timesaver. It's sample test was clutch the night before my exam. I'd suggest that if you're getting started, be on the lookout for a sale...they come up every now and then.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Retrospective: Advice for Professionals Starting in Cloud
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Learning Cloud is Worth It&lt;/strong&gt;: If you've got at least 10 more years of work in tech: you're going to want to invest some time in developing cloud skills AND set realistic objectives for what you'll do with it. For me, I've got two modest app ideas (a demonstration of a new approach to something at work and a reminder service for &lt;a href="https://beyondtype1.org/12-things-that-only-a-t1d-parent-understands/"&gt;T1D parents&lt;/a&gt; ) that I'm going to tackle in 2022.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Think Marathon - Not Sprint&lt;/strong&gt;: &lt;a href="https://www.athlinks.com/event/20296/results/Event/882085/Course/1688299/Bib/1335"&gt;And, no, that isn't just a cliche for me&lt;/a&gt;. My tax return has 5 people on it and I've got a cool - yet demanding - job. So, making the time to properly grok cloud development was very difficult. The flip side of this: unless you're in some sort of career crisis, you'll actually learn more valuable stuff if you take the time to not just complete a challenge - but understand it. &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;You don't know enough about what you're doing to properly estimate this effort&lt;/strong&gt;: The PM in me had to shut off the "progress bar" a few times and let myself be a learner. The strangest things will take more time than you'd expect. Here's a few highlights, in no particular order:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The frontend took me longer than I'd imagine. Part of it was learning Bootstrap and part of it was my total lack of design skills&lt;/li&gt;
&lt;li&gt;While IaC is cool, you really should only fully "Destroy" your site ONLY once as demonstration. I got a little carried away with Terraform's "Apply" and "Destroy" resulting in the need to go into Route 53 and setup name servers by hand. That's a Saturday I'm never getting back.&lt;/li&gt;
&lt;li&gt;Explaining how APIs work to support enterprise architecture is a couple of orders of magnitude easier than setting it up in AWS API Gateway and figuring out CORS. I had to &lt;a href="https://medium.com/taking-note/learning-from-the-feynman-technique-5373014ad230"&gt;use the Feynman Technique&lt;/a&gt; on myself just to understand what I was putting out into the interwebs.&lt;/li&gt;
&lt;li&gt;If you learned Python as part of a data science course, you probably didn't learn about writing tests. Let that irony sink in for a bit.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;If you do it right: your previous learnings will translate, but you'll still be amazed&lt;/strong&gt;: I'm old enough to have gotten paid to solve IRQ issues - so the first time I saw USB work: it was magic. I had a similar experience when watching my site come to life via IaC (and killing it and resurrecting it within minutes). While there is a learning curve and there are some new development philosophies and approaches from on-prem deployments: if you learned that stuff, you can learn cloud. The people are the most supportive in all my years in tech. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
      <category>terraform</category>
    </item>
  </channel>
</rss>
