DEV Community

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

ashish on May 26, 2022

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...
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

sounds like a really nice plan πŸ‘beginners starting now might benefit from this

Collapse
 
codewander profile image
Kanishka • Edited

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

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
Kanishka

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

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
Kanishka

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
 
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

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

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
Julia πŸ‘©πŸ»β€πŸ’» GDE

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
 
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.

Collapse
 
yuridevat profile image
Julia πŸ‘©πŸ»β€πŸ’» GDE

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!