Computers have been around us for along time, and even now more electronic devices in the forms of tablets, mobile phones, smart watches, etc are starting to get popular bringing together this new notion that is starting to be defined as the internet of things. More and more, we have more devices are starting to be interconnected between each other through the internet on a large broad of networks which start to produce large amounts of information. This were the concept of Big data processing is also gaining a big momentum.

Most of you will ask, what does this have to do with the title of the post? Well, all this technologies have something in common and is that most of it services are based on software elements which where coded by someone in the end. This is why coding is important in technology as it allows us to create all this cool things. Not even that, one of the most demanding media entertaining markets; videogame are based on software and coding skills to bring virtual worlds to life.

This brief introduction is to clearly state that if you are someone approaching to achieve a major in computer science, information technology or you want to become a software engineer, you will need to code at sometime coding will be your greatest and most valuable tool and you need to become good at it. Why is that? Well lets take for example a carpenter, his role is to build great and elaborate things out from wood by using the tools available to it. What makes the difference of a good from a bad carpenter is that no matter the tools you give him, his art quality is directly related to how good, his carpenter skills are. So In order for this carpenter to become an expert, it mostly depends on how much dedication and effort he focuses on improving his carpenter skills.

This is similar to software, in order to become better at coding; you need to practice along the way. Luckily with the ourburst of the internet, there is a wide range of resources where we can get started ourselves quite easily.

Here I give out some tips:

- Learn a language which you like: Luckily, I learned Java at university which was a good choice to start with and also you get grasp on Object Oriented Programming (OOP). There are other nice options like Python (quite simple also). C++ is also interesting but from my point of view it might be to rough to those who are a bit unsure how to program. The important here is to motivate yourself using a tool that you feel like home. Also now with Massive Online Courses like coursera offers, one can easily pick a language and try it. Even better, have a look at this link and pick your language!

-Follow some tutorials/books: There are many websites with a vast amount of resources, if you take Java; I recommend the oracle Java tutorial which it is quite good. If you go for python, read "learn python the hard way" very good resource.

-Compete in programming competitions: This is one of the best ways to learn programming and in the same way, you learn and develop problem solving skills. There are plenty of puzzles out there that do not need very complex solutions but they do require some previous knowledge in algorithms. Still try to solve the problem and break it up, is hard and there is a reward in the end which is receiving your own satisfaction after been capable of solving extreme challenges you never thought before. There are some sites which allows you to solve problems of this type, I recommend TopCoder, CodeChef and CoderCharts to start with.

-Take an algorithms course: This courses are fun in the end as you learn techniques to solve problems that seem impossible with a couple of lines of code! Also it is key for solving complex problems in programming competitions. Now with coursera, there are many courses in this area and they are of course free to take!

This few tips, will give you a head start on your career path on IT and technology!

Apache Hadoop & Flink automation in OpenStack with Karamel

This is a special post as it remarks my first contribution to a small open-source project and also to my ex-colleagues during my brief ti...… Continue reading

Developing Applications With Docker

Published on August 13, 2015

Welcome to My New Page!

Published on July 22, 2015