Getting code done for a feature from developer's machine to production in less time is a quality of efficient
tech/engineering teams. Automated deployment with tools like capistrano or fabric makes deployment an easy task than a dreaded operation where you miss one step and then screw up on production. This post will highlight things to consider when you deploy a new major feature that involves some big code and database changes.

Automated Testing an application is kind of a puzzle given the choice of methodologies (TDD, BDD...), frameworks etc there is no clear direction on how to test an application. Same applies for any PHP application, where you have many frameworks, methods and styles to choose from. In this blog post I will shed some light on how to get started with "Unit" testing in a Laravel application. Laravel has gained lots of popularity in the past years may be due to its simplicity, ease of use, clear documentation and availability of packages/libraries.

Open source software (oss) are very popular in the software world, be it the server serving your web pages or the language/framework your website/webapp or even mobile app is written on, it is highly likely that its based on an open source software. As programmers this sprint of giving back to the community and helping others in form of Free and open source software is amazing. There are many open source PHP projects as well from frameworks to small libraries. It is a difficult yet rewarding experience to lead/support an open source project. If you are thinking of starting an open source project or open sourcing some part(s) of your existing system, this post has a checklist to assist you with it.

As software engineers, we always face a problem on how to break this task down to independent release ready parts before writing code. It is also a shared responsibility of the project manager to jot down optimally small and independent tasks/tickets still it is not what we get especially if the product is new and has not been released to production. In my experience having this language, and framework agnostic skill will help you become a senior and better software engineer.

Sometimes the task description is a one-liner that you can interpret to anything of your liking. So, this post will help you solve this issue, where, given a task how do you plan to split it into independent release ready parts. Regardless of the language and framework, software design, and architecture play an important role in the life of your software, a strong base is needed to build a software system that will last longer.

It has already been a month that the devastating earthquake hit Nepal. I hope life is coming back to normal now and people in Nepal are optimistic, positive and hopeful. I hope everyone will do what they are best doing with sincerity as its one of the best ways you can help in rebuilding Nepal.

Below is final the Part 4 of the Software Engineering Practices in Nepal Infographics. In this edition the information reveals Project Management Methodology and Software, testing frameworks and mobile apps all extracted out from the survey data.

More posts can be found in the archive.

Stay Connected

Follow me on LinkedIn for new posts, engineering insights, and tech takes — straight from the trenches.

Follow on LinkedIn  →