DEV Community

Raj Nair
Raj Nair

Posted on

A beginner's dilemma

The title accurately describes my situation . I am in interested in web development , the UI of applications , the backend processes handling loads of data and data analytics because deriving a conclusion using huge amounts of data , creating predictive models seems fun and has my interest. I have started with web development as of now . I know HTML and Dart and I am currently learning python and CSS because I am having a lot of free time . So , how can I find my path ? Considering the fact that I am going to enter the workforce probably after 4-5 years , in which niche should I invest my time in ? ( I am from India and just cleared 12th grade exams).

Top comments (6)

Collapse
 
jvarness profile image
Jake Varness

Getting into web development is a great starting point, but it kind of sounds like you're interested in so many other things too! This isn't necessarily a bad thing, though in order to be successful it may be best to focus on skills that can help you gain a good grasp of both frontend and backend concepts.

Learning Dart and HTML and CSS is a great start. If you want to get into more full-stack development, I would maybe recommend learning JavaScript or TypeScript, and learning a framework that you can use to learn backend and frontend development techniques. Learning React will help you gain a strong background in frontend, Next.js can help you gain experience building more robust frontend apps while also gaining some server-side knowledge, and Nest.js can help you with building RESTful services.

Collapse
 
andre_orlowski_b2d1a3d47e profile image
Andre Orlowski

In my opinion one of the best investments as a junior (or even as a senior) dev is to sharpen your fundamental skills as a dev. That means for me writing clean, readable code. Writing good tests. Thinking about good names. Learn about requirements. Learn to ask questions better. Learn to not start work until you really understand what the goal is.

Collapse
 
amythical profile image
amythical • Edited

I think one mistake which even I made and I see in beginners is what you highlighted 'not starting work until you really understand what the goal is', wonderful and key advice.
As programmers we often convince ourselves that we understand the concept/problem when we really do not understand it completely.
I think the habit of questioning until we really have understood the goal/problem is key to develop at a young programming age.
I would like to add there are different angles to a solution too that one needs to start questioning and thinking about - performance, cost (of computation), maintenance.
A little advanced when starting out but reading more and including this in your thinking will go a long way.

Collapse
 
mauricebrg profile image
Maurice Borgmeier

in which niche should I invest my time in ?

That's something no one can really answer for you, at least in a concrete way.

I recommend you focus on a solid foundation, i.e. technologies that have been around for a while and will likely still be relevant in a couple of years. There are many hype topics that will try to suck you in, but they almost inevitably fall out of fashion after a few years.

Skills and knowledge that will most likely still be relevant:

  • Breaking down larger (business) problems in to smaller, more manageable chunks
  • Understanding a (business) domain and modelling data structures for it
    • Related: Data Modelling for relational databases and SQL
  • Messaging patterns in distributed systems, e.g., producer/consumer, publisher/subscriber
  • Networking fundamentals, e.g. ISO/OSI and/or TCP/IP model
  • Probably anything running in a browser, i.e. HTML, JSS, (vanilla) JavaScript
  • Being able to read and understand other people's code

Focus on understanding the concepts before you get too deep in implementation details.

What helped me in the beginning was finding projects that were useful and being used by either random people on the internet or people in your life. Having real users helped me stay focused on solving real problems and not getting lost in technical shenanigans or ideas of pure and ideal solutions (okay, I'm lying, I got lost plenty of times, but I found my way back).

Collapse
 
anitaolsen profile image
Anita Olsen*°•.☆ • Edited

Those are some very difficult questions, but one thing I have been told and understood is that you need to ask yourself what do you want to make? What do you want to get out of it? Then choose the languages which will help you to make what you want to make. I hope this helps!

Collapse
 
lico profile image
SeongKuk Han

I think that's the best time for you! The way I see it, as a person who has to survive to live by earning, sometimes, the fact bothers me and makes me blind not being able to see what I really want.

Just keep exploring new technology and build stuff that you want. It could be for money, help someone, help your stuff, or just for fun.

Try not to have doubt, what you're learning will come back to you with a lot of advantages. This is the time a lot of changes coming to technology. Have questions that makes you eager to more explore, enjoy contents, and keep going!

'Entry', 'Junior', 'Mid', 'Senior', 'DevOps' , 'WebDevelopment', 'Computer Science', 'Data Structure', 'Operation System', 'Networking', 'AI' and stuff, there are just places where you can lean more! I hope you're enjoying your learning journey! 👍