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...
For further actions, you may consider blocking this person and/or reporting abuse
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 π
sounds like a really nice plan πbeginners starting now might benefit from this
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
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 π€
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.
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.
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.
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
your comment will actually help the beginners, got some nice tips from people, thanks for sharing β€
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
Wow, must be amazing to be in tech since like the very beginning π― Sounds so interesting!
Hardly "the very beginning", but I've certainly seen a lot of change
I wouldn't have started with Java. And on my own. It would have been C and with a mentor.
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.
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!