Trying new tech stack for project – Good or bad?

If you search for ways to keep up to date with latest technologies, I’m sure you will find at least couple of articles stating “trying new technologies for each new project” as one of the ways to do it. As appealing and good this sounds to developers, it is not the best possible solution if you have a beginner team and you are selecting to replace the whole stack with a new one. Following are some of the reasons that I believe which can explain why selecting new technology stack that you have no experience with for new solution is not a good idea.

Firstly, the client is paying you to do develop a solution for him or her and not to help you learn something new. If you choose to try a completely new stack that you have no experience with for a new client project than it is obvious that you will spend some time in learning and then apply your knowledge in developing required solution. This could also go side by side as project continues but again no matter how fast you can learn something new, you are still making your client spend some bucks to help you learn.

In addition to this, getting a result that is most efficient or follows best practice all the way is not true when you are learning and doing things at the same time. You will be able to learn the new stack from a book or some online articles but that will only help in completing the job and not in doing the job well. For instance, you can easily find an online post explaining how to make an API call but as a developer, your job does not end there, you should be able to find a way to make it completely efficient. If you can not find the most efficient use of new technology stack then what’s the point of using it?

Lastly, it could be stressful to you and your team. As fun as it can be to learn and use new things, there is also a dark side where you have to find and solve issues in it which can be stressful sometimes. Because you have just started to use it, you mostly rely on your initial understanding and possibly online help to solve any defect that comes in your way. Sometimes, there could be an issue that no has ever experienced and it’s bugging since the last couple of days, everyone is pressuring your complete it, resulting in long hours and overtimes. In addition, if you have a team of a beginner then this could go worse. You will always be struggling with deadlines and at the end, client is not satisfied.

In summary, as listed above it might not be a good idea to try completely new stack for a new project; instead, you should gain some experience in it by doing some POC or side project and then go full force with next client project.

Does this mean one should never try something new in a project? No, this does not mean that you should not use any new technology in a new project, you can, of course, select to replace some part of your technology stack to with something better available out there. Replacing a part is does not hurt that much than replacing the whole stack.For instance, you can choose to move to NoSQL or BigData database instead of SQL database for next project based on your experience with previous projects.

If you have any thoughts or experience on same, please feel free to comment on this post to share it.

Advertisements

“Sell me this pen” – a developer’s take

Recently I came across an interesting question on Quora that is “What are best responses to ‘sell me this pen?’ question?“. After reading various answers from experts following is my interpretation: One should start by asking questions to the customer and slowly raising the need to buy a pen. Once you have these in place then next step would be to promote your pen and finally sell it. As soon as I got this summary in my mind, I started thinking to link same in software development world and following are my thoughts for same.

questions-1328466_640For the first point, that is about asking questions and raising the need for pen, as far as the raising need part is concerned, that is something client will take care as he/she wants to launch his product, that we are developing, in the market and increase awareness and need for same so everyone will use it and eventually buy it if it’s paid software. For the questioning part, I have been with developers that falls on both side of the equation that is one who asks bunch of questions to clarify things before starting implementation and one who directly jumps on coding without asking anything and raise doubts as they come which sometimes lead to a system which completely different from what customer envisioned.

Chiefly, new developers are falling in the later technique and one the reason that I believe could be the new Agile way of development. Because in Agile way, our development should be open to changes at any point in time, even late. One of the major drawbacks for such technique is new requirements that emerge as a result of some clarification and affecting scope or delivery of the product.

digital-1320699_640Continuing on the sell the pen thoughts, next step that I interpreted is to promote and sell. Again this mainly falls under client’s coat, but still there are some areas where developers and mostly designers can help. For instance, designing a brochure for a product that captures everyone eyes when distributed or doing SEO of web application to make sure it ends up in a higher position in search results. There is also a thing called supporting a software and I have seen freelancers and some companies as well who goes beyond expectations in this area and delight their customer by contributing to their success. After all, if the client is successful then that adds up to your success as well.

To conclude, I believe that in a completely different dimension if a software developer is being asked “sell me this pen” question than there are high chances that he/she will nail it. Let me know your thoughts or your interpretations and linking of “sell me this pen” question to IT industry.

%d bloggers like this: