Hey there!
I'd like to learn to code. I don't have any special talent, but I have a strong desire to change my life.
I see that a lot of people start with HTML/CSS, but some tell me that I should first start with the Fundamentals of Computer Science. Which path is the right one to take?
I don't have any illusions about "learn everything in 30 days or less", but in a year I want to be hired as a Software Dev. What would you say, is that real?
Top comments (15)
Some advice on becoming Full Stack Software Engineer.
If you are looking to learn to get a
Job
, Currently bothJava
andC#
will help you get Job inMNC
companies. AlsoGo
language is coming up, i heard many startups are using it for making cloud native apps. You can do market research for bothJava
andC#
in your area and then decide.Java
andC#
has some common syntax style , so you can switch over each other easily.I feel
C#
gives developer happiness and makes developer life easy because its easily maintainable for large projects and by providing tools likeVisual Studio
andVS Code
its easy to code faster.Don't be confused of choosing the best language, Just choose one after your research and start learning, if you don't like you can switch over other easily.
Full Stack Software Engineers
who build web Apps are in demand.Below is 11 step path to become
Full Stack C# Software Engineer
:Github
1.2 Learn
Git
andGithub
basics to Push projetcts to yourGithub
Github
Github
Asp.NET Core
- A Web Framework to build Both UI and Backend in one go. Do 2 simple Project, Push it to yourGithub
Asp.Net Core Web API
- A API Framework to build RESTFULL API's. Do 1 simple Project, Push it to yourGithub
.JS
framework likeAngular or React
, Do 2 simple Project , Push it to yourGithub
.Job
as beginner then move on from there.Watch below video and the channel content - Learn all for FREE.
youtube.com/watch?v=RiKcSDbGVXw
2 Ways to build Web Apps in C#:
youtube.com/watch?v=C5cnZ-gZy2I
Asp.Net Core Web API
and Consume it usingJS
frameworks likeAngular
orReact
Asp.Net Core Web API
- For BackendAngular
orReact
- For UIyoutube.com/watch?v=fom80TujpYQ
youtube.com/watch?v=NemyDIUcC64
That's Just basic
CRUD
based tutorials, Advanced projects based tutorials like a Ecommerce shop etc you can search online to learn more.Hope this helps. 😄
Thanks for sharing! This list is very similar to course list in school. :)
Depends on your path.
NOTE: All this is just my personal opinion.
For web dev, you have to learn basic HTML, CSS, and JavaScript. And then probably go on with a backend language (Ruby, Python, NodeJS), and a front-end framework (React, Angular, Vue).
For other things (CLI, Scripts, Automation) I recommend learning Python, as it is good at most things, but not great, except Data Science and ML, which it excels at.
For the lower level stuff, have a solid grip on programming concepts and then learn C/C++ and a bit of assembly (for operating systems).
Once you have a basic understanding of your chosen language, then you can start learning the fundamental algorithms and theories of computer science.For
I recommend starting off with Python because of its simplicity, and power (not speed). However it is up to you to decide the tools you want to use. 😀
Welcome to DEV and,
Happy Coding.
What would you say about JS?
If you want to do anything with the web (which is becoming more and more popular these days), JavaScript is a must. I feel like you must have a solid understanding of HTML and CSS before learning JavaScript. Be careful though, because JS is a framework and library heavy language, don't go into JS because of frameworks like React, Angular, or Vue.
If you're interested in developing for the web, then html/css is fundamental. JS should follow shortly after. then you can start learning "frameworks", like react, angular etc. The danger of learning react from the get-go, is firstly it only means you know how to code "react", and if you move to a company that uses angular, you might get lost.
If you are interested in front end, of course it is not limited to web. You can decide to be an iOS/android dev.
If you are aiming to be a software developer, learning CS fundamentals is not necessary, although it depends what you mean by fundamentals. Do you need to learn and understand logic? Yes. Do you need to spend a school term learning the ins-and-outs? nope!
In a year, possibly. It all depends if you have a natural "talent" for it and/or how hard you work for it. Luck could also be a factor. You might find an employer that sees your potential, and take you on, even though you skills might be lacking right now.
Good luck!
It is definetelly doable, good for you.
I would personally NOT start with fundamentals of CS as they might be a lot of theory and turn you off but if you are into theory go ahead.
I would start from something more tangible that you can create something in the end of the exercise. Like hands on tutorials of the language(s) that you will decide. And when something is not clear jump to theory and fundamentals or documentation of the tool you are using.
HTML/CSS are good first dives into software development if you want to be a web developer (mostly) but if you are thinking about a different path find out what languages/frameworks are used nowadays on the particular field.
freecodecamp.org/ has lots of resources and study guides for you to start (I think this site it leans towards the web development field though).
Keep working on some projects/tutorials and each project might lead you to deepen your knowledge on something else mentioned or worked on follow that path if you are curious enough.
If you get stuck along the way post a message like you did now. The more specific the question the more people you will generally have posting trying to help.
Enjoy every step and you will do fine.
I would start out with Go, Java, or Python first. I work in the Enterprise and the landscape is changing fast. Java is not what companies are looking for much anymore. Javascript is def a must. Rust is up and coming along with Deno.
I think you can either aim for a particular industry, e.g. pharma, finance, education, or you can aim for a type of work, e.g. phone apps, web sites, desktop apps, embeded.
You should have a look around where you live, or where you want to work, for developer job vacancies, especially entry level, to see what the market need is. That can help you make the decision of what your should learn about.
Web development is often a popular way to start because
a) it's easy to build a portfolio because of the free tools and hosting
b) there are lots of free online tutorials to get started
c) it's easier to pick up freelance work (I'd never call getting freelance work easy, but lots of people want web sites)
But it's not the only way to start.
You local community centre might offer programming courses, which would also help you make contacts.
From 0 to employed dev in a year is a hard slog, but you might do it.
I thought I might stick to an online course. Doing some research on my options atm.
Yes you can, but take it as a full time job. Study / Practice (do projects) 8-10 hours a day, for a year and you can be hired as a junior dev. If possible, try to get a more seasoned dev as a mentor
That's about 2.5k hours, right? Which language would you suggest to start?
Just my personal preference, Ruby on Rails, with stimulus.js and turbolinks in the frontend, it's a happy journey.
Javascript is a must, at least for frontend. Vue.js has a low easy learning courve
I believe Frontend & Python or Go you can learn fairly quickly.
Do you mean that for an "average joe" it's hardly possible?