Henok Mekonnen

Posted on

My Journey with Software Development

My Journey with Software Development
What does it take to be a software developer, and where does one end up after investing valuable time, energy, and also an existing career? My journey with Software Development started some years ago when I was a graduate Engineering student. But I have seen a steep growth only since a few months ago.

My earliest software development experience was when I was attending a graduate school in Engineering. The nature of some of the courses and projects I had been engaged in rely on numerical computational approaches. Engineering is about applying scientific theories and facts, which are elegantly expressed in mathematical equations. The challenge lies in applying the set of scientific rules tokenized in mathematical expressions. Then, solving real-world problems, like predicting the drag and lift of an airplane wing at any angle of attack, and when stalling occurs. The airplane doesn’t fly in the sky by chance it follows physical laws. Am I talking some trash here or is it something that would be relevant somewhere else than a Software Development topic of discussion? I am getting started.

Most of the real-world engineering problems are so complicated and cannot be tackled by merely elegant mathematics. That is why a numerical computational approach is unavoidable in many problems. As a result, there are a large number of commercial software being developed and utilized by the Engineering community. We humans are very good at logical thinking. But, when it comes to doing repetitive tasks with precision and accuracy, computers definitely outsmart us. The story of my journey with software development starts from the time when I began to use Engineering software like ANSYS and Matlab. I used to write some generic codes like the one which takes coefficients of a set of algebraic expressions in matrix form and gives a numerical solution after some finite steps of computations. At the time, I had ambition and a few basic concepts of programming like functions, loops, and conditional statements. It didn’t take me long to understand these basic concepts of programming. But that was the tip of the iceberg. With a zeal to become an accomplished programmer and software developer I made a lot of daring moves as a self-learned programmer. I studied c++ for about a year by myself. I watched many video tutorials and tried to study the book ‘The C++ Programming Language’ by Bjarne Stroustrup. I also started practicing coding challenges in HackerRank. In this period I have acquired a lot of programming and software knowledge and skills. But did that make me a real programmer/software developer, who can earn the desired attention?

After all my determination and devotion, I was not able to convert my knowledge and skills to solve a real problem that demands a software solution. I even was struggling to understand many advanced programming concepts. So, about a year ago, joining Microverse was a game-changer in my journey with software development, like never before. Within a matter of months, I have learned many new skills and I have cemented my existing skills in programming and software development. I have taken a lot of lessons that being a software developer is not just about logical thinking and writing a bunch of codes. It is also about:

• Collaboration
• Sharing resources
• Professionalism