6 things I wish I knew when I started programming
- coderinthewild
- Apr 3, 2020
- 3 min read
Hello and welcomeš¤š»! I wanted to kickstart my blog with something I think can be really useful for those beginning their journey in not only programming, but Computer Science and Software Engineering. When I started studying for my degree (Software Engineering) I knew absolutely NOTHING about coding. Looking back to my first semester, and everything that came after that, I realized that knowing some things would have made my life much easier. If only one of my teachers would have told me even ONE of these...
You learn by doing.
It's okey to watch 20 youtube videos and read 10 tutorials for something, but the only way you will actually understand what you are learning is when you get your hands on it. So⦠Practice. Practice. Practice. When you build while you are reading/learning you are able to apply all that knowledge and that will make it stick.
Problem solving skills!
Donāt get caught up in the different programming languages there are to learn and don't be afraid to write code that is not so performant or kind of messy. This is because the focus should not be on the tools, it should be on solving problems!. Your tools will change for many different reasons, courses at uni, due to the task at hand, employment requirements, BUT your problem solving skills will always be there and they are the most important part.
Algorithms. Algorithms. Algorithms.
Algorithms were one of the most difficult things for me to learn, there are so many things to algorithms, how they work, their orders, what they actually do and of course, their names, every single line has a meaning and is there for a reason.
There comes a time, at least at my uni, where algorithms will go to the background and things like architecture and design patterns will come forward. Certainly, the latter are crucial for any kind of system development, BUT, do not forget about algorithms. If you do, somewhere along the road, you will have to relearn them, and at least for me, it was -and is- very hard. Remember: NEVER TRY TO LEARN THEM BY HEART.
Become a self-taught person.
There is a huge amount of things that you won't learn at uni, and it is really important, that if you are interested in a particular aspect (architecture, UX, app design) or technology , you do your own research. Build your own toolbox, go through tutorials, read articles, enroll on some online courses. This is the only way to really find your passion and discover what you love doing, not everything in life is coding. I personally love UI/UX design, and most of my uni courses donāt care if you present something that looks straight out of Windows 95, so I had to learn all about it by myself, and Iām really really glad I did.
Google & Stack Overflow will become your best friendsā¦
And copying & pasting is not bad if you understand what is happening! Splitting an array, opening streams, sorting data, etc. are all tasks that should not be reinvented. This goes back to point number 1, algorithms are already here and they work, so you should use them. Naturally, you have to be able to identify the one that is the best fit for what you are trying to do.
Clear your mind
There will come times when you just want to throw your computer out the window because something isnāt working. Well⦠donāt do that. Itās expensive. Take a walk, watch some Netflix, work out, play a game, light a candle and meditate, do ANYTHING that will give your mind a break. When you come back you will see the whole situation in a totally different light. There where so many times that I would go to sleep and literally wake up in the middle of the night -or dream about- the solution to my problem, and when that happened, it was really freakinā cool.
There is no magical recipe, just practice, explore and find out what works for you. This were just some things that I can think of now, looking back at my journey. If you are just starting, I hope my words are useful. If you are already a few years into the game, what things do you wish you had known?
Enjoy the road š¤
Comments