-
Building a Strategic Security Roadmap – What I learnt over the years…
Several years back I had my first stint at building a strategic security road map to a client I was working with. I must say I was not a practiced and seasoned expert who knew “a-z” of building security strategies and road maps. So as usual, I just rolled up my sleeves and started digging…
-
Duties of a Software Architect – build for customer needs, not ours.
In my previous article (UNDERSTANDING THE ROLE OF A SOFTWARE ARCHITECT), I explained the role of a software architect as well how we can categorize software architects. Whilst writing that article what came to my mind is, do we really know what our duties or responsibilities are as an architect. So I decided write from…
-
Concurrency vs. Parallelism
In a project that I was working on, we were discussing using “map-reduce” to process our application data faster and when we were discussing about leveraging current multi processors to process faster , I found there was some confusion about concurrency vs parallelism within the team. So I thought maybe I can explain the difference…
-
Understanding the role of a Software Architect
According to Wikipedia the role of a Software Architect is defined as “Architects make high-level design choices based on their programming experience. An architect has thought through all the aspects of a software, just like an architect that builds a house. A construction architect knows where the ducts will be, where the electric connections will…
-
Building an IT Strategy
Developing an IT strategy may look as a daunting task for many IT leaders and even a defined IT strategy may not yield the right outcome. Many reason could contribute to a failed IT strategy but some of the main reasons being IT leaders being pushed for IT strategies where the business itself may not…
-
Software Engineering – Merge Sort
I recently had to a do an application that required me to sort a data set fast and efficiently. I opted to do a merge sort. Merge sort is a fast sorting algorithm which is always true with an average or worst case performance of O(n log n). What I really love about a merge…
-
Connecting RabbitMQ with PIKA for 10000 EPS
Hey all , I know it has been a long time since I posted any articles on my site due to and extremely busy schedule. But I wanted to start again giving out my experience so that someone can benefit from that. In the last week or so I have been tasked to create an…
-
Clean Code or Code Clean – Why I love refactoring
I am pretty sure that most of the times, us developers have heard the following line from some senior personal “Why don’t you code it clean the first time”. Well in fact I have heard this many times as a developer and have told this to my juniors many times as well. But when you…
-
What is the cost of going Agile
Recently I was interested in a user group question about what is the actual cost of implementing Agile within an organization. I believe that using the term “cost” when it comes to Agile implementations may not be the right term and I would rather prefer “ROI”. However following is my take on what is the…
-
5 Attributes of a Great Software Engineer
Software Engineering is the process of applying engineering to design, development and maintenance of software. Most engineers who come from engineering schools are taught about engineering practices, programming languages , coding standards etc… but once you enter the world of professional software engineering and the dust settles down , you find the rules of the…