Most software engineers would qualify for L1. One of the other requirements of L1 is that you need to spend a year in the company office outside of the US. During that year, you will learn some of the internal processes and technology used inside the company, which then will count as specialized knowledge.
I know several software engineers who qualified for L1B (rather than L1A) after one year of working for foreign subsidiaries of US companies.
One person was able to transfer to the US after 6 months due to L1 blanket status of the US company. This just requires presenting a form to a consulate and does not require an individual petition to be filed with USCIS first.