 
                                                
                                            Working with significant independence and under general direction, the senior software engineer participates in the design, programming, testing, documentation, and implementation of complex computer applications and systems. Evaluates software packages, provides recommendations to management and business clients, and identifies best technology solutions. Identifies future needs for key technologies and techniques and develops plans for adoption.