Posts

Showing posts from May, 2018

The Role of Software Engineer in Digital World Today

Classic software engineering was more about the science of programming, with the focus on – Best practices in design and development such as OOP, inheritance, etc. Art of developing programs that can scale and perform Debugging code to find the root cause and “fixing” that as opposed to adding a patch to “conceal” the bug. Best practices around the processes that enable gaps/defects to be identified earlier in the development cycle – such as peer reviews, source code management, continuous integration, etc. However in the last decade or so, with the proliferation of frameworks and tools which claim to automate a lot of these best-practices – the role of a software engineer has diluted.  These frameworks and tools are supposed to manage most of these low level nitty-gritty of software development allowing the software engineer to have to perform just a few mouse-clicks to build a functionality. Undoubtedly this has resulted in the development cycle shrinking significantly