Bachelor's student, Computer Systems and Technologies
How NOT to Start Coding
Nowadays, the field of software engineering is a very attractive one, looming with big opportunities, easy guides, and amazing working conditions, as well as high salaries. It's no surprise that there are a lot of people wishing to get into it, which produces countless arguments and advice on the subject of "where do I even begin?" But will that help you?
I don't think that this would be the case for a lot of people. So, today I'll go through some common pieces of advice and show you why they might not work and how to make them work with the help of quotes from senior developers with at least four years of work experience.
Do you have to pick?
Many articles will advise you to pick a programming language or framework, as though you have to make a choice. They'll often provide you with a couple examples of good programming languages to try. And sure, someone might pick a language, find a tutorial, and become great at coding. But can you be sure that you are that "someone"?
The main problem is that this doesn't give you the opportunity to explore even half of the field you're trying to get into. By following this recommendation, one can pick a language, study it, and then suddenly reach a dead end, because programming languages and frameworks are just specialized tools and you can't use any language for any purpose.
Remember, that switching languages and frameworks is a common practice in the world of computer science and the core concepts: variables, procedures, classes, threading, and so on — remain mostly the same across the board. One of the specialists I interviewed for this article, a senior backend developer, explained:
"I learned my first programming language at school, it was C. I didn't get very far with it before switching to Python. I tried Java, C#, Ruby, and others, but Python ultimately remains my favourite, although knowing other languages helped a lot in understanding complex programming patterns and concepts."
Does popular mean good?
Have you heard the news? Don't you want to learn "the bestest" programming language there is?! And no, you may not want to do that. Seeking the most popular (often wrongly called "the best") technology is not really the way to go. We have to understand the vastness of this field. Coding comes in a lot of forms, ranging from websites and mobile apps to data science and embedded systems. And even the most popular languages can't cover it all.
Instead of picking a language, you can pick a project. Something you would like to develop, something you always wanted to automate. Want to build a website for chess? Sure! Want to read CAPTCHAs? Go ahead! The tools you use come from the project you are working on and even if the project goes nowhere, you still got some experience from it. Some programmers became quite successful in their career this way, for instance, the lead of frontend development in my team said:
"I started web development, because I wanted to build a website for playing battleships with my school friends. It sounds so funny now, knowing there were countless websites and apps, which already did this exact thing, but it felt great to play using my own creation. I enjoyed making that site and continued working in frontend development ever since."
Is it better without a degree?
Yet another attractive thing about coding is the lack of a requirement for a degree. Articles may even call a proper degree a waste of time, since a lot of successful programmers don't have one. So you can skip uni and go for self-education or online courses instead, right?
Not really. Not everyone is good at learning by themselves, starting from scratch or understating the first steps. A computer science degree can give you a foundation and help you through the beginning. Still, that does not mean that you have to have a degree. So the choice is yours, pick what is more convenient for you.
What do I do now?
Ultimately, there is no guide on how to start coding. Everyone is different. You should pick the approach that works best for you. And if that fails? Try something else. Coding or not, the main goal here is to find what you will enjoy doing and not what is the best for "everyone."