How do you start a career in computer programming?
We asked experts to provide useful insights to help you learn more about how to enter this profession.
Table of Contents
- Don’t major in Computer Science
- Good programmers need enormous amounts of practice…with actual programming
- Don’t attend meetups, get speaking gigs at meetups
- Be a full-stack human being
- Believe in yourself
- Pick a field within computer programming and start from there
- Commit to lifelong learning
- Learn the foundations of computer science
- Learn how to focus and pay attention to details
- Firstly, you need to study algorithms
- Then, you can make an online course to learn to program
- The way to become a programmer is to program
- Constant practice is also helpful
- Utilize online resources
- Join a community of programmers
- Once you have learned a language, look for a junior-level position
- View problems as learning opportunities
- Practice everyday
- Frequently Asked Questions
Founder & CEO, Latticework Insights
Don’t major in Computer Science
In our 20+ years of experience, we’ve seen that the best programmers almost always come from a liberal arts background like art history or philosophy, not a computer science or engineering background.
Programmers need life experience, an appreciation for design, and patience working with other humans.
Computer Science degrees prepare you for the abstract, the ideal, and the highly performant. In other words, things that never occur in real life.
To build deep relationships with people outside of engineering departments, take on lots of side projects and force yourself outside of your comfort zone, and expose yourself to design.
Good programmers need enormous amounts of practice…with actual programming
And the best way to learn to write good code, to build massive systems, and to analyze giant databases, is to do it constantly. College is just simply too short of a timeframe to become skilled enough in any of these areas.
You simply need to do it, and do it, and then keep doing it.
Taking classes is a good thing, but so is teaching yourself a new programming language or framework. In fact, take a project that you and your team have built and deployed to perfection, and then try rebuilding it in your free time with a totally unrelated language.
Don’t attend meetups, get speaking gigs at meetups
One of the best learning experiences you can hope for is to put your best ideas into a public forum, and then to get shot out of the sky. Seriously.
Pick a topic you feel confident about, force yourself to articulate a strong point of view on it, rehearse it until it comes naturally and authentically, and then prepare to get your ideas chewed up by the audience. It’ll be amazing.
Be a full-stack human being
Databases can do very little without a front-end. And machine learning & statistics packages need dynamic, interesting human beings to train models and explain insights.
You stand to learn a ton about being a good programmer from people that don’t understand anything about programming, since those people will often be the judge, jury, and executioner of all your work. Go take them out to drinks. Lots of them.
Believe in yourself
Reflect on your natural tendencies, personality, and what makes you tick and imbue your work with those characteristics. And be patient, it’s going to take time, so enjoy the journey.
Software Engineer | CEO, Uvietech Software Solutions, Inc.
Pick a field within computer programming and start from there
Computer programing is a very large field and the key to success is identifying an area or niche and starting from there in your journey. That niche could be Web development, or game development or some other area, but pick one area of focus, first and then build from there.
The reason why you need to do this is that it can get very overwhelming when you are starting out and faced with the enormous amount of knowledge that you will need to learn in order to call yourself a computer programmer.
By narrowing your focus initially, you can acquire some skill sets that allow you to start to build tangible products. This will increase your confidence and faith in your abilities and inspire you to keep learning even more.
A computer programmer is not defined by what ‘they know’ but by what they build.
Personally, I fell in love with the internet in my teens and started my programming career with tutorials online to build websites before graduating to doing more sophisticated computer programming.
Commit to lifelong learning
New developments, programming languages, libraries, tools, and computer programming patterns evolve and emerge at a very rapid pace in the field of computer programming.
To succeed in the long term, you need to commit to lifelong learning. What you know today can be obsolete in the next six months to a year.
You will need to commit to be a self-starter and take ownership of your development. You will often need to buy books, watch training videos and take courses on a regular basis to keep up with new developments.
You can go to a school to learn computer programming but there is no curriculum or syllabus that will cover everything that you need to know, and sometimes by the time you graduate a lot of that information may be obsolete.
You will need to fill in many of those gaps yourself and commit to doing this for the duration of your computer programming career.
Learn the foundations of computer science
Not every computer programmer studied computer science at school. In fact, some of the best didn’t even have any formal training in the field.
However, this is not to say that they did not learn or absorb – in one fashion or the other – the basic principles of computer science and programming that a good computer programmer needs to have to produce work of outstanding quality.
Learning about things like Data structures and Algorithms, memory management, computer operating systems, computer hardware, etc. will help you to be a better programmer.
Find good books, or video courses on places like Udemy, YouTube, Udacity, etc., and learn about these theoretical foundations of computer programming and you will find your skills will level up very quickly.
Computer programming is work that requires laser focus and attention to detail. A misplaced comma or missing semi-colon can bring your program crashing to the ground.
To succeed at computer programming you will need to learn how to eliminate distractions when you need to work and how to focus on the computer screen for longer amounts of time.
Becoming a computer programmer is easier than it looks like. Programming is all about logic. That’s all about learning how to think logically. We call it algorithm. This is the name of programming logics’.
A programming language is not like a speaking language. For example, if you are a native English speaker and wish to learn french, you will need to study a lot of new specific rules.
On the other hand, learning your first programming language can be a time-consuming – but not tough – job. Getting used to your second or third language is much easier, as you have already learned algorithms.
Firstly, you need to study algorithms
There are great videos with less than 60 minutes on Youtube for you to start learning. I can suggest Joseph Dugan’s explanation here:
Then, you can make an online course to learn to program
For example, Edx has some free and great online courses. I can recommend C language to start. It’s not the easier programming language, but it’s a very complete one. When you learn C, you will have the ease to learn any other language in a short time.
I can recommend especially this course from Petra Taylor and Remi Sharrock for beginners. It’s free, and if you prefer, allows you to include a valid certificate for $49.
During the course – or even after it – you can look for online programming interpreters to start writing codes and testing. I can suggest Tio, which is a great tool to quickly run your codes and see instant results.
Jerold M. Stratton
Computer Programmer & Founder, Astounding Scripts | Author, 42 Astoundingly Useful Scripts and Automations for the Macintosh
The way to become a programmer is to program
I learned to program using BASIC on a Radio Shack TRS-80 Model 1. When other kids saved to buy a used car at sixteen, I saved to buy a used computer. I’d never used a computer before, never seen one except on television.
In those days, everyone who owned a computer was expected to be a programmer. It was how you got your computer to do anything. There were books filled with programs to type in. I stayed up late typing other people’s code and learning from it.
There were also magazines that printed computer programs for readers to type in. I read these, and also sold to them. My first sale, to Hobby Computer Handbook, emulated a Mattel handheld baseball game.
My brother had one, and I wanted one. It was a problem that could be solved by programming, so I wrote a program. I used the money from the sale to buy more memory for the Model 1.
Constant practice is also helpful
If there is an experience that made me a computer programmer, it was my second job after graduation. It wasn’t meant to be a programming job.
We were scanning all the works of Sigmund Freud, cleaning up the errors that the great Kurzweil optical scanner—the size of a washing machine—made as it converted pages of German text to computer text.
We took sheets of paper, scanned them into computer text, cleaned the text, and shipped the disks to Canada and the rest of the team.
Cleaning the errors was extremely repetitive. The scanner made the same mistakes, the same kind of mistakes, over and over. And I had to fix them, over and over, in a very early version of WordPerfect.
A perfect problem for programming. But that was before the Internet and the ability to download free programming tools quickly. For reasons that seemed like a good idea at the time, we chose not to purchase any language or computer time on a minicomputer and did all of the work on a simple IBM PC.
But we did have WordPerfect. Back then, no programming language did everything or even enough. Programming was about making do in an environment of scarcity.
Nowadays, you could specialize in Swift for iOS/macOS, or Python, Perl, Ruby, or C++, and use that language in any environment for any problem. Macintosh and Linux come with most of these languages built-in.
But back then you had to be willing to adjust the language to the task at hand or the task to the language. So it wasn’t completely crazy to decide to write a program in WordPerfect’s macro language.
But it was crazy enough. At the time, in the version we were using, WordPerfect’s macros couldn’t even use variables. I’m sure its macro language has since grown into a fine programming tool. They all did. The difference between macros and batches and scripts and even compiled code is much, much smaller today.
At the time, though, this seemed like an insurmountable problem. Variables are a fundamental part of programming. If you cannot store and isolate data how can your program act on different data?
However, WordPerfect did have multiple documents. It did have a search. And it could branch based on the success or failure of a search.
That’s a variable. When I needed to store text and branch based on what the text contained, I had the script place the text in a new document and search for the comparison test.
It worked. It worked and meant we could produce clean text faster and more reliably. I have never used WordPerfect again. Learning to program in WordPerfect was not a helpful skill later in my career. But learning to do the impossible was. Schools and books will tell you what is impossible. But only experience will tell you how to do the impossible.
In Tassajara Cooking, one of my favorite cookbooks, Edward Espe Brown says that “The way to be a cook is to cook.”
He’s right. And the way to be a programmer is to program.
Utilize online resources
More than that, though, the internet has become more helpful than any resource available in the past. There are paid resources like Linux Academy and Linda and free tutorials on YouTube that cover nearly every language.
Join a community of programmers
More so, however, the community of programmers is incredibly helpful. If you get stuck while working a tutorial or when trying to develop on your own, websites like Stack Overflow allow you post questions to the community which is almost always answered quickly and with explanations.
Once you have learned a language, look for a junior-level position
You can get these without a college degree and you’ll gain work experience that you can use to advance without one. This alleviates a lot of the risk when choosing this career path.
Reinder de Vries
Senior iOS Developer, LearnAppMaking
I’ve been a professional software developer for over 10 years now, and I can’t emphasize enough the importance of making mistakes! Learning a new skill like programming means you’ll make a lot of mistakes, which leads to new insights.
View problems as learning opportunities
Yet, I see so many beginners only looking for the right answer to a particular programming question, without wanting to dive deep to find out how an aspect of programming really works.
Encountering a problem that you don’t know how to solve is an opportune moment to learn more, to improve your skill, and to grow as a developer.
Another bit of advice that’s helped me learn to code, and master new languages, is to spend at least an hour a day on programming.
You’ll build a habit that way, and the momentum will keep you motivated to learn more. It may sound odd, but having fun with programming is addicting!
Frequently Asked Questions
What is a computer programmer?
A computer programmer is a professional who creates and writes code for software applications, programs, and operating systems that run on computers, mobile devices, and other electronic devices. They develop, maintain, and troubleshoot software programs to ensure they function properly and meet users’ needs.
Some of the most common tasks computer programmers may perform daily include:
• Writing and testing code for software programs
• Debugging and fixing errors in code
• Collaborating with team members to develop software projects
• Analyzing user needs and developing software solutions
• Staying up to date with the latest programming languages and technologies
In short, computer programmers are responsible for bringing software ideas to life through their coding skills.
What are the most common misconceptions about computer programming?
Several common misconceptions about programming discourage some people from considering this profession. Here are a few of the most common myths:
You need a degree in computer science to become a programmer: A degree in computer science can be helpful, but it isn’t always necessary. Many successful programmers have learned through self-study, online courses, or coding boot camps.
Programming is a solitary activity: Some programmers work independently, but programming is often a collaborative process that requires working with other team members, stakeholders, and clients.
Programming is boring: Although it may seem tedious to some, it can also be highly creative and rewarding. Programmers have the opportunity to develop new software and applications that can make a real impact on people’s lives.
Programming is only for “tech geeks”: While it’s true that many programmers have a passion for technology, you don’t have to be a “tech geek” to enjoy programming. Anyone interested in problem-solving and critical thinking can learn to code.
By dispelling these myths and misconceptions, we can encourage more people to explore programming as a potential career option.
What challenges do computer programmers face?
Like any profession, computer programming has its challenges. Some common challenges for computer programmers are:
Staying up-to-date with new technologies and programming languages: The world of technology moves quickly, and programmers must constantly learn and adapt to new tools and languages to stay competitive.
Dealing with bugs and technical issues: Debugging code and troubleshooting technical issues can be frustrating and time-consuming.
Working under pressure: Meeting tight deadlines and delivering high-quality work under pressure can be stressful for some programmers.
Sitting for long periods of time: Programming can be a sedentary job that requires sitting for long periods of time, which can lead to health problems such as back pain and repetitive strain injuries.
Communication issues: Programming often requires working with other team members and stakeholders, leading to communication problems and misunderstandings.
Despite these challenges, many programmers find that the job is worth the effort. The ability to develop new software and applications and solve complex problems can be highly rewarding, and the high demand for skilled programmers means there are many opportunities for growth and advancement in this field.
What are the benefits of a career in computer programming?
There are many benefits to pursuing a career in computer programming. Some of the most important benefits are:
High earning potential: Computer programmers are in high demand, and many companies are willing to pay top salaries for qualified programmers.
Job security: As technology continues to play a more significant role in our daily lives, the demand for skilled programmers is expected to continue to grow. This means that job security in this field is typically high, and programmers can often find employment in various industries and roles.
Flexibility: Many programmers can work remotely, which allows for greater flexibility and a better work-life balance. This can be especially appealing to those who value working from home or being able to set their own schedule.
Opportunities for creativity: Computer programming allows for a great deal of creativity and innovation, as programmers can develop new software and applications that can impact people’s lives. This can be a gratifying aspect of the profession.
Constant learning: Technology constantly evolves, so computer programmers must continuously learn and adapt to new tools and programming languages. This can be an exciting aspect of the profession for those who enjoy learning and intellectual challenges.
What is the future of computer programming?
The future of computer programming looks bright, with new advances and opportunities emerging in the field. Some of the trends and technologies that will shape the future of programming are:
Artificial intelligence and machine learning: With the advancement of AI and machine learning, programmers will need to learn new skills and techniques to develop intelligent systems and applications.
Virtual and augmented reality: Virtual and augmented reality is becoming increasingly popular in industries such as gaming, education, and healthcare, creating new opportunities for programmers to develop immersive experiences.
Internet of Things (IoT): The IoT connects everyday objects to the Internet, opening up new opportunities for programmers to develop software and applications to control and monitor these devices.
Blockchain: Blockchain technology is used in industries such as finance and healthcare to create secure, decentralized systems and opens up new opportunities for programmers to develop blockchain-based applications.
Low-code and no-code development: Low-code and no-code development platforms are becoming increasingly popular, allowing non-programmers to create simple applications without having to learn to program. This could change the nature of programming jobs and create new opportunities for programmers to develop more complex applications.
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?