Category Archives: Software Engg

What are API Managament Platforms & Why are They Needed?

The article describes API management platforms and why are they needed at all. What are API Management Platforms? As businesses start exploring about taking the API route to integrate their applications in one line of business (LOB) with applications from other LOBs or, expose their APIs to external partners, the need for one of these API management platforms start cropping up. Even before we go further, lets understand as to why an enterprise considers adopting the API strategy in the first place? Well, one full article could be written as an answer to this question. However, briefly speaking, APIs primarily allow enterprise and its different LOBs to achieve following objective: Extend/share …

Continue reading

Posted in API Development, Integration, SOA, Software Engg. Tagged with .

Tips for Setting up Application Security Education/Training Plan

The article represents one of the education model that could be used to regularly educate your IT organization/team about latest security updates, attack patterns, mitigation techniques, security-related libraries and infrastructure, best practices and guidelines, etc . Now that application security is becoming an important aspect to take care, while laying out plan for application design and development, it becomes much more important to put a plan in place for educating application developers & testers. The primary objective is to create a security-aware development team (organization at large). Following is one of the model that could be used to achieve the above said objective: Security Awareness Training: Security awareness training to all …

Continue reading

Posted in Application Security, Software Engg. Tagged with .

Developers Take Away from Gmail App Enhancement on iOS 7

The article reflects on the developers take away from recent enhancements of Gmail App on iOS 7 platform (iPhone, iPad). The latest enhancements consist of background app refresh of email thus avoiding users to manually refresh and get new emails. Following is the description of technology behind background refresh feature. Background App Refresh using Pre-fetching The new update released for Gmail App for iOS 7 platform makes use of the iOS background app refresh feature. This would mean that iOS users are no longer required to manually refresh the app to get the new emails. Following is the excerpt from Gmail blog post: “The app now fully supports background app refresh, which means …

Continue reading

Posted in News, Software Engg. Tagged with .

5 Reasons Developers Consider Maintaining Blog

In the fast-evolving digital landscape, blogging has emerged as a vital tool for professionals across various industries. For developers, a blog is not just a platform for expression but a powerful means to carve out their niche in the expansive tech universe. Why do developers, who are often immersed in codes and algorithms, find solace and utility in maintaining blogs? Let’s delve into five compelling reasons. 1. Sharing Knowledge and Skills The tech community thrives on the exchange of knowledge. For developers, a blog is a perfect avenue to disseminate insights, experiences, and technical know-how. Whether it’s a breakthrough in a complex code or a review of the latest programming …

Continue reading

Posted in Software Engg.

Use Facebook BigPipe to Load Webpages Faster

This article represents Facebook BigPipe technology and various different open source frameworks which could be used to load web page faster like Facebook. Please suggest related frameworks if one or more of them is not mentioned in this article. You may have read the text on BigPipe on several webpages. However, I wanted to present a different perspective including pictorial presentation for better understanding. Traditional webpage serving model  Following diagram represents traditional webpage serving model.   You may notice that in traditional model, the request-response operations are pretty much sequential in nature. Thus, following can be observed: Webserver Busy, Browser Idle: As the request is sent from browser, and webserver …

Continue reading

Posted in Performance Engineering, Tools, Web. Tagged with , .

5 Free Online Courses on Algorithms Developers May Want to Checkout

The article represents top 5 free online courses on algorithms developers may want to keep handy in order to get themselves stronger in data structure and algorithm concepts. I wanted to compile these links primarily because as a developer I always wanted to find out some of the great web pages/documents on the internet which could help me get stronger in data structure and algorithm. Hope the list below helps you to get up and running with algorithms. Algorithms, Part 1  Algorithms, Part 2 Introduction to Algorithms: This is an undergraduate course which is made open as part of open course ware initiative at MIT. This course provides an introduction to …

Continue reading

Posted in Software Engg. Tagged with .

How to Measure Code Maintainability with Sonar

sonar code maintainability

This article talks about 4 different quality parameters found on Sonar dashboard which could help measuring code maintainability. Following are those quality parameters: Unit Test Coverage: Unit Test Coverage depicts code coverage in terms of unit tests written for the classes in the project. Greater test coverage depicts that developers are focusing on writing good unit tests for their code which results in greater test coverage. This also depicts the fact that the code is testable and hence, easier to change as a bad change could lead the unit tests to fail and raise the red flag. And, a code easier to change becomes a code easier to maintain. One …

Continue reading

Posted in Software Quality. Tagged with , .

The 7 Habits of Highly Effective Developers

7 Habits of Highly Effective Developers

Well, I researched on the internet looking for one or more articles which was written with the title, 7 Habits of Highly Effective People, and found a couple of them that has been written in the recent past. Following are some of them: http://blogs.msdn.com/b/johnwpowell/archive/2008/05/22/the-7-habits-of-highly-effective-developers.aspx http://drupal.technicat.com/writing/programming.html http://css.dzone.com/articles/7-habits-highly-effective The above articles are good and do talk about different aspects of becoming effective developer. However, I was not satisfied much as I could not find mention on some of the points that I wanted to talk about. Following is representation of my views on 7 Habits of Highly Effective Developer. Please feel free to share your opinion on whether I was able to …

Continue reading

Posted in Software Engg. Tagged with .

How to Increase Unit Test Coverage of Legacy Code?

test coverage

The article represents a time-tested approach on how to increase unit test coverage with legacy code. I shall try and answer following relevant questions in order to present the approach on increasing the test coverage of legacy applications (code). What are some of the key challenges? Leadership Buy-in: As soon as you start planning for writing unit tests on legacy applications, you come to realize that it won’t be very effective and smooth without the consideration of code refactoring. The reason being the fact that legacy code in many cases are found to have very high code complexity in terms of cyclomatic complexity and, familiar code smells such long classes, …

Continue reading

Posted in Maintainability, Software Quality, Testing, Unit Testing. Tagged with , .

2014 Development Trend: Decouple User Experience from Functionality

user experience

The article represents an interesting trend in relation with need for decoupling user experience from functionality that is happening as result of different UI channels such as web, mobile devices using which users could access the software functionality.  This can be termed as “Paradigm Shift” that needs to be adopted by developers sooner than later as part of the development practice. This is becoming much more relevant for this year, 2014 where there will be a need for delivering functionality on different devices/channels. What this means is that developers need to stop visualizing user interfaces (UIs) when they analyze the feature/functionality development. This is primarily because of the following reasons: …

Continue reading

Posted in Software Engg. Tagged with , .

4 Reasons Why You Would Want to Create Custom Exceptions?

custom exceptions

Either you are writing a program in Java or .NET, the questions remains that why to create custom exceptions in the first place? I, in my initial years as IT professional, also kept wondering on why, at all, there is a need for custom exceptions whenever I use to come across one of these types. At the same time, I also wondered on how to come up with right names for custom exceptions if at all I want to create one. Please feel free to add to the below reasons if you believe that there are other points that should also be covered as part of benefits for creating custom …

Continue reading

Posted in Software Engg. Tagged with , .

Tips for Developers to Increase their IQ (Innovation Quotient)?

innovation quotient

One of the primary concerns of many software services companies is to figure out how could they increase business with their existing customers year-on-year (YOY). And, one of the sure shot methods to achieve that objective is to provide innovative solutions which directly impacts their customers’ business in a positive manner and leads to increase in their business. This could, in turn, lead to enhancement of engagement & relationship between customer and the software service provider, thus, leading to growth of software service providers’ business. As mentioned above, the definitive way for software service provider to grow their business is to come up with innovative solutions which impacts the customers’ …

Continue reading

Posted in Innovation, Software Engg. Tagged with .

Top 5 Code Smells Newbies Developers Could Easily Identify & Avoid

code smells

Following is one very popular image which has been used to represent time and again for representing code smells. I am doing it again. Apologies if this one is repeat for some of you. But the image nicely represents how to find if your code really smells. The code smells listed in this article would certainly lead to increase in WTF count 😉 For newbie developers, it has always remained a challenge to write code of great quality from day one. One of the primary concerns they have been found to have is following: What kind of code could be termed as high quality code? There are several characteristics of good …

Continue reading

Posted in Freshers, Software Quality. Tagged with , .

Top 6 Refactoring Patterns to Help You Score 80% in Code Quality

refactoring

This blog lists down top code smells and code refactoring patterns which would help you write good quality code. Top 5 Code Smells Have done several code reviews in past and found following top 5 code smells common across most of these code having code quality issues: Large Class: The classes were found larger enough due to lack of developers’ understanding on one of the primary coding principles which is “Single Responsibility Principle” (SRP). These classes use to get larger due to various methods serving unrelated functionality in the same class. Long Method: The methods have been found longer due to several reasons such as following: Several block of code …

Continue reading

Posted in Code Review, Software Quality. Tagged with .

List of Handy Architecture & Design Patterns for Developers & Architects

[adsenseyu2] If you are a newbie developer. experienced developer, aspiring to be architect or an architect, you may want to keep following architecture & design patterns handy with you to solve day-to-day software architecture and design problems at your work place. These patterns can be applied for developers/architects of varied experience level, having expertise with various different technologies (programming languages). Please feel free to suggest additional patterns as if I may have missed some of them. Application Architecture Patterns: These patterns primarily are related with topics such as how to layer an enterprise application, how to organize domain logic, how to tie that logic to a relational database, how to design a …

Continue reading

Posted in Architecture, Enterprise Architecture, Software Engg. Tagged with , , .

How to Estimate A Story in An Agile SCRUM Sprint

Wondering on Agile SCRUM Sprint Estimation

Wondering on how to estimate a set of business requirements into one or more Agile SCRUM Sprints? Go on reading further and let me know what you think.   If you are planning to work/develop software based on Agile SCRUM development model and are looking out for an estimation model, here it goes. Quick Overview on Agile SCRUM Before I go into presenting the model, let me present a quick introduction to Agile SCRUM development model. Agile software development is a set of software development methods that are based on iterative and incremental method, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. Following is taken from Agile Manifesto …

Continue reading

Posted in Agile Methodology. Tagged with , .