What advice would you give to someone who is trying to teach themselves software development skills? I’m doing that right now, and I’m finding it easy to understand, yet difficult to implement in computer code. I want to move onto more advanced stuff, but I feel that I don’t have enough experience quite yet. What skills/courses would you recommend I take? How did you get better on your coding journey? Any tips to make the process go faster? Thanks in advance!

  • vcmj@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Like others have said, practice is key, however I’d like to add that you should not feel too discouraged if it feels like you’re making no progress. You’re probably making more headroom than you realize. At least personally in programming more than anything else I have occasionally only seen results after I came back to a concept I gave up on learning.

    spoiler

    Do be aware of getting stuck in local minimum though. I know it probably feels like bad advice but I figured I’d give it since it helped me personally, so maybe it might help someone else.

  • jmk1ng@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    BUILD SOMETHING.

    Learning concepts without the ability to apply them are essentially useless.

    Get your hands dirty and build something that would be valuable to you and solve a problem for yourself.

    Don’t get hung up on doing it “right”. Focus on making it work. Don’t worry about how it’ll work for a million users. Right now your focus is on making it work for one user.

    As you go you’ll hit walls. Research how to get past them and keep going. Again, you’re going to make mistakes. DO NOT GET HUNG UP ON THIS.

    Making mistakes is part of the journey. Even the best software engineers in the world rarely get things right their first try. It’s part of the process.

  • Elanor@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Keep practicing.

    Read other people’s code, for example open source project. Contributing to open source can be good practice also.

    Find a mentor.

    Pick a team at work that has the skills and culture+capacity to mentor you.

    • kraegar@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Open source contribution can be really great. I started contributing to a Python project that I have used extensively and it 100% improved my coding. It also can allow for you to interact with more experienced devs (depending on the project) and allows for you to get feedback.

  • 42daleks
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    These are some good questions.

    Choosing a skill to focus on is a combination in what your are interested in, what you enjoy, what your current position requires, and what you feel may help your career.

    Learning something new and master a skill you are proficient at can be very satisfying. A great way to learn a complex software skill is to build something or some things.

    You might approach this by:

    • If you don’t really know the basics yet, practice them - creating a new project/application/configuration quickly and accurately will make the rest go much easier
    • Pick a big project you can build in pieces and work through it
      • While this might be a step-by-step course, video series, or book, picking a project and having to work it out, even with a lot digging can stick with you longer. Learning the skills of figuring and digging can also be beneficial. In your career, you will likely have many times where the resources are thin and it is up to you to work out answers to complicated questions
    • Once you have built something, you can share with others, or keep a journal - either way build on it some more or build something new
  • oessessnex@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    First focus on working on projects instead of improving your skills. The concepts you learn are usually a solution to some problem. Things are easier if you first encounter the problem yourself and then learn the solution, than if you do it in reverse. It is ok to do things poorly when you are starting out.

  • russ@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    One thing i undervalued for most of my career was just reading code.

    Get into the habit of digging into open source repos that catch your curiousity, and try to grok the way the project is layed out, what namespaces/files exist, what some of the core functions are, where the complexity is housed.

    It’s all about getting exposure to patterns, especially if there aren’t other people to work with in your day to day.