4 elementary must-have skills for a software engineer

Software engineering is a complex field. Engineers are making solutions for everything from turning a faucet inside a bathroom to sending a spaceship to Mars. Software is all-pervasive. Even those who hate the world of software cannot avoid using software applications. Contrary to the world two decades ago, when mechanical devices were purely mechanical and communication devices were purely electronic, today we have a world where everything has a touch panel, touch screen and pieces of hardware that won’t work unless the functionality is powered by software.

What we have seen in the last 20 years is actually nothing. The world of software is only set to grow more. I really cannot and do not want to predict how many fold the software market will grow. The quantity is unknown. But I can tell you that many more software engineers will be required and deployed. But as companies open and close, technologies come and go, software engineers will need to adapt themselves to growing needs. They cannot do so unless they master the following 4 skills, which are extremely elementary. Continue reading “4 elementary must-have skills for a software engineer”

Data structures and algorithms: The most important factor in the best software solutions

In today’s article, we shall see why we should toss aside peripheral arguments, like the programming language to use and which cloud service to opt for, to build long-lasting solutions. Rather, we should bring a large whiteboard and attempt to solve problems in a time-tested way: diagrams and formulae. Why? So that we determine the most efficient solution by using the basic building blocks of programming: data structures and algorithms.

Continue reading “Data structures and algorithms: The most important factor in the best software solutions”