7 answers
7 answers
Updated
Doc’s Answer
Marvin computer programming involves knowing how to write code—a handy skill for a variety of technology jobs. In everything from creating websites to developing software programs, strong computer programming knowledge can set you apart from the pack.
Education requirements for computer programmers typically include a bachelor's degree, however, some professionals can start working with an associate degree. Bachelor's programs usually take four years to complete, while associate programs take about two years.
As you pursue your education and figure out how to become a programmer, I recommend learning some of the most popular coding languages below.
JAVASCRIPT — JavaScript is a front end scripting language often used by front end programmers to imbue websites with dynamic action. Basic animations, for example, are usually coded in JavaScript, as are buttons and forms.
PYTHON — Python is a high-level, open-source programming language that was designed to be intuitive and easy to use. It is mostly used in back end programming and data science.
HTML — HyperText Markup Language (HTML), is the foundational language used to design the form and structure of web pages and sites. It is applied primarily in front end development.
CSS — Cascading Style Sheets (CSS) is often used in tandem with HTML to define a consistent layout and appearance across a site. Once specified within a cascading style sheet, developers can apply specific font styles, colors and other design elements to any page that references that CSS file.
Becoming a programmer isn’t always easy Marvin; it'll require hard work and dedication. But that effort can pay off handsomely, allowing you to grow and thrive in a rewarding profession.
Hope this was helpful
Education requirements for computer programmers typically include a bachelor's degree, however, some professionals can start working with an associate degree. Bachelor's programs usually take four years to complete, while associate programs take about two years.
As you pursue your education and figure out how to become a programmer, I recommend learning some of the most popular coding languages below.
JAVASCRIPT — JavaScript is a front end scripting language often used by front end programmers to imbue websites with dynamic action. Basic animations, for example, are usually coded in JavaScript, as are buttons and forms.
PYTHON — Python is a high-level, open-source programming language that was designed to be intuitive and easy to use. It is mostly used in back end programming and data science.
HTML — HyperText Markup Language (HTML), is the foundational language used to design the form and structure of web pages and sites. It is applied primarily in front end development.
CSS — Cascading Style Sheets (CSS) is often used in tandem with HTML to define a consistent layout and appearance across a site. Once specified within a cascading style sheet, developers can apply specific font styles, colors and other design elements to any page that references that CSS file.
Becoming a programmer isn’t always easy Marvin; it'll require hard work and dedication. But that effort can pay off handsomely, allowing you to grow and thrive in a rewarding profession.
Hope this was helpful
Updated
Robert’s Answer
Short answer: you get good at programming by doing it. Start by taking any and every class you can on the subject. Major in it in university, and do it as much as possible. Study, and figure out how to solve problems, and then apply your experience to the projects you work on. Try to have 5000 hours of experience programming by the time you finish university.
Long answer: The best way to build up any skill, is to do it. Star athletes don't sit around and study their sport, they practice it. The best ballet dancers don't watch videos about dancing, they practice dancing. The best runners, climbers, soldiers, doctors, engineers, etc. have one guaranteed thing in common: experience. The more you do something, the more experience you gain. The more experience you have, the more employable you are.
It doesn't matter how nice you are. Or how great you think you will get with some mentoring. What matters is, can you do the job? K-12, and even a university education is not going to prepare you for the realities of a job as a software engineer/programmer. As a matter of fact, if I see a resume in front of me applying for a job in software engineering, and the person has zero non-classroom experience, that person may not even get an interview.
If you want to get good at any skill, you have to do it. Programming is no exception to that rule. It takes about 5000 hours of practice to become an expert at something (according to various articles on the subject which may or may not be accurate). That means if you join a coding club in high school that meets once a week for an hour, and only does programming every other week, by the end of the standard high school year (September through June, roughly 10 months (~4 weeks/month), with about 6 weeks of vacation during the school year), and assuming you don't miss a single club meeting, that means you will get roughly 17 hours ( 4 * 10 == ~40 weeks; - 6 weeks of vacation == 34; divide by 2 since your club only does programming every other week) worth of programming practice in, for the entire school year. After 4 years of that, you will have 68 hours "in the bank" toward that goal of 5000. That means by the time you enter university you will barely have made a dent in that 5000 hour goal.
Conversely, if you take all of the programming courses available to you in high school (let's say there is only one offered for each of your 4 years), and the course meets 5 days a week with at least 1 hour of coding assignments per day, that means, assuming roughly 34 weeks in a standard school year after 1 year you will have banked about 170 hours of coding time (and that is being conservative, many assignments take longer than one hour). After 4 years of that, you will have banked a respectable 680 hours of coding experience. If you doubled the amount of time spent coding to 2 hours a day, 5 days a week, you will have 1360 hours of experience coding by the time you finish high school, which is the more likely accurate time estimate of taking 4 years of programming courses in high school, so let's use that number.
Now we add to your high school experience by majoring in computer programming/science in university, where your hours spent coding will easily quadruple (meaning, at the minimum, you should have at least 2720 hours of experience coding by the time you finish university. It is not uncommon for that to be closer to 3000-4000 hours. But let's say you only have 2720 hours from university because you are a natural coder, and are able to complete the assignments easily.) That means, with your high school experience of 1360 hours + your 2720 hours from university you will have roughly 4000 hours of experience in the field of software engineering/programming when you finish university. That doesn't make you employable yet though.
The rest of those 1000 hours needed should come from personal projects you do, so that you have hands-on experience doing it. Build a website. Add a database to the website. Build a web service. Build a console application. Have the console application use the web service. Build a desktop application, connect it to the database, so that the changes you make with that app will reflect on the website, etc.
As you try to do those things, you will encounter problems. Solve them. On your own. That is what will make you employable, and your skills in demand. You need to be a problem solver. It isn't enough to be familiar with coding. It isn't enough to have taken classes. You have to have done it. For real. That's what makes your skills valuable, the experience.
Nobody is really hired because they know about coding. That is a trap a lot of people fall into with the current push for "STEM" careers. Just because something is hard, doesn't mean that if you learn to do it, you will automatically get a job that pays a good salary. People are hired to be PROBLEM SOLVERS, who happen to use code as their tool of trade. Having studied coding, and taking coding classes DOES NOT mean that you are in any way ready for a real job in a real company, where someone hands you a problem related to something in their coding/technology stack, and asks you to solve it. Your experience with your own projects is what will make you ready.
Think of it like medicine. If you tripped and fell in a park, and cut your leg severely, and two people ran up to you, both offering to help, and the first one says he's watched a lot of videos about emergency first aid, and has taken a lot of classes, and is about to enter medical school, and is pretty sure he can handle it; however the second person says, "I am a licensed doctor with 50 years of experience, and I have handled wounds exactly like yours many times before, relax, I've got this." Which person would you pick to help you? You'd pick the one with the experience, right?
Companies are the same way. They hire because they need someone. Now. They have a patient laying on the floor and bleeding, and they need someone who can come in and stabilize the patient, stop the bleeding, and solve the problem. Now. They would also prefer it if the person brought in to solve the problem can handle the problem on their own, without much in the way of mentoring or peer help.
If you want to be a good programmer, do it. Come up with a project idea, then work to make it happen. You will get stuck. That's okay. Research answers to your problem (the internet awaits), solve the problem, and keep going. Once you finish that project, start a new one. And keep doing that until you graduate from university. If you can intern in the software engineering/programming field while in university, that's even better (but isn't required, companies know not everyone lives near a company which is hiring interns).
Hope that helps you :)
Long answer: The best way to build up any skill, is to do it. Star athletes don't sit around and study their sport, they practice it. The best ballet dancers don't watch videos about dancing, they practice dancing. The best runners, climbers, soldiers, doctors, engineers, etc. have one guaranteed thing in common: experience. The more you do something, the more experience you gain. The more experience you have, the more employable you are.
It doesn't matter how nice you are. Or how great you think you will get with some mentoring. What matters is, can you do the job? K-12, and even a university education is not going to prepare you for the realities of a job as a software engineer/programmer. As a matter of fact, if I see a resume in front of me applying for a job in software engineering, and the person has zero non-classroom experience, that person may not even get an interview.
If you want to get good at any skill, you have to do it. Programming is no exception to that rule. It takes about 5000 hours of practice to become an expert at something (according to various articles on the subject which may or may not be accurate). That means if you join a coding club in high school that meets once a week for an hour, and only does programming every other week, by the end of the standard high school year (September through June, roughly 10 months (~4 weeks/month), with about 6 weeks of vacation during the school year), and assuming you don't miss a single club meeting, that means you will get roughly 17 hours ( 4 * 10 == ~40 weeks; - 6 weeks of vacation == 34; divide by 2 since your club only does programming every other week) worth of programming practice in, for the entire school year. After 4 years of that, you will have 68 hours "in the bank" toward that goal of 5000. That means by the time you enter university you will barely have made a dent in that 5000 hour goal.
Conversely, if you take all of the programming courses available to you in high school (let's say there is only one offered for each of your 4 years), and the course meets 5 days a week with at least 1 hour of coding assignments per day, that means, assuming roughly 34 weeks in a standard school year after 1 year you will have banked about 170 hours of coding time (and that is being conservative, many assignments take longer than one hour). After 4 years of that, you will have banked a respectable 680 hours of coding experience. If you doubled the amount of time spent coding to 2 hours a day, 5 days a week, you will have 1360 hours of experience coding by the time you finish high school, which is the more likely accurate time estimate of taking 4 years of programming courses in high school, so let's use that number.
Now we add to your high school experience by majoring in computer programming/science in university, where your hours spent coding will easily quadruple (meaning, at the minimum, you should have at least 2720 hours of experience coding by the time you finish university. It is not uncommon for that to be closer to 3000-4000 hours. But let's say you only have 2720 hours from university because you are a natural coder, and are able to complete the assignments easily.) That means, with your high school experience of 1360 hours + your 2720 hours from university you will have roughly 4000 hours of experience in the field of software engineering/programming when you finish university. That doesn't make you employable yet though.
The rest of those 1000 hours needed should come from personal projects you do, so that you have hands-on experience doing it. Build a website. Add a database to the website. Build a web service. Build a console application. Have the console application use the web service. Build a desktop application, connect it to the database, so that the changes you make with that app will reflect on the website, etc.
As you try to do those things, you will encounter problems. Solve them. On your own. That is what will make you employable, and your skills in demand. You need to be a problem solver. It isn't enough to be familiar with coding. It isn't enough to have taken classes. You have to have done it. For real. That's what makes your skills valuable, the experience.
Nobody is really hired because they know about coding. That is a trap a lot of people fall into with the current push for "STEM" careers. Just because something is hard, doesn't mean that if you learn to do it, you will automatically get a job that pays a good salary. People are hired to be PROBLEM SOLVERS, who happen to use code as their tool of trade. Having studied coding, and taking coding classes DOES NOT mean that you are in any way ready for a real job in a real company, where someone hands you a problem related to something in their coding/technology stack, and asks you to solve it. Your experience with your own projects is what will make you ready.
Think of it like medicine. If you tripped and fell in a park, and cut your leg severely, and two people ran up to you, both offering to help, and the first one says he's watched a lot of videos about emergency first aid, and has taken a lot of classes, and is about to enter medical school, and is pretty sure he can handle it; however the second person says, "I am a licensed doctor with 50 years of experience, and I have handled wounds exactly like yours many times before, relax, I've got this." Which person would you pick to help you? You'd pick the one with the experience, right?
Companies are the same way. They hire because they need someone. Now. They have a patient laying on the floor and bleeding, and they need someone who can come in and stabilize the patient, stop the bleeding, and solve the problem. Now. They would also prefer it if the person brought in to solve the problem can handle the problem on their own, without much in the way of mentoring or peer help.
If you want to be a good programmer, do it. Come up with a project idea, then work to make it happen. You will get stuck. That's okay. Research answers to your problem (the internet awaits), solve the problem, and keep going. Once you finish that project, start a new one. And keep doing that until you graduate from university. If you can intern in the software engineering/programming field while in university, that's even better (but isn't required, companies know not everyone lives near a company which is hiring interns).
Hope that helps you :)
Updated
Ganesh’s Answer
Hello Marvin,
There's already a wealth of fantastic advice out there on how to kickstart your journey into computer programming, so I'm going to focus on the other aspect of your query: how to truly excel as a programmer.
From my own personal journey, I can tell you that formal education isn't the only path to becoming a proficient programmer. I gained my skills and knowledge right on the job. In my experience, developing strong analytical and problem-solving abilities can really set you apart as a top-notch programmer.
Of course, it's crucial to familiarize yourself with a variety of programming languages and technologies, and to stay up-to-date with the latest advancements in the field. However, the real key lies in understanding how to leverage these tools to solve specific problems. Knowing which language or technology is best suited to tackle a particular issue is, in my view, a critical skill.
Wishing you all the success in your programming journey!
There's already a wealth of fantastic advice out there on how to kickstart your journey into computer programming, so I'm going to focus on the other aspect of your query: how to truly excel as a programmer.
From my own personal journey, I can tell you that formal education isn't the only path to becoming a proficient programmer. I gained my skills and knowledge right on the job. In my experience, developing strong analytical and problem-solving abilities can really set you apart as a top-notch programmer.
Of course, it's crucial to familiarize yourself with a variety of programming languages and technologies, and to stay up-to-date with the latest advancements in the field. However, the real key lies in understanding how to leverage these tools to solve specific problems. Knowing which language or technology is best suited to tackle a particular issue is, in my view, a critical skill.
Wishing you all the success in your programming journey!
Updated
Rebecca’s Answer
Thank you for your question. I am glad to hear that you have interest in programming.
Below are my suggestions :
1. Identify some simple programming languages to start, e.g. Python, Scratch, etc.
2. Learn the language syntax and structure. There are plenty of resources online.
3. Start doing some programming. When you have confidence on using the language, you can consider to doing some small projects, e.g. control robotic arm, toy car, etc.
4. After you familiar with one language, you can start another one
5. Explore the entry criteria of Computer Science course in the college
Hope this helps! Good Luck!
Below are my suggestions :
1. Identify some simple programming languages to start, e.g. Python, Scratch, etc.
2. Learn the language syntax and structure. There are plenty of resources online.
3. Start doing some programming. When you have confidence on using the language, you can consider to doing some small projects, e.g. control robotic arm, toy car, etc.
4. After you familiar with one language, you can start another one
5. Explore the entry criteria of Computer Science course in the college
Hope this helps! Good Luck!
Updated
Ashutosh’s Answer
Some very good answers already. I also suggest follow a good tutorial for any given programming language that you want to pursue.
Other options are to look into logic building with something like scratch, which allows you to understand basic constructs of any programming. Things like reusing code, conditional programming, looping, etc. It's fun and learn experience that helps a lot.
Other options are to look into logic building with something like scratch, which allows you to understand basic constructs of any programming. Things like reusing code, conditional programming, looping, etc. It's fun and learn experience that helps a lot.
Updated
Maikel’s Answer
I would start by choosing a beginner-friendly programming language like Python. It's a great language for beginners with a clear syntax. There are tons of resources and a supportive community to help you.
Then I would set some goals, (rather achievable!): Break down your learning into small, achievable goals. For example, aim to code a simple program (basic input/output data manipulation programs, like a calculator, just to get familiar with the language) or complete a small project within a specific timeframe. Then another greater goal could be to build something cool. This will help you to gain confidence and stay motivated: Think about projects that excite you! It could be a simple game, a website, or a mobile app, working on projects you're passionate about makes learning more enjoyable.
Use Interactive Learning Platforms: This will take you to the next level. Platforms like Pluralsight, Udemy, or freeCodeCamp provide interactive lessons. They make learning fun and help you grasp concepts faster. Then, platforms like Leetcode, Hackerrank will challenge you to write programs to solve specific problems. I would definitely take on these two (LC and HR) after having gone thru the interactive lessons first and having some programming practice.
Join Coding Clubs or Groups: Check if your school or local community has coding clubs or groups. Connecting with peers who share your interests can be motivating and opens up opportunities for collaborative projects.
Explore STEM Competitions:
Look into participating in STEM competitions or hackathons for students. It's a great way to challenge yourself, learn new things, and meet like-minded individuals.
Happy coding!
Then I would set some goals, (rather achievable!): Break down your learning into small, achievable goals. For example, aim to code a simple program (basic input/output data manipulation programs, like a calculator, just to get familiar with the language) or complete a small project within a specific timeframe. Then another greater goal could be to build something cool. This will help you to gain confidence and stay motivated: Think about projects that excite you! It could be a simple game, a website, or a mobile app, working on projects you're passionate about makes learning more enjoyable.
Use Interactive Learning Platforms: This will take you to the next level. Platforms like Pluralsight, Udemy, or freeCodeCamp provide interactive lessons. They make learning fun and help you grasp concepts faster. Then, platforms like Leetcode, Hackerrank will challenge you to write programs to solve specific problems. I would definitely take on these two (LC and HR) after having gone thru the interactive lessons first and having some programming practice.
Join Coding Clubs or Groups: Check if your school or local community has coding clubs or groups. Connecting with peers who share your interests can be motivating and opens up opportunities for collaborative projects.
Explore STEM Competitions:
Look into participating in STEM competitions or hackathons for students. It's a great way to challenge yourself, learn new things, and meet like-minded individuals.
Happy coding!
Updated
Krithika’s Answer
Grasping the issues and difficulties faced by your users or customers is crucial in creating a solution that is both inclusive and engaging. In the realm of coding, make it a habit to scrutinize your own work multiple times. Focus on improving the efficiency and memory usage of your code, and make sure to consider all possible scenarios.