Career change: I know my final target and I have already started my journey. But now I realize the path is not so clear

Hello everyone, I am a 42 years old civil engineer currently working in public sector. Long story short, I always wanted to be in programming and about one and a half years ago I started to prepare myself for a career change.

My target is creating softwares for architecural/engineering applications. I was planning to use AR and 3D modeling. I was planning to have web/mobile applications aiding these softwares.

I chose to go on the track of JavaScript, as I am used to it after having experience on QBasic, Fortran 77, C and C++, VisualBasic since last 35 years. To be honest, I felt comfortable with it and I knew I could do it. I also knew about HTML and CSS, so for the last year, I completed the curriculum on freeCodeCamp.

But there comes a point where theory ends and practice starts, and I am at this point now. As I said in the title, I know my target very well, but I kinda feel my path is a bit foggy. I think I need to jump somehere from vanilla js but I don’t know where and how to jump. I am stuck between react and redux nowadays, I hope I can understand those, but then, I don’t know where to start.

I have my aims, but I don’t know where to follow next. For example, I will be dealing with point cloud of a structure (shortly the points with coordinates forming a 3D model), and I feel I will use these data but I don’t know where the time will come, because I feel like I am only able to open Visual Studio Code and create an index.html and app.js and that’s all.

I feel like I became professional at freeCodeCamp (or similar) challenges, but I don’t know if I can really code or I will be one.

This is not about where to change my career, my problem is about how to change my career, not about the result but the process.

I hope I have explained my issues adequately and clearly, so that you can give advices and recommendations.

Thanks in advance.

When it comes to filling the gaps of practical knowledge, the only real way to learn is to do. Start building a web application. Don’t worry about having a complete plan for every step of the project. Start by getting the basic application online and then add features one by one, step by step. When you hit a point where you don’t know how to accomplish a specific task or fix a specific problem, you then have something concrete to research, try, and figure out. Focus on achieving real, immediate goals.

2 Likes

Great post and a good question.

I would say start with something small, doesn’t have to be the software/app that you’ve always wanted to build. Start with something that will test your knowledge, searching skill, problem solving etc … it could be a simple template where you add 4 coordinates to create a cube. Then maybe look into libraries that will add in dynamic 3D rendering and integrate it.

It’s all about trying and experimenting. Theory and practical are completely different in my opinion. You will come across problems that you’ve never thought of in the theory aspect.

Redux and state management is pretty advanced in my opinion and I never touched it until I was confident with applying the core foundations without having to google every 30 seconds.

Go all in and experiment with what you’ve learnt. It’s the only way. Then overtime build more complex apps and move forward.

1 Like

I usually use the analogy of “building a bridge to your goals”. The analogy is based around the idea your skills are at a place, and there is a “gap” between you and your goals. That gap is what you want to build your bridge over so you can get to your destination.

The key thing about this analogy, that isn’t like real-life, is that you don’t actually know which direction to build your bridge, along with not knowing much about what it takes to build it so you can get there. You can easily start building a bridge by learning things, but maybe the skills you gain by building that bridge might transfer over, and maybe you even start seeing how it gets you closer to your overall goal, but this isn’t a guarantee. You could also be building a “bridge to know-where” or end up at some other place you didn’t originally want to get to.

JavaScript/HTML/CSS/React/Redux are all things related to web-development. FreeCodeCamp focuses on web development as its an easier career to break into and is easy to teach/use as its framework for learning is the web-itself, which makes it very accessible.

That said, it isn’t the only path, nor is it the best path.

If you want to be able to build software for AR/3D modeling, the web does offer some capabilities to get started with, but they aren’t React/Redux, or even the DOM, or CSS. Most of this is the traditional web experience. To build AR/3D you actually end up leveraging 2 key technologies available:

  1. Canvas based technologies
  2. Web Assembly

Both of these allow developers to create stuff using different API’s techniques and even languages! (web assembly) that then can be used within the browser. This makes them accessible, performant and unconstrained by the DOM.

Web Assembly could be done in any language, to the point you can find demos where Web Assembly runs something like DOOM, or windows 95 in the browser. Or more practically something like Figma.

On the Canvas side, you can find game engines and things like https://threejs.org/, which allow you to render complex 2d/3d objects within it. Unlike Web Assembly, you’ll be stuck with JavaScript here still, but the possibilities open up.

1 Like

I was feeling the urge to do the same things that you wrote, I need to start a project and improve it day by day.
But here comes another quick (and personal) question: For example I want to make a very basic online kanban board for myself to start, but I really don’t know even where to start for that. i.e. Should I buy space for that page from a hosting company? where to upload my files? Can I put index.html, styles.css and app.js files directly as I do on my computer?
Question questions.

And thank you for your reply, it will surely make me start doing something for my plans.

Thank you very much for your reply, it is really appreciated as your comments are directly on the point that I asked.

Especially, your comments on redux and state management really changed my day, I was feeling it but hearing it from someone else is making me feel better.

This was a big problem for me and I couldn’t find any info/comment on that. So your comments are really very valuable to me. I will be putting less effort on responsive web design from now on.

So now, I guess I have to start, just start, and if I encounter a problem, search/google it, if I can not find anything, ask here for help.

PS: For example, I haven’t ever thought about creating a simple template for 3D objects before your message. Thanks again, for enhancing me within this, in addition to all your comments.

I read this book the past weekend. I’m 31 years old and was a lawyer for the last 7 years.
This book gave me some insights about other things in the “developer area” outside the literary “code”, and how to connect with the developer community.

1 Like

First of all, thank you very mych for your detailed reply. After reading it, I felt like I was standing in the middle of a junction and trying to build bridges in all directions.
I knew my goal, but, as you said, actually I didn’t know which direction to go.

For example, again as an intuition, I was thinking about learning C# to program those kind of softwares, but after all, I ended up in JavaScript as I was feeling that it offers web/mobile opportunities. But never heard about canvas based tech or web assembly before. Or Figma.

Yesterday, after your message I started looking for these concepts and I felt very confused and I realized myself standing at the very start of my process to construct my bridge.

Thanks for answering my question and giving me advices. Your comments are much appreciated.

1 Like

Thanks for the recommendation.

Interestingly, I don’t normally read weekly mails from various websites, but I realized I am reading the mails from freeCodeCamp and Quincy Larson. so this one should be really beneficial for me.

After your mesaage, I checked and bookmarked it to read.

Although I felt more confused after asking questions here, this should help me a lot.

Thanks a ton.

The only effective method of learning when it comes to bridging the gaps in practical knowledge is through doing. Create a web application now.

Get the fundamental application online first, and then gradually add features. You have something concrete to explore, try, and figure out when you reach a point where you are unsure on how to complete a task or solve a problem. Focus on achieving concrete, short-term objectives.

1 Like