1

How Can Junior/Mid-level Engineers Effectively Integrate AI into Their Coding Workflow?

Profile picture
Mid-Level Software Engineer at Taro Community2 months ago

Hi everyone,

I’m a junior software engineer with about 1.5 years of experience, and I’m looking for advice on how to best incorporate AI tools like ChatGPT, cursor, or similar into my coding workflow.

As a junior, I want to ensure that I’m:

  1. Learning and growing as an engineer, rather than becoming too dependent on AI.
  2. Improving problem-solving skills by understanding the “why” behind solutions.
  3. Using AI to accelerate my workflow without sacrificing code quality.

What are some strategies or best practices for leveraging AI tools as a junior engineer? How do you strike the right balance between using these tools and learning core concepts on your own?

Any insights or personal experiences would be super helpful!

Thanks!

80
2

Discussion

(2 comments)
  • 1
    Profile picture
    Eng @ Taro
    2 months ago

    Here are some suggestions to ensure you're learning effectively while using AI for code generation:

    1. Understand the code before using it: Avoid copying and pasting generated code without fully understanding how it works and why it's being used.
    2. Critically evaluate the approach: Always assess the code critically to determine if it's the best solution for your specific context.
    3. Clarify doubts through dialogue: If you sense something might be off, ask: 'You suggested doing X, but I was considering Y. How do these approaches compare?' This can help deepen your understanding and refine your decision-making process.
  • 0
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    2 months ago

    I love the learning instincts shown here! It's great that you're self-aware about how taking shortcuts too aggressively may stunt your learning.

    Anyways, here is the simplest explanation I can come up with leveraging AI properly: Only use it to write code that you're already sort of familiar with.

    AI can grease productivity wheels and augment learning. It shouldn't replace them entirely by spitting out all the code you need which you then blindly copy-paste. This is a prime recipe for disaster I've seen way too many junior engineers fall into. The second you run into a tricky bug or a very custom feature, you will be completely unable to address it.

    The overall workflow I follow is:

    1. If I don't understand the space - Learn it organically with the traditional method of trying a lot of stuff out, asking trusted peers/experts for advice, and building things (often side projects). Minimally use AI, only for small things like "Teach me how to write a foreach() loop in Swift".
    2. If I do understand the space - Use AI liberally, largely as a macro to write code I already know how to write but don't have the full muscle memory. Rendering a list in mobile is a classic thing I use AI for. Another example is I have a bug and I understand most of the context, but I'm stuck and just need more ideas to try.

    Follow the advice from the code quality course as well, particularly around technical domain understanding: Level Up Your Code Quality As A Software Engineer

    Here's a good tactical thread about AI as well: "How is AI increasing your productivity?"