The Successful Software Manager
上QQ阅读APP看书,第一时间看更新

6. Developer

The humble Developer is central to the software development process, as you well know.

Churning out clever code to meet the requirements and specifications is the bread-and-butter work of the humble Developer. This is what most people think Developers do, day in, day out. While it's not wrong, modern practices have evolved to be much more than that.

Especially in smaller organizations and more specialized software houses, the role of the Developer is increasingly merged with Business Analysts and TAs, adding to the scope and power of the Developer.

Often, the Developer has a larger say in the requirements and design process, which is a welcomed change to the days when "programmers" were asked to hide in the basement for long periods to write programs that are expected to fulfil all of the requirements, seemingly by magic.

Another way the role of the Developer has increased is the amalgamation of the frontend and backend with respect to web development. This is commonly referred to as full stack development.

One of the most common technology stacks for web development is the LAMP stack. This stands for Linux, Apache, MySQL, and PHP/Perl/Python. Most recently, the MEAN stack (MongoDB, ExpressJS, AngularJS, and NodeJS) has been gaining in popularity. Both stacks are open source and free to use, but you probably knew that already!

If you are a team or delivery manager, it's your responsibility to ensure developers have what they need to deliver. This includes supporting them on technical and social challenges. As with a lot of management responsibilities, they will overlap with those of other management roles, which is why it's important to approach it in a coordinated manner, by speaking to other managers regularly.

Figure 3.12: LAMP stack versus MEAN stack