Yujin and I worked together for four years at Conde Nast and then for another four years at The New York Times. We have been friends and colleagues for twelve years. I witnessed Yujin grow from an engineering lead to CTO of WorkMarket. Yujin is an excellent engineering leader, a meticulous manager, and a caring collaborator.
I am honored that Yujin mentioned me in his article (and I feel lucky that my name happened to appear first, even though his other mentors are more accomplished than I am.)
These days, artificial intelligence is gaining a lot of attention in mainstream media. This is a topic that I’ve been passionate about for many years, and a number of fellow technologists have asked me where they can learn about AI.
I have posted a shared Google Document for people with a background in technology and software engineering wanting to learn about AI. Topics include artificial intelligence, machine learning, deep learning, artificial neural networks, reinforcement learning and other concepts. I plan to keep this document updated as I come across interesting AI related articles, new developments, and sources of information.
The document is for technologists who are interested in learning about the basics of AI and related technologies. You need some background in technology and software engineering to delve into AI. However, some of the information I’ve linked to is of general interest.
There are many good ways to organize your technology department. This article presents some of them. It is written for a CTO or VP Technology leading a medium size department looking for suggestions on organizing or reorganizing your Digital (Web, Mobile) technology department. It is best suited for you if your organization has the following characteristics:
You manage software engineering, implementation and technology operations for 3 or more digital brands.
Yours is a medium size technology department with somewhere between 20 to 100 technology staff.
Internal corporate IT functions such as desktop support, telecommunications services and internal business systems are beyond the scope of this article.
The Venn diagram below presents one model of organizing your department into 3 sub-departments.
Some CTOs in smaller companies organize their technology departments as 2 sub-departments: Software Engineering and Technology Operations. Software engineering is the function that is responsible for developing and implementing Web & Mobile application software. Technology Operations is responsible for running, maintaining and supporting the Web applications.
If you operate 1 or 2 digital brands (Web sites), having these 2 sub-departments is a good approach. For 3 or more Web sites, organizing Software Engineering into Site Engineering and Platform Engineering has some benefits.
Site Engineering is focused on working on the Web sites’ direct projects. Its work includes
Small and large projects for adding or changing functionality on the Web sites
Bug fixes on the Web site applications
Platform Engineering is typically smaller than the other two organizations and typically includes functions like:
These three departments have purposeful overlap of responsibilities as illustrated in the Venn diagram above. That helps minimize the chances of the departments becoming silos with walls between them. For success, it is important that your entire department functions as one integrated unit. Some shared goals & responsibilities are required for mutual success.
DevOps2 is a set of processes, methods and systems for communication, collaboration and integration between departments for Development (Applications/Software Engineering) and Technology Operations. Its purpose is to facilitate meeting business goals by producing good quality software products and services in a timely fashion. It is where development methodologies (such as agile software development) occur in an organization with separate departments for Development, Technology Operations and Quality Assurance. Development and deployment activities that need deep cross-departmental integration with Technology Support or QA require intimate multi-departmental collaboration.3
To make this work, you need 3 directors who head up these departments who work well together, collaborate often and are not sensitive about their turf. They should know that a successful technology manager is not an individual-only contributor, but a great team player with peers. They should have strong goodwill among each other and welcome each other to work directly with their teams. Such a collaborative team is essential.
Article Updated: September 25, 2010
QA can also be set up as an independent department. [↩]