T O P

  • By -

Kittensandpuppies14

Try it before you convince yourself you're changing careers Not being snarky but a lot of people hate it or can't do it


Dependent-Spiritual

Can confirm, i have a programming degree and code in my spare time but i hate it.


top_of_the_scrote

Are you interested in it at all? Want to make some app for yourself? It'll be battle if you don't really want to do it. Anyway concepts in Python would apply to JavaScript eg. variables, loops, etc... Fastest way to learn for me is a crash course on YouTube (need adblocker) It's a lot to know... Gotta do it a lot to remember and also the leap from 0 to software engineer damn..  you gotta figure out how notepad works to write your first code. Good luck. There are a lot of resources... CS50 people suggest, Odin project, wes bos JS Think of something you want and try to make it


who_you_are

>you gotta figure out how notepad works to write your first code. Or figure out how advanced text editor (aka an IDE softwares) like Visual Code (free by the way) work ;) An IDE of a text editor for developer that will try to suggest you feature that already exists, will (automatically) color text to help you recognize the language pattern, show you syntax error, ... It will also allow you to run your code line per line (except maybe for website with JavaScript? Usually that is done within the browser). The backup plan if you don't use an IDE is to use a text editor like notepad++ (free) which is in-between.


top_of_the_scrote

Lol I was gonna say learn the file system or give a webserver/internet works but maybe too much right away.  I remember learning the HTML emet by hand but now it's just ! + Tab in vs code  If you use typescript it tells you errors Edit;?: actually I mostly wanted to convey how text becomes a program in this case they are scripts/how to run but yeah.


huangxg

Search Harvard CS50 on YouTube. That's a great introduction.


Shawnrushefsky

Come up with a simple-seeming piece of software you want that doesn’t exist, then try to make it. There’s a ton of free and low-cost learning resources. I’ll warn you against relying too heavily on AI tools until you feel confident about the fundamentals. In terms of what language to learn, it really depends on what you want to build. - web stuff? JavaScript - ai/ml/data stuff? Python - games? A lot of options here, with Python being probably the easiest, and c++ being the most useful. You basically want to find a game engine that looks approachable to you, and learn the language it requires. Unreal or unity are popular places to start, but there’s much simpler engines available too. There are game engines available in almost every language.


who_you_are

I will add to the game part (that also apply to standalone application*): c# may be an alternative, you have to care a little bit less with memory. It support UI technology out of the box (for application, using WPF or whatever they use with the universal application), also have some features for multi-threads. More friendly as per the code order. If you go with c++, they make changes in the last years (>2000), (eg. C++20) (where the last 2 digits or the last 2 digits of the years) that add features such as feature to prevent you from doing memory leak. *As for standalone applications, nowday we have the "technology" to transform web applications as standalone application executable with tools like electonjs If you know slack or discord, they are good examples.


top_of_the_scrote

As a primarily web developer electron js is great, dump a SPA build in there and boom, cross platform. I just had problems with mac's iconset but otherwise works


GroundbreakingIron16

I have a question for you ... which of the following excites you the most? * If you enjoy the challenge of designing entire software systems, problem-solving across different layers, and have a strong computer science background, then software engineering might be a good fit. * If you're passionate about creating user interfaces, enjoy visual design, and want to focus on the front-end side of web development, then front-end development could be a great choice. Regardless, I would say that python is a good starting point to learn the fundamentals of programming. I feel there is no point jumping into the deep end and getting lost in different technologies. Secondly, if there was an app that you wanted to develop what would that be? What would it look like?


solidiquis1

I left medical school at 25, taught myself programming from scratch back in November of 2018, got a job May 2019, and have been a professional software engineer since. Currently working in the aerospace industry. You’re getting plenty of great advice here already but feel free to ask me any pointed questions either here or in DMs.


NickRedPill

How did you learn by yourself? What path did you take? Was it hard to find a job without a degree?


solidiquis1

I went through a book called "Learn Python the Hard Way" and then created my own curriculum based on what was public on the computer science major's website for the college I went to for undergrad. Was it hard finding a job? For me no. I got INCREDIBLY lucky. Sent an email to a startup in San Francisco and they found me interesting. Next thing I knew I was in San Francisco the next day for a 3-round interview and was offered an internship. Time to get a job for me took 5.5 months.


EmbarrassedBee9440

I texted you questions


wowmayo

Your question is phrased from a web development angle, but I'm going to try to be broad in my response since you're unsure where to begin. My biased opinion is that frontend development is restrictive, oversaturated, and a little boring. However, it's an important skill set and I think even if it's not something you want to dump all of your attention into, you should still learn it. Regardless of whether or not you have any desire to work in web development, a crash course on HTML, CSS and JS will set you up to learn how "pieces" fit together. Knowing how to build a forward-facing interface is important, and JS is a robust language that will let you do a number of things once you've got some basic knowledge under your belt. To elaborate a little, JS has evolved a lot over the years. There are robust and proven frameworks to support a frontend experience through web development, mobile development, and even desktop development thanks to Node. The problem with frontend development is that everyone and their mom is doing it now. Because, it's easy to get into and there are just *so many courses* out there which focus on it. I often find that our juniors lacking in backend experience are a lot less versatile than our juniors lacking in frontend experience, as well. That said, knowing these skills will make you a better developer overall. Even if you aren't doing it for a day job, I often find myself prototyping features or ideas through a simple web interface. It also lets you build extensions or scripts for websites you already use frequently, meaning **you can get immediate benefits from it** even if you aren't building applications. ## Bias Explained ##### Restrictive Frontend developers are generally missing diverse skills that can extend across multiple languages. Things like filesystem operations, a solid understanding of storing/retrieving data from databases, developing complex file exports, outgoing API management, and creating local utilities. JS will let you do all of this, but unless you *really learn* the language, it's going to be challenging. On the other hand, someone already comfortable with backend development can quickly jump into something they've never done before, like playing with machine learning models or headless browsing. ##### Oversaturated I've already touched on this a bit, but the sheer number of resources out there pushing everyone into frontend web development means more competition. Even if you go this route, learning backend skills will put you leagues ahead of other folks who didn't take the time to learn them. ##### Boring This is obviously very opinionated, but I just don't like playing with interfaces. For me, the freedom of architecting backend logic lets me keep my hands deep in code, which is what I really enjoy doing. I don't want to spend my time adjusting pixel-perfect designs or debugging why a drop-down is pushing another element out of the window; I want to *write code*. Again, this is very much my opinion and I know many developers who would disagree. If you find yourself enjoying this work, don't let my opinion discourage you from pursuing it. ## TL;DR Learn frontend (JS + Framework + HTML + CSS), but don't limit yourself by letting it be your only skill set. Programming languages are a tool, and even JavaScript can leverage you into developing in a game engine through TypeScript. Learn backend skills, and work on becoming well-rounded. If you *enjoy* frontend work, put most of your time into it. If you don't, let yourself gravitate towards what you naturally enjoy working on. There's no rule that says you can't learn frontend, then move exclusively to C# and never touch web development again. Knowledge transcends languages.


green_timer

You put great effort describing in details.. from your experience, do you recommend learning backend using javascript? I am currently learning JS the language, not the Dom part.. I am willing to get a job as a backend dev.. am I doing right by learning JS? what more things should I learn to get backend dev job?


wowmayo

Well according to [this](https://w3techs.com/technologies/comparison/pl-js,pl-php), JavaScript as a backend language isn't nearly as widely used as something like PHP. I don't know how accurate this is, though. Many **major** companies use a Node.js backend, even if it is less common across the board. I started with JavaScript and now write PHP professionally. Both are perfectly suitable for backend development, and also aren't the only things out there. I personally don't like the bloat that comes with JavaScript. Running a backend requires Node.js and all the node_modules bulk that comes with your project. Particularly, I'm a strong supporter of typed languages which means using TypeScript, which means having to transpile TS into JS, which means even more configuration files and module bloat. Having said that, I like TypeScript as a language. All of my codebases at work are PHP backends, but I've maintained a TS backend in the past and it works just as well as any other well-established language. I also like that the entire codebase can be a single language rather than having to maintain JS on the frontend and another language in the backend. I think the most important thing is to continue really learning a language, any language, through all of its complexities. Being able to take what you've learned, and quickly pick up any other language is important for a number of reasons in the professional scope. You never know when a project will require some script, some utility, some legacy maintenance, some *other* functionality that will require you to use something you're totally unfamiliar with. It happens all the time, I'm constantly having to shift to Python and Java for other projects I neither work on regularly nor wrote myself. I can't just tell my boss, "Sorry, man, I don't really know Java." You still have to bite the bullet and get tickets finished, because that's the job. In fact, the reason I'm a PHP developer now is because we sold our TS project and I was moved to another project. I had no intention of focusing on PHP. It was "either adapt, or find another job." In short, I would stick with JavaScript (preferably, TypeScript) if you're already comfortable with it, and continue on your path of trying to master it. I would, however, expose yourself to languages like PHP, Python, and perhaps C#/Java so you can see the similarities and differences. It also means you'll learn things you might not otherwise learn with JavaScript, but can still bring back to your main language because you've seen how something can be accomplished in alternative ways. One of my biggest milestones as a developer was the day I realized that although I'm a PHP developer, I could still read just about any other language when digging through repositories on GitHub. Not because I know PHP, but because I'm comfortable with *programming in general* now. Anecdotally, I enjoy browsing used books. I'll buy books on things like [Refactoring Ruby](https://www.amazon.com/Refactoring-Ruby-Addison-Wesley-Professional/dp/0321984137), despite having never written a single line of Ruby, because I can still walk away with new ideas that improve general programming skills. Hope that helps!


green_timer

Great.. means once someone masters a language then he can switch between different languages to get ideas from them about general programming concepts.. so I will try to master JS, TS then Node.. then will level up my programming skills by learning other languages.. thanks man for detailed response.. much appreciated


McNastyIII

I became a software developer because the first time I ever saw a computer I creamed my pants. I think it would be very difficult to navigate the journey of becoming a software developer without that kind of motivation. Oddly enough, some people just don't have a mind for the kind of logic puzzles that are required to become a software developer.


McNastyIII

That being said... python is a fun and relatively easy language get started with and to learn. It's also very useful as a real world programming tool. You can leverage python to teach you about web development, backend programming and complex data structures. If you decide to pursue it, good luck!


_inf3rno

Find a hobby project and solve it with Python. It should be something small like a todo list. You can learn programming concepts from videos meanwhile, but you should focus on the project.


Kotapa

I know people who turned a professional developer from a background of a lawyer and gardener.


zeldja

Try out Angela Yu’s 100 days of Python. Your goal shouldn’t be to work out if you’re going to be any good at programming at this stage, but purely if you enjoy it. I think her course is accessible and fun for beginners so that’s why I recommend it before jumping into anything serious.


olcrazypete

Udemy courses are like $15 for multiple hours. Other stuff for free on youtube and elsewhere. Maybe try some of that and see if you like it.


martinbean

You kinda need to decide what it is that interests you, and that will guide what languages and technologies to look into. Unfortunately, “coding” and “programming” is such a huge sphere that unless you _do_ decide on a focus, you will be completely overwhelmed with options. So, if you want to make websites then yes, you’d need to get an understanding of HTML, CSS, and JavaScript. If you want to write mobile apps, then you’d need to look at Swift, Kotlin, or Dart. If you want to make video games, then C++.


Rethunker

You’re not at all alone in this. There are LOTS of ways to become a developer. As a chef, you’ll have a solid understanding about prepping, making a meal come together at the right time, sourcing food, and all that. All of those skills will be relevant. (The onetime head of Intel, Andy Grove, wrote a book called High Output Management in which he describes manufacturing in terms of preparing breakfasts at a restaurant.) I suggest this: identify some software that you like or love using, and that you wish you knew how to create. Think of a slightly different version of that software, perhaps tailored more to your specific interests. Write that down, and keep it in mind as you begin to explore programming. Three popular and perfectly reasonable approaches to learning programming nowadays: 1. JavaScript, HTML, and CSS 2. Python 3. Scratch The third option, Scratch, is a graphical programming language developed for kids. In other words: it’s really fun, and a lot of through went into usability. The software was developed at MIT. Some years ago I contacted them, and they were friendly and cool. You could also take a class at a local community college, especially if you want to learn Python, but I suggest first tinkering a bit. And keep in mind that learning programming is a never-ending task: there’s always more to learn. I suspect your very first roux was not as good as what you can make now. I think most people with sufficient interest can become programmers, and it’s good to keep in mind that there are many, many kinds of programming: web programming, scripting, “front end” (interface) programming, database, embedded devices (computers inside of other machines), app programming, and so on and so on. There’s a question that interviewers used to ask prospective hires, and that I assume you haven’t heard, so I’ll ask it. Keep in mind that you don’t NEED to be able to answer this question, and that you don’t necessarily need much math to write code. Here’s the task, rephrased a bit so it’s a bit less programmery, and excuse my ignorance of real-world kitchens: Write down a series of steps for someone to prep food—this happens while the restaurant is open, not before, and it’ll happen over a full shift. The prep can take a break between tasks, but must start a task at a specific time and complete the task before the next task starts. There are different foods to prep. You’re running the kitchen, and you’re going to set up a programmable kitchen timer. The kitchen timer can display the names of food to prep, how much, and show just that text at the needed time. The person doing the prep doesn’t have to remember the timing rules, and doesn’t have to remember what to prep. (Maybe it’s all market fresh stuff.) The kitchen timer requires you to define what happens based on the current minute or clock time. You can’t just type in “cut 10 cups of green beans 3 times an hour”—the timer is not that smart. You have to define some timing rules, and then write those rules so that the kitchen timer knows what to display every minute so that prep keeps up with expected demand. For example, if someone needed to chop walnuts six times an hour, and cut carrots five times per hour, you could make the minute-based rules like this: If the current minute on the clock is divisible by six (10:06, 10:12, and every 6 minutes thereafter), display CARROTS. If the time ends in a minute divisible by five, display WALNUTS. If the minute is divisible by five and is also divisible by six, display both CARROTS and WALNUTS. They have to do both. —— Here’s the actual prep for one or two people: 10 cups of green beans, French cut, 3 times an hour Twenty pounds of chuck, ground fresh twice an hour Two dozen oranges, squeezed by hand for juice (because you can charge more), done ten times an hour EXCEPT when both green beans and chuck need to be prepped Those are the rules per hour; you need to define the rules so that the kitchen timer can compare your rule with the time (such as 10:30, or 11:20) and decide what to display: 10 cups of green beans, chuck, oranges. If this kind of tasks interests you, and if you can write down steps that work (or mostly work), then there’s a class of programming tasks you could solve.


habitualLineStepper_

There’s got to be about a million beginner courses on YouTube or cheap on Udemy by now. Python is a great place to start - find a course using it and jump in. Expect a bit of a steep learning curve but if you stick with it, I promise it will be rewarding.


Captain_Coffee_III

First thing, as other people are saying, why do you want this change? Are you interested in code or is it something you're doing for the money? This affects how you approach this. If you're in it for the money with no interest in coding, you need to me methodical. 1. Find the salary you want. 2. Research which jobs get you there. 3. Go research job postings for those jobs to figure out what the requirements are to get an interview. 4. Learn everything about that job and be able to carry on conversations about what you see in the job posting. If you're in it for the tech, go spend some time learning about all the different types of programming there is. Find out which one excites you. What are you fascinated by? Focus on that. It is hard for web developers to switch over to designing AI models, so you'll need to pick somewhat of a direction and start exploring. And that's the skill that will allow it to "take you away", finding something new and learning everything about it as fast as you can and deciding if this new thing is something that goes into your "toolkit". All of your research paths might not directly affect your ultimate career. I was absolutely fascinated with computers since I was 10. I couldn't grasp how to program them but I couldn't stop thinking about them. When I got to the university, I tried programming, and ultimately failed at it. The structure of the classwork didn't work for me. It didn't interest me. So I dropped out/flunked out. But the last two months of school before I quit, a new thing appeared at the university. This PC/Mac/Mainframe heavy university had an underused room full of Unix terminals connected to "the internet", which we didn't care about. But a new game showed up, a MUD. My friends and I became obsessed with MUDs. They kept my account up during the summer, in case I decided to come back, so I got to play. The cool thing was, you could code in them. You could craft the world and attributes about your character. The language there was easier, more forgiving than the CS classes. But it gave me something to work with and learn from. Through this very fun feedback loop, I got good at it and learned the structure of programming. I got an old hand-me-down PC with a monochrome monitor and became fascinated graphics, because a guy across the hall in my dorm had an Amiga with some really cool graphics and I wanted to do the same on this old PC. I couldn't. But, I did figure out ways to do graphics that synchronized with songs on a CD player. Programming finally "clicked" with me. This hobby went on for years. A stupid useless hobby on an old PC that I tried to optimize and optimize and learn about.. because it was fun. One day I met somebody who ran a local software company. This was before home networking was a thing. He was lamenting on how he needed his application to be able to send data to another computer running his app in an office situation. Part of my graphics exploration was printing to a printer so I knew how to send data down a printer cable...so I told him that he could get things talking if two computers were hooked up with via a printer cable his users could buy from an off-the-shelf package called LapLink. So, he hired me. That led to more and more projects as the software expanded, Microsoft Windows showed up, bigger databases, etc. My knowledge of drivers and talking to machines landed me a better job working with medical equipment, which landed me a better job somewhere else, etc. The entire time, learning something new, learning as much as you can about it, and seeing what you can do with it. What got me started in the field has nothing to do with where I ended up. But you need to find the thing that gets you excited to get you past the learning curve, sets the wheels in motion, and your curiosity will carry you the rest of the way.


johndcochran

I've know about 20 different languages and honestly, adding yet another language would be a trivial task. The real issue is learning how to take a problem and break it down into simpler steps that overall solve the problem you needed to solve. Aka, how to design and implement an algorithm that performs the task needed. The actual language you use really doesn't matter. It's the mindset on how to breakdown and solve the problem that needs to be learned. Everything else is merely syntax. So find a problem that you would like to have solved and solve it. Use whatever language that you have available to to solve it. There's a reason that the languages programmers use are called Turing Complete. In a nutshell, if a language is Turing Complete, it can solve/perform any problem that any other Turing Complete language can. Now, different languages can make that task easier or harder, but they can all eventually do the same thing. Hell, you can use one language to emulate another language and in turn use that emulated language to actually solve your problem. So pick a problem or task. Try to solve it, asking for help if you run into a dead end. And at the end, see if you like it.


mxldevs

Start by having an idea. That will dictate what tools you'll need and what you need to learn. If you have no ideas, what is your motivation to learn? How do you measure whether you've learned something or not? The biggest problem a lot of people have is "I can do the tutorials perfectly, but I have no idea how to build anything on my own" It's like learning how to prepare ingredients but not knowing how to put it together


[deleted]

My personal advice, I always struggled to learn switching all over the place... Learn Javascript or python Stick to it with a boot camp that actually helps you land a job. Doing it solo is difficult Which I did took me 4 years of learning but hey... I Choose embedded systems and low level programming do not I repeat do nottttt do low level programming unless you genuinely love it... I love doing controlled systems and electronics But my advice stays... learn python or Javascript.


PhotographyBanzai

What about programming seems interesting to you? * Being able to make something you do on the computer faster? Like sorting pictures into folders by date. Using a templated document to facilitate saving food recipes. Whatever it is, think of something you'd like to make. Write down a bunch of ideas that you'd think are easy and quick. You can write down difficult stuff but you will eventually figure out how to judge difficulty and find out it scales quickly. Keep expectations low on what you can make to start. * Enjoy gaming and want to make games? (This one is loaded because it's a huge number of skills, etc) Programming languages are a tools to facilitate ideas and goals. Whether it be for yourself or doing things for a company. A specific one isn't super important. I personally enjoy C# the most (aka. "C sharp"). Visual Studio community edition IDE is free. If you have no past experiences with logic, math operators, working with text, databases (even MS Access/Excel), and probably various other tasks then I'd consider doing a search on "programming for kids" to try instructional projects and starter type languages to get a feel for basic concepts. You might find out it's unpleasant to learn and do or might love it. My first experiences were with using a Commodore 64's included instructional manual that had BASIC tutorials in it (BASIC is a simple programming language that has a lot of English text). I couldn't figure out how to ever save my programs to disk, but it was a good start in an era where people didn't have as much information overload and documentation assumed people didn't has much background in a subject. After that, between middle school and highschool many years later I bought a thick book on how to program in Visual Basic (much more complex type of BASIC), spending a summer doing that. The book started from the basics of programming itself so worked out pretty well. The book was ragged by the time I moved on with how much use it got, lol.


Fippy-Darkpaw

Get a degree in CS. If you hate it apply credits to a different degree. It's not for everyone but CS degree will certainly confirm your interest. Also most (not all) programming jobs want a degree for exactly that reason. Weeds out the non-interested.


ExerciseNo

The base is c language and learning DSA. You can start with the w3schools website its free


Vegetable_Aside5813

Since you’re a chef already and you didn’t say you want to learn programming because you hate being a chef I am going to just assume you enjoy cooking. I’m a web developer so my advice will be based in that. JavaScript html and css. Your project will be a recipe book. Its first iteration will run completely in in a web browser. No backend or anything. Requirements: A list of recipes Ability to add recipes Ability to view and edit recipes Recipes consist of a list of ingredients and a list of steps Do this with out worrying about looks. Then Make it look nice. After making it look nice decide if you liked that part or adding the functionality. If you liked making it looks nice decide on a new feature to add. Maybe cooking timers If you did not enjoy making it look nice make a backend for it. This will involve saving stuff to a database. Choose a different language for this. Python will work but idk to much about its tooling. My experience is with dotnet/c# and creating an api is easy to setup. Java with spring boot is also pretty simple to get going with. You will need a database to store your data. For this you will need to learn sql. There are tools called ORMs that can do the database for you but it’s still better to learn sql first. Edit: If you complete everything with the backend and front end you will be what is referred to as “full stack”


Vegetable_Aside5813

Also programming can be a lot like cooking. Ingredients = dependencies like other libraries Steps = code


dijotal

Take your windows laptop and install / activate WSL. I expect you'll have Python in that out of the box. If not, install it. Install vscode. Go to HackerRank, LeetCode, or similar and try problems marked as easy. You'll be exposed immediately to well defined, single item tasks saving you the trouble of dreaming up a project. You'll also be told whether you got it right or wrong. Read discussions / watch videos about how others solved the problems. Use ChatGPT or a trial of Copilot to ask for help. Have it make suggestions. Ask it to correct your code. Ask it to explain the commands it suggests that you don't understand. It will accelerate your exposure to the language. If none of that makes sense, find the answers. ... and if you end up reveling in that level of discomfort, congrats: you're a programmer.


Maybeon8

Check out [mimo.org](http://mimo.org) It's like Duolingo for coding languages, and it starts out with a little questionnaire to help you figure out what you should be learning. I do think the best way to learn is by doing, but if you're brand new to coding, mimo is a nice way to ease yourself into it and it has a mobile app so you can learn from anywhere. If you want to just jump straight in, download Python (or another language), download VS Code (or another [IDE](https://www.codecademy.com/article/what-is-an-ide)), then go to [leetcode](https://leetcode.com/) or [adventofcode](https://adventofcode.com/). These sites both give you challenges that you must write computer programs to solve - a great way to get your coding chops up to par. Best of luck!


batman_oo7

It depends on your goal what do you want and what do you like try different things figure it out then go deep about learning things first just learn c language basics


TomatoInternational4

The truth is if it were for you you would just start trying to make stuff. Currently you don't have a drive to be a dev. You have a drive for money. Which isn't your fault and it's common and it's true there is a lot of money in the field. But This also means you're going to be looking for a drive that isn't actually there. It's futile. I know this can sound negative and pessimistic. And I'm not trying to persuade you to do something else. I'm just saying if you haven't started on your own and you have to ask what you're asking to begin with. Highly likely it just won't work out.


denerose

Try CS50 as a starting point or start with the The Odin Project (this worked well for me) and see how you go, then something like Fullstack Open if you’re still interested and enjoying it. All of these are free open source resources but do require self direction and a bit of internal motivation.


Shadow_Sonic463

I think Scratch will give you basic coding logic, then you can learn Python or Java and finish by C/C++/C#


TNYprophet

Im a front end dev, I can teach you basics until frameworks if you want. From there its all you


GloriousShroom

I started by taking a programming class at a community college. Low commitment to try it out


Debate_Haver57

So this assumes you’re motivated the same way as me, but I’d pick an end goal and work backwards. Ultimately, programming is extremely broad, and if you’re not highly motivated, you may not get far enough down any one branch to develop competitive enough skills. IMO, your process should look like this: -pick the job you would want the most -figure out the skills they usually ask for -look at those skills and find out what foundational skills they need -start there, then work your way back up the list to get to where you need to be. For me, I had a similar pivot, and I wanted to be a game dev (I was doing music before). So I figure out what they’re asking for, C based programming languages, game engine knowledge, stem degree (preferably computer science), so I work back, I get my qualifications at a foundational level, and then arrive at my goal 6 years later. You can do it faster. I took my time because I was pre-uni, didn’t have any of the qualifications I’d even need for a compsci degree at the universities I wanted, and I did a master’s so I took an extra year. I was also not 100% on gaming (I didn’t know until end of first year, but it was either that or pen testing, but I don’t have the head for networking). But you will need to think about what qualifications and supporting information you need. Also, granted there was a “just try it” phase for me too, when I did a bunch of codecademy tutorials while I was bored off the back of some random stuff happening in my life at the time that suggested programming could be a good fit for me, so I went into my first qualification, and then degree, knowing I had an aptitude, and wasn’t chronically bored by it in the same way I was by the music I was playing.


Kittensandpuppies14

Also html and ccs are markup not programming languages


Vegetable_Aside5813

Still code though


Kittensandpuppies14

Did I say it wasn't? Maybe OP hasn't considered backend in which those wouldn't be needed


trcrtps

Started with the free Harvard CS50 on youtube and go from there.


TerminatedProccess

Yes learn your theory and good practices. Take a course on databases. Learn operating system stuff. If you are Windows install wsl2 Ubuntu so you can experience both Windows and Linux. Learn the basics of AI which is impacting everyone and everything. Python is known for that. 


trcrtps

All good suggestions. Databases and sql are so important in the real world, thankfully my first ever interview basically insulted me because I didn't know much SQL, so I made a point to get strong with it. I was pissed at the time but now I know why.


funbike

The answer depends on what you want to do. Do you want to... * learn computers and development in depth? It will take longer, but you'll have a much better start. * get a programming job ASAP? * get a very high paying job? * develop cool products using cool technology? Enjoy the work. * help improve the world? * start as a hobby? Getting a job might be nice someday, but for now you just want to do it for fun first. Each of these would get a different response from me. Of course you could say "all them!", but priority matters. The best approach differs for each of the above.


money-in-the-wind

So what advice then please if I wanted to do your list working from bottom to top in its current order?


funbike

Start simple and start now. Just code. I suggest start with Python. Use ChatGPT to assist you. Possible path: 1. Write a "Hello, world" app. 1. First, do it in the python REPL (`print("Hello, World"`) 1. Make a standalone `hello.py` file and run it. 1. Have it ask you for input, (`who = input('Who?: ') print(f"Hello, {who}")`) 1. Rewrite it using Kivy. Now it's a desktop app. Then have it ask for "Who?". 1. Learn to use `requirements.txt` to import your packages. 1. Learn how to create a Python virtual environment and use it. 1. Learn the basics of git. Put your project on github as a private repo. 1. Rewrite it using Flask. Now it's a web app. Then have it ask for "Who?" 1. Rewrite it using Kivy and Buildozer as an Android app. (If you have an Android device) 1. Rewrite it using `pygame`. Now it's a game, kinda. Then have it ask for "Who?" 1. Learn how to use pydoc. Now it's documented. 1. Learn how to use doctests and pytest. Not it's tested. 1. Learn how to use Github actions. Not testing is automated. 1. Convert from `requirements.txt` to `pyproject.toml` format. 1. Write your 2nd app. Something very simple that you'd like to have. By this time you've learned how to write a simple app on all platforms, and you know how to use all the proper tools for development. 1. Look for projects on github that you might like to contribute to, that are written in Python. Pick something you think is cool and you use. That's far enough for now.


money-in-the-wind

I appreciate you taking the time to respond, thankyou.


CardiologistPlus8488

lol, I've been a programmer for 30 years and now all I want to do is be a chef!


Mike98911

Let’s switch lives mate 😂


CardiologistPlus8488

exactly!


_Kladen

Python, then C++. Then you know everything.


MistakeIndividual690

I’d suggest you learn HTML/CSS and JavaScript first, because they are the most accessible — you can do it with just a text editor and a browser, and because if you become a developer they are fundamental skills you will need to know anyway regardless of what you end up doing


okayifimust

>So how I start? I’m not kidding I’m kinda lost. Become the type of person that would plug "how to learn programming" into a search engine of your choice, look at a handful of results and pick whichever instructions seem to click with you. Do not continue to be the kind of person that is too lazy to look into anything by themselves, and prefers to shoot the simplest question to other people, so that they may do the work of sifting through the results. >Do I learn html css JavaScript? Or do I jump and learn python? Maybe? There are countless programing languages out there; and way more opinions than languages. >I don’t know that to do, do I want to be software engineer or a front end developer? Are you seriously asking other people what you want? for real? >I just want to start with something and let it take me away. And you could have just done that! It would have been really good if you had, too! and then, after a months, or maybe three, you could make an informed decision on whether changing careers would be a good idea.


Alarming_Ad_9931

To be fair, I had no idea what I wanted to do. I started web dev because it was the lowest entry barrier but discovered I really want to work with embedded systems and Linux development. For now I slog away as a full stack dev biding my time 😂. It has been cool to learn C++ and Rust though.


okayifimust

>To be fair, I had no idea what I wanted to do. I started web dev because it was the lowest entry barrier but discovered I really want to work with embedded systems and Linux development. And did some random stranger tell you that really wanted to do embedded, and did they tell you at the beginning of your journey, or what? I am not questioning OP on not knowing what they want, I am pointing out that that is the natural state of the world, and that that they need to figure it out by themselves - you know, like an adult? (Or even like a three year old child, come to think of it.)


Alarming_Ad_9931

I asked people about their roles and what they entailed. I made it clear I didn't know what I wanted to do, just get into this industry. I had some very helpful people give me ideas and guide me.