It has been a few years now since I moved into the role of Software Engineering Management. While there may be various reasons for one to move to this role, it is a change that comes with very little training and no guide book. In this blog I will go over a few areas that I felt are areas to keep an eye on when in this role (a lot of it is relevant to non-manager lead roles too).
It is hard not to be affected by the constant chatter on Microservices Architecture and Container technology. Both are leading the discussions nowadays and they combine to provide new ways to Architect distributed systems and provide agility in delivering business value. While they do bring in big benefits when implemented successfully, the path to success for most enterprises (other than startups/product/tech firms) is going to be difficult and having a level of measured caution would be good.
To discuss Serverless Architecture we need to understand how we got here. From using physical machines we moved to virtual machines (somewhere in between a few brave folks also used linux/solaris containers). The current trend is container technologies such as Docker or CoreOS RKT which allow even more efficient use of resources. Regardless of which you use, we are often required to plan our application infrastructure needs upfront and permanently keep the “servers” running.
Its amazing how much work there is when wiring up a new J2EE application from ground up. Deciding on the frameworks to use is one challenge and then wiring them up so they all work seamlessly together is another. JBoss Seam has indeed tried to address this very issue and I wish them all the luck. Continue reading →