DEV Community

Cover image for The journey to Software Development
Himanshu Vaidya
Himanshu Vaidya

Posted on

The journey to Software Development

The thought of being able to create webpages and applications may sound super cool at first, but you learn very quickly throughout your process that it is no simple task! There are many ideas and moving parts involved and you must be able to find a way to put all of the pieces together in order to get your ideas to accomplish a certain task, whether you are trying to create a simple informational webpage or an intricate web application that involves large sets of data, different functionalities, several languages and their frameworks and so forth.

For those of you who are merely contemplating making the career change into software development or those who are on that path currently, I'm here to give you some tips on what you can do to become a successful developer over the course of time.

The one thing you will always need to remember is that programming is evolving each and every day. That means that there is endless content out there that is being created and implemented constantly and you will need to remain proactive in adapting to and absorbing as much knowledge as you possibly can to become a great developer. However, this doesn't mean you need to become a master in every aspect possible. It is advised that you pick and choose a language of your choice and try to learn all of the different concepts and components that come with that language before moving on to the next. Although there are many similarities in each language, there are even more dissimilarities and variations that you will encounter that may cause confusion, which you are bound to run into at some point in your journey.

Your journey should start by you understanding what exactly software development is and why you want to become a developer. Ask yourself what you plan on doing after becoming a developer and if this is something you genuinely want to do for the rest of your life and at the same time, be happy doing it or are you doing it for the purposes of landing a job for the money? Either way you look at it, you will need to become comfortable in whatever you end up choosing and this will require a great deal of patience, plenty of resources, and more importantly, practice!

The great thing about the web today is that there’s endless information we can obtain and the resources available are often free of cost. You will want to take advantage of this as much as possible as this will help you understand concepts from different angles and approaches, which if you aren't able to grasp at first, you may end up doing so by looking at these concepts from different perspectives. Not everyone has the same learning style or pace, so being able to have various options will certainly help. You can visit websites such as freeCodeCamp that offer courses and code challenges that will help build and boost your skills free of charge. You can also sign up for courses through sites such as Udemy, Coursera, and similar sites that offer classes and curricula with the necessary tools/labs/instructors included for a small fee. There are also hundreds of thousands of free videos online where you can find any and all topics ranging from A to Z. If you can find a few resources you particularly like and stick to those few, you will have no trouble at all finding the answers to all of your coding questions. Remember, being able to "Google" and finding solutions to your issues on your own is a skill in itself, and will play a very pivotal role in your journey as a developer!

Image description

With all of the information you are viewing and absorbing each and every day, you will find that you aren't able to always grasp or apply that information effectively to your code. You will have to accept the fact that in coding, you will constantly run into bugs in your code and will need to be able to debug your code as effectively and efficiently as possible. This process could take either 5 minutes to fix or possibly 5 hours! This is all dependent on the complexity of your code. To help deal with these issues, you must be able to remain calm and have patience. You will often find yourself stressed out or frustrated that you're stuck on an issue for quite some time. It is important to keep in mind that this will happen quite frequently and you will have to either take a break or move on to the next part of your code. Some effective methods with preventing and dealing with "code-block" include:

  • taking a break away from your computer and getting some fresh air

  • making sure to stay hydrated and eating a snack to refuel your energy and focus

  • engaging in another activity for a brief period

  • performing simple breathing exercises

This list is just limited to a few ideas, but there are many other out there. You can do whatever you feel comfortable with, as long as you can feel that you are ready to move on.

And lastly, practice! As they say, practice makes perfect. This is true with coding as well. The more you practice with your code, the less likely you are to run into errors. This is key when it comes to coding. Running into errors will take up significant time and can also cause serious issues with your application! It's best to avoid these types of situations. It's best practice to set aside some time and write your code, free from distractions. You will need allot more time than you think. If you can manage your time to the best of your ability, you should be able to write your code several times without issues, but this will only come with practice! It is easy to get lost in what you are doing and steer in the opposite direction, but the more you code, the more you will understand why you are writing the code, which will ultimately set you apart from other developers.

All of this may seem like a lot and may even start to change your mind on how you feel about coding, but these are all things that most developers go through and know that you are not alone. If you don't struggle in the beginning, you will almost always have difficulty when you do come across issues in the future, but we want to avoid these issues to begin with, so I hope you find this blog helpful and good luck with your journey!

Top comments (0)