DEV Community

ashish
ashish

Posted on

If you could go back in time and restart your coding journey again, how would you do it?

Just imagine that you suddenly got access to a time machine and you can go back to the past now and change things as you like. There maybe a lot of things you want to change but let's only talk about "Would you change your coding journey and start it differently this time? If so, how would you like to start it?"

Though it's not been that long since I started coding, but still I want to change some things. Here's how I would start it-

I would start with learning html/css and then move on to JavaScript. And I would also like to get adapted to TypeScript as soon as possible. Once I've completed these basic necessities needed for webdev, I will choose a framework to learn and it wouldn't be React this time! The frameworks I would start with would be vue and Nuxt. Gradually I would also like to explore Svelte and NextJS. Once I feel confident with my webdev skills I would like to start learning more languages starting with Rust and then learning some more like Go, Python, C#, Lua and Elixir. Once I feel confident about rust I would start exploring things like making GUIs, Desktop Apps, Web Apps and CLI Apps using Rust.

Comment below to share yours ♥

Discussion (15)

Collapse
kaylumah profile image
Max Hamulyák

There are two things I would change:
1: Focus on becoming a specialist rather than a jack of all trades
2: Start blogging and sharing experience way earlier. In essence blogging is a great way to rubber duck. Writing a post is like explaing it do the rubber duck.

Plus the additional benefit would have been some sort of backlog / knowledge base of everything trick I picked up while I was learning it

Collapse
asheeshh profile image
ashish Author

your comment will actually help the beginners, got some nice tips from people, thanks for sharing ❤

Collapse
codewander profile image
codewander • Edited on

I would have gone slower and accepted more of the limitations of the companies that I worked in, and I would have avoided haskell, scala, and ocaml professionally.

I felt limited working in single tenant systems when startups were building mostly multitenant cloud systems. I felt frustrated working on a platform system at a very slow pace with many meetings. I should have accepted work as mostly a paycheck with low learning potential and focused my learning/training on night time exercises.

I have ended up with this strange path so far:

  • class / self-taught / any programming job that will take me
    c++ -> scheme -> coldfusion -> cobol -> coldfusion

  • reach for more complex jobs involving AI and settle for other jobs
    delphi -> c# -> php

  • try programming on my own and prepare for and go through grad school
    python -> scheme -> clojure

  • engineering job after grad school
    scala

  • try for more sophisticated languages and more complex jobs using algorithms or dealing with distributed systems
    haskell -> scala -> c# -> haskell -> scala -> ocaml/rescript

  • get back to basics, return to scalable backend systems
    golang

I feel like I learned very little about how to build scalable systems, beyond minding correctness and testability, while using haskell and ocaml.

I wish I had done something like the following and just built scalable backend systems:
java -> ruby -> python

Collapse
asheeshh profile image
ashish Author

even though I'm no yet working anywhere, according to me there's a very little scope to learn in the 9 to 5 jobs, and is one of the reason I don't want to do that, I want to keep learning new languages and frameworks as much as I can and work on open source projects which would help other developers, becoming a full time open sourceror ain't that easy but doesn't hurt to try!

Any particular reason to start with java? I'm wondering about it 🤔

Collapse
codewander profile image
codewander

If I were you, I would work. I found that I do learn a lot at work, it's just that it's in a narrow set of technologies for a narrow problem. When I just do open source, it feels like I learn slower and produce less, as well as feeling a little aimless without the end users. Some people probably feel connected to users if they really like developing libraries, but I have never been drawn to implementing libraries.

I wouldn't pick java now. I just meant java at the time when I started work (before rails existed and before python had significant usage). If I were starting now, I would just use python, since I don't want to work full stack and I suspect python has more stable, better engineered libraries than node.

Thread Thread
asheeshh profile image
ashish Author

It's not like I would not try to work, but yes doing oss with a job would surely be difficult, so I'd rather keep making some oss tools till I get a job good enough to make oss part time work, but yes I really like developing things other developers could use, so I tend to go more towards oss.

yes, I get you now, java was surely a better choice before people started using python more.

Thread Thread
codewander profile image
codewander

Some of the bigger companies have roles for "developer experience" or "developer productivity" which you might like. There are also companies like gitpod. I am interested in that type of work as well. I might end up working in it later.

Collapse
andrewbaisden profile image
Andrew Baisden

I would start learning programming from a younger age and I would make it a hobby alongside gaming. So I would be invested in doing it every single day. Then I would learn JavaScript, Python and C# and get them all up to the same level. I would make React my main framework and go all in on full-stack development. Learning SQL and then NoSQL databases.

I might also capitalise on the fast growth of WordPress back in the day and create dozens of websites for freelance giving me many clients for the future. And I would become active on ALL social media networks so that I have hundreds of thousands of followers before the year 2022 😁

Collapse
asheeshh profile image
ashish Author

sounds like a really nice plan 👍beginners starting now might benefit from this

Collapse
jonrandy profile image
Jon Randy

I grew up as a programmer - starting aged 7 back in 1983... and the tech grew with me. Faster and faster processors, increasingly more storage, improving graphics capabilities, the advent of the web. Overall, a superb time to be learning.

It's been a blast, and the exposure to so many different technologies with all their associated limitations has given me a deep understanding of programming.

All our mistakes are part of the learning process, and allow us to grow. The culmination of all my failures and successes made me the developer I am now.

If I went back, I wouldn't change a thing

Collapse
yuridevat profile image
𝕁𝕦𝕝𝕚𝕒 👩🏻‍💻

Wow, must be amazing to be in tech since like the very beginning 😯 Sounds so interesting!

Collapse
jonrandy profile image
Jon Randy

Hardly "the very beginning", but I've certainly seen a lot of change

Collapse
gjorgivarelov profile image
gjorgivarelov

I wouldn't have started with Java. And on my own. It would have been C and with a mentor.

Collapse
yuridevat profile image
𝕁𝕦𝕝𝕚𝕒 👩🏻‍💻

Very good question though!

I would start nearly the same, but work with Frontend Masters much earlier as well as focus on Javascript a lot more before jumping right into React!

Collapse
taijidude profile image
taijidude

I would start learning and using a scripting language to build small tools way earlier. Also i would start using a shell way earlier and really becoming familiar with it.