How to choose the next step and when should I take it?

Dear friends, how are you today?

I have two questions and I would appreciate if you could share your opinion, please.

I am 47 years old, I’ve never had direct previous experience with IT before. I’ve been studying Python for 10 months now and I’m loving it! Solving Exercism exercises has been so enjoyable and fun that I could spend years just studying Python and solving exercises here. Honestly, I wake up every morning super excited to learn more about the language and practice here.
But there’s another side of me that realizes the tech world is made up of infinitely complex universes. Two days ago, for example, I was solving an Exercism exercise in VS Code and thought it would be good to create a Git branch to solve the exercise in another way. Before I realize, I had already left the exercise aside and entered the Git universe (I understand Git main concepts, but I don’t know yet how to use it).
So, for a beginner like me, who is studying alone, on my own pace, without a formal course, it is very difficult to have discernment in two aspects:

  1. Have I learned enough in what I’m studying now to allow myself to study something new?"

I just got mentored (so brilliantly) by @MatthijsBlom on the “Transpose” exercise. By iteration 9, so wisely, he wrote (about programming):

Well, first comes how to say things , but after comes what is even worth saying .

This sentence blew my mind because it seems so true!
How can I measure how much I already know about how to say things in order to move on to other universes beyond the programming language? Honestly, even though I’ve been trying my best for the past 10 months, I feel like I know very little about Python (after all, 10 months is not that much time!). But am I studying “Italian” to become an expert “Italian translator” or to “travel to Italy and communicate”?
Some people have told me that I will never fully master a language (or technology) and even if I did, changes in the tech world happen so rapidly that I would easily become outdated.
So, should I stick with Python or should I simultaneously study other tools and technologies?

  1. What new subject (technology) should I study?

The other day I woke up wanting to create an app for my condo, so that residents can use technology to book time slots for the building’s common areas such as the gym, sauna, party room, etc. So, I asked ChatGPT what I should study to develop such an app. In short, the answer was:

  1. Programming Language: Python.
  2. Web frameworks: include Django and Flask.
  3. Front-end technologies: such as HTML, CSS, and JavaScript to build the user interface of your app.
  4. Databases: Some popular choices include PostgreSQL and MySQL.
  5. APIs
  6. Cloud platforms: such as AWS, Google Cloud Platform, or Microsoft Azure.

So, I realized that maybe I have taken too big of a step, because this seemed to be a very large project. Do I already have the minimum knowledge for step number 1 or should I stick here for a while?
Should I sequentially start studying the steps 2, 3, and so on?

Should I choose my next steps (next “universes”) based on projects that arouse my curiosity or should I think more about realistic aspects, such as “types of jobs in the technology field with high demand,” for example?

Kind regards,

Rod.

1 Like

Hey @rodfarah!

Thanks for sharing your experiences, and it’s great to hear you’ve been enjoying Exercism :)

Two questions:

  1. Are you trying to get a job in tech or are you learning for enjoyment?
  2. Is there a sphere of project that interests you (e.g. making websites, making apps, making games, machine learning, data science, scientific computing, or any of the other phethera of things).

Understanding more on those two will help people here guide you better :slight_smile:

Hi, iHid! Thank you for your reply!

1- I am trying to get a job in tech. I am a musician, changing careers. :wink:

2- For me, personally, as a beginner, it’s really tough to understand all the different types of careers the tech world can offer me. Sometimes I understand the characteristics of a particular career, but do I have the technical skills and connection to actually pursue it? It seems like there’s a huge gap between where I am now and where I could end up.

Sometimes I think that I’ll only reach a destination if I take step-by-step actions. Each step will direct me towards a destination because I’ll decide on the direction through trial and error, figuring out what I like and don’t like.
Other times, I think it would be important to aim for a destination so that I don’t “waste too much time” taking potentially inconsistent steps along the way (after all, I’m already 47 years old).

In the end, all I have is an awareness of my personal skills:

  • Resilience
  • Passion for challenges (I won’t rest until I solve them)
  • I enjoy using reasoning and logic, but I don’t know if I have the ability to think “outside the box” when necessary in search of alternative solutions to problems. I’m a bit Cartesian.
  • I like to embrace new challenges and transform myself, meaning I like to get out of my comfort zone.
  • Ability to easily express myself and communicate with others.
  • Ability to accept and follow the flow of things (root, trunk, branches, leaves, flowers, and only then, finally, the fruits)*.

*This analogy in particular is difficult to understand when applied to the tech world. Do I have to be so process-oriented, or do I have to study several things in parallel?

Intuition also guides me, and through it, I could say that out of the list you mentioned, even though I’m not completely sure, creating applications might interest me the most. In the end, as a beginner in the tech world, I feel like a person who has an interest in being a musician but isn’t sure if wants to learn (or even just doesn’t know anything about) jazz, rock, blues, classical music, etc.

What to learn depends a lot of what you want to do. With Python I see different fields:

  • data science
  • ML
  • (Linux) tooling
  • Web APIs

At least my experience.

I would not start too early with frameworks. Biggest problem I see is, that junior devs are so focused on single frameworks. It’s always good to understand more about the general stuff. It’s really also about data structures etc. A bit about memory. For sure algorithms, too. While I totally dislike those things as interview questsions, it’s good for you to understand better.

But it really depends on the field you are targeting. Wile foundations are never wrong, good chance you don’t need much depending on your decision.

BTW, you definitely can master some stuff in the field. It’s just the question if you want to know really everything about one part of CS, or want to go for a broader approach. But at the end, you should actually learn forever.

One thing that will help is trying not to be a perfectionist about things and just trying some different stuff out. That can be hard (especially coming from a musical background!) but it’ll help you get a feel for what feels fun. Could could have a month where you try and experiment with some “how to build X in 3hours” style tutorials and see which ones light you up. Don’t necessarily try and learn anything during it, but just seem what seems the most fun and what melds most with the way your brain works. Edging in a direction and learning all the different bits of that world is probably a good middle ground between setting a destination and just exploring everythng.

For inspiration, rewind three years ago and @dem4ron was a musician wanting to change careers into tech, and now he works for Exercism :slight_smile:

Thank you so much for your advice, @deleted-user-33691 ! I will keep that in mind! :wink:

Thank you for everything you wrote, @iHiD ! Makes perfect sense! I’ll actually try, for a while, to explore new topics in a lighter way, without delving too much into each concept so that I can picture how it all fits together. Maybe this way, I can navigate my path in a way that connects my skills with the topics that bring me the most joy in learning.

1 Like