Author Archives: Ajitesh Kumar
Technical Architect Interview Questions
Today, I happened to take an interview of a 9 years experienced guy in java technologies working as a senior tech lead in one of the global software services companies. Following are some of the questions that were discussed: 1. Define reliability and its different attributes. 2. If customer mentions reliability as one of the most important non functional requirements, what architecture and design strategy would you recommend to the team to achieve a high state of reliability? 3. If given a set of business requirements, what are done of the key steps you would undertake to reach uppity lowest most level of designing classes, interface etc? How would you …
Top 4 Activities for Kickstarting Semantic Web/Linked Data Initiative
If you have been wondering on steps required to kick-start semantic web/linked data initiative within your team or organization, following are some of the key considerations you would want to take into account: Building the right team: One of the most important challenge in starting on semantic web/linked data initiative is to get your team ready with right concepts and experience in place. Following are some key considerations in relation with building the right team: Identify people in the organization getting upto speed with linked data technologies such as RDF, OWL etc. Hire business analysts and engineers experienced in developing ontology frameworks such as Ontology Development Metamodel (ODM). Consider augmenting …
A Centralized R&D Team – Key to Highly Performing Agile Scrum Teams
If you have an Agile SCRUM based development center that consists of multiple SCRUM teams to working on different features and functionality of one or more product, you always have the concerns in relation with highly performing teams in terms of usage of relevant and latest technologies from time-to-time. One of the key challenges in front of SCRUM teams is to make sure that they are using most appropriate technologies at all point of time. This can be achieved in multiple different manners. Some of them are following: Set aside stories for research & development of new tools & frameworks to be done in each sprints. Stories of such kind, …
Top Security Considerations for your Cloud Applications
I have been working/reviewing a cloud application where data security has been shown as top security concerns for most of the customers. Following are key areas for consideration when planning for security for your cloud applications: Internal theft: One of the most crucial security thefts come from unscrupulous employees who can pass/leak data to the competitors. The customers using the cloud applications are suggested to advise their employees on this front. Physical access control & monitoring: The physical access to the data center hosting the cloud application should be restricted and monitored at all times. Login access control: Only authenticated users should be allowed to login.In addition, the authenticated users …
Key Considerations for Application Security & Agile SCRUM Team Composition
Before going into the SCRUM team composition in relation with application security, it can be worth while knowing what are key aspects of secured application development practices: Security awareness training Threat modeling Secured coding practices Secured code reviews Security testing Achieving the state of secured application development practices is one of the toughest challenges for most SCRUM MASTERS to crack. For achieving secured application development, different alternatives could be explored to build the team, depending on software development methodology including agile and non agile methodologies. For agile development based on SCRUM model, following alternatives can be explored: Security Officer/Adviser/Architect: The role of the security adviser is to counsel various SCRUM teams …
Top 5 Secured Application Development Practices
Following are top 5 areas to consider while setting up secured application development practices: Security Training: The developers have to be given continuous training on application security. In this regard, OWASP Top 10 security related recommendations is of great help and a great place to start. This is primarily applicable for web applications. However, most of it also applies to general application. The security training is applicable for all stakeholders of the project including business analyst, project managers, architect, developers and testers. Threat Modeling: This is the most important aspect of all. This primarily consists of following important steps: Threat classification: Following are some of the key threats one can …
What are Expert Systems?
Did you come across any project requirements to implement an expert system? In another words, did you come across the need to implement rules engine? Lets try and define expert system. Simply speaking, an expert system is a computer program which can advice actions to the users, based on the facts (data or inputs) that he shares with the system. The expert system maintains the knowledge heuristic which is updated by experts in the field, from time-to-time. An expert system can have two interfaces, one for general user and other for expert user (domain expert or knowledge engineer). Following diagram depicts what an expert system looks like: Lets look …
Top 5 Characteristics of a Great Fresher Developer
While handling various different teams of freshers in my career so far, following are top 5 characteristics I have come across in what I call as “great freshers developers“: Hard Work: When starting their career, developers need to put extra time in learning new things, and experiment with them. In addition to that, they need to catch up a lot on good practices of writing a software of good quality as no one would accept the software of compromised quality on the grounds that developer is a fresher. Patience: This is a virtue which most of the freshers lack. All of them are looking forward to start working on a …
YII framework for faster PHP web application
If you have been looking for developing a web application in a quick manner, then, YII is surely a right choice. YES IT IS! What are some of the important characteristics of yii framework? 1. It is very lightweight. 2. It is based on MVC framework. 3. It comes with a user interface tool which helps in creation of models, views and controllers. 4. It has support of some real good UI framework such as getyiistrap.com, yii bootstrap, yii wheels. 5. It comes with a support of a set of extensions that can be used to include new features quickly in no time. 6. If you love writing code based …
Top 5 Project Management Topics for Technology Geeks
If you have been the technology geeks and want to learn topics in project management to manage your work, following are five most important topics in project management you would want to consider: Scope management: Helps you to determine the scope of the deliverables Time management: This is related with effort estimation Quality management: The is related with overall quality of your deliverables Risk management: This relates to overall risk of your projects. Communication management: This one relates to communication done to external and internal stakeholders.
Analyzing Raw C++ Code to Create Architecture Diagram
If you have got an application written, primarily in C++ code, and you have been asked to understand the code and create architecture diagram, following are some of the biggest challenges: Top-down approach: If you have got an understand of functionality at a very high level, it is important to think about some of the components that can map to these functionality. If you have not got enough information on functionality to think about these components, it is always better to ask your customer for a bit more information than what you have. Once you have thought of probable components, you can start hunting for those components in various different …
Understanding Google Glass Development: How to get started?
We, the developer community, have been hopping around the development ecosystem and creating applications for web (technologies such as Java, .NET, PHP, Ruby, Scala etc) & mobile devices such as smartphones (running iOS, Android), tablet (running iOS, Android) etc. This year saw the release of Google Glass devices. Google has been doing enough to publicize the google glass and this is expected that there shall be need for Google Glass applications if Google Glass has to be accepted by mass users. That would require developers like us to take a stab at it and create some apps for Google Glass. If you are very new to google Glass, please read …
Key Questions to Ask During Software Requirement Analysis
Following are some of the common issues faced by many teams that I came across, at one or the other point, is the complaint posted by their client regarding following: The team including developers and testers do not understand requirements The team do not ask enough questions and require spoon feeding The team makes assumptions The team does a good job in coding normal use case scenario; However, they fail to take into account exception handling. The end result of above is unhappy client, a confused team and go-fix-the-issues team management. With some research and experiments, I found some of following questions that when asked during requirement analysis phase, helps …
Go & .Net – New Additions to Google Glass Developer Kit
Till few weeks back, it was only Java, PHP and Python programmers who had the necessary support from Google Glass Mirror APIs for development purpose. Now, there are two more additions to the programming languages using which one can develop using Google Glass Mirror API. They are: GO (App Engine SDK for GO) .NET (.NET framework 4.0 or higher, ASP .NET MVC 3 web framework or higher, A web server) Quite a good move from Google to enhance the developer ecosystem and including large number of developer community.
Top 5 Google Glasswares Architecture Principles
If you are planning to get into google glasswares development, following is the list of top five architecture principles that should be kept in mind: 1. High Usability: With google glass device in the presentation layer, and owing to smaller display area of the timeline cards on the device, it is of utmost importance to plan content (texts/images/videos) including menu items to be displayed in the simpler form on timeline cards. The most simplest of them all is to have simple texts. However, the requirements may not be that simple and need for menus can always arise. To properly design content and menu for ease of navigation takes primary seat. …
ShriGB – A Semantic Financial Search Engine
ShriGB, as the name goes, is about extracting valuable insights (“Shri” – respect) from large/big data (“GB”) . The project is aimed to leverage semantic web & big data technologies to extract meaningful insights from unstructured financial data lying across the web. The data is mostly present in raw form and is useful to some sections of society although, can be used by different section of people for different reasons. Lets take a look at following example: Dabur to set up manufacturing units in Uttaranchal The above data can mean some of the following: More jobs are going to be created in Uttaranchal region This may lead to boost in …
I found it very helpful. However the differences are not too understandable for me