Risman Adnan is the director of the Samsung R&D Institute Indonesia. He spoke to InfoQ about his approach to nurturing innovation, agility and creating a culture of craftsmanship.
In it's quest for innovation, Samsung set up an R&D center (SRIN) in Jakarta, Indonesia. In 2014, Adnan moved from Microsoft to Samsung to become director of software R&D. Adnan is a well-known figure in the Indonesian IT industry and one of the driving forces towards innovation and agility. He is a keynote speaker at the first agile Indonesia conference coming up in July.
InfoQ: For those who don’t know you, can you please give us a little background about yourself?
Risman Adnan: I have spent more than 17 years in the Indonesian IT industry and worked in various roles, from software engineer, developer lead, technical evangelism, technical sales, marketing and now in an R&D organization. My journey started from a theoretical physics background and unintentionally I got exposed to the software industry. I consider myself a self-learner with more than casual curiosity on business, math, physics and computing.
InfoQ: When was SRIN established, and what was the main reason for opening a center in Jakarta?
Adnan: Samsung R&D Indonesia (SRIN) was founded in 2012 as an R&D center focused on commercializing services. As part of Samsung’s R&D family, SRIN is one out of 20+ Samsung R&D centers around the world who each strive to support Samsung’s cutting edge technologies through unique and specialized core competences. Since its inception, SRIN has been involved in commercializing app services for the latest Samsung Galaxy devices in regional and global markets. Moving forward, SRIN strives to become R&D center of excellence in Indonesia, focused on commercializing the latest global R&D achievements in mobile app, middleware software, data management and analytic technologies. More about SRIN can be found here.
InfoQ: How did the center develop and grow over the past years?
Adnan: SRIN is all about its people, who create an R&D culture, build competencies and drive contributions (product and IP outcomes) together. It is quite different with other software development organizations as it requires higher creativity, analytic and problem solving skills to be able to innovate. People are the main asset of SRIN; we hire the best talents, build and grow their competencies and contribute to the company. In terms of culture, SRIN is a learning organization at its core. It is in our DNA. We engage our engineers to continuously learn and improve fundamental knowledge on top of software engineering techniques, such as algorithm, operating system, programming language and artificial intelligence (AI). We believe those fundamentals are critically important for advanced technology explorations and SRIN has to build in-house learning capability. As a result, SRIN has developed new competencies in specific areas, such as middleware software, data analytics and AI/deep learning. For IP contribution, SRIN has filed some inventions at the US patent office since the last three years. It is truly fascinating for me to be part of the SRIN journey and experiencing “learn-it-all” progress in the last three years!
infoQ: You set up the SRIN Academy; tell us a bit more about that?
Adnan: Not only in Indonesia- talent shortage happens everywhere in the software industry! Specialized and skilled talents are a rare and expensive commodity. For instance, backend software engineer, framework maker and data scientist. Instead of buying, which does not exist in Indonesia market, we made a conscious decision to build and grow our talents. An interesting fact was, even though Indonesian engineers are not ready from colleges, they are diligent and hungry to learn. Another fact we found, was that learning the fundamentals can not be outsourced or delegated to third parties, it should be part of the culture. Knowing that fact, we developed in-house courses to prepare SRIN engineers and key partners. In each course, we focus to balance between conceptual understanding and required practical skills. Now SRIN Academy has four courses, including Algorithm Data Structure, C++, Java, and Deep Neural Networks. Also since 2016, we have opened SRIN Academy courses for key University partners like BINUS, UI (University of Indonesia) and President University. We strongly believe that our partner ecosystem will play an important role in our long term success.
InfoQ: How would you describe the engineering culture at Samsung?
Adnan: I always describe it as FAST; it is not related to speed (even though we do things faster) but it means Focus, Alignment, Scientific and Talent. Let me elaborate.
Focus. Our work requires groups of people to focus on goals, problems and solutions. The physics of people who do the work are critical. We use common sense to help them focus. First, we have a clear team model and R&R in such a way we can distribute tasks within people skills, capabilities and personal interests. It is not straightforward as some infrastructures needed to be in place such as platform stacks, standard frameworks, and development/test guidelines. SRIN has an SE committee who owns all standards being used in the development lifecycle, also software design engineers (SDE) who develop and maintain code frameworks and automation middleware. During the development phase, SDEs enable software engineers (SWE) to focus on construction based on design and specification defined by Product Owner (PO) and Project Lead (PL). On the testing phase, software quality engineers (SQE) run test cases and provide feedbacks to the development team. It is a very common setup, however, it requires time and maturity to do it well; we learnt it the hard way!
Alignment. Software development is collaborative work in which people interactions and the rhythm of their communications are really important. I named it physics of people. Once a team has clear R&R, next is about alignment, the physics of people that defines how the team flows to make progress. We don’t have secret recipes in SRIN; the whole thing was actually experiments in which we make mistakes (not the same mistakes anyway) and learn. The test of our knowledge is our experiment itself and it is also the sole judge of our engineering “truth”. Our experiments help us to produce our own laws in doing engineering. Our laws fit to the physics of our people. We experiment, imagine, deduce, and guess what next. During experiments, we learn from experts, books, papers, etc. Do you believe that someone else’s process model or practice can help your unique team? We don’t. One thing I noticed is that we are more casual, instead of formal. We have less formal meetings, and encourage more casual discussions where anyone can talk. We can make decision as fast as we fail and make other decisions to make it better. Is “agile” a better word for that?
InfoQ: Sounds agile yes. It also sounds a bit like lean startup, experiment, measure, learn….
Adnan: Scientific. We believe engineering work is the development of effective solutions to practical problems, through the application of scientific knowledge. Both engineering and science involve a mix of design and discovery, creating knowledge through craftsmanship experiments, problem-driven, seeking to understand. Is software engineering different? Our answer is no. We use analytical techniques in the software project life cycle to avoid myths. We can’t control what we can’t measure. In software projects for example, we need to be able to estimate resources, time and risk; but how? Our way is by tracking effort, time, and defect then do some analysis as basis of our estimation. Is that trivial? No. We do experiment, we measure, make hypothesis and run analysis to estimate. It may not be precise because “to engineer is human”. We still work between the quantifiable realm of science and the chaotic realities of being human.
Talent. All companies want to hire and retain the best talents. How to do that in Indonesia? Well, it needs strategy. We always look for people who basically have technical capabilities in some areas, not necessarily programming! Things like experience in specific technologies and what candidates have done before is not really important for us. We hire people who can learn something new and show ability to think creatively. We hire from many backgrounds such as math, physics, electrical engineering and computer science. Initially, we conduct a basic algorithm problem solving test; if passed, we continue with a series of interviews to know more regarding attitude, manner, curiosity and passion. We also have the (bad) habit to test learning capability, like give technical books, asking the candidate to read and tell us what they learned. Once hired, we put them in academy courses to learn the required fundamental topics like algorithm, operating system and programming language. We measure fundamental skill on a monthly basis, especially algorithm problem solving. Furthermore, we treat our people like family and our office as second home. That’s how we retain our talents.
InfoQ: In our earlier talks, you also said that it’s challenging to get people to really come up with innovation (as opposed to copying existing apps). Can you share a bit about that?
Adnan: To innovate creatively is to define precise problems to solve, know many previous concepts, get many ideas then think of a solution comprehensively. The main question will be – what we need to have to be able to think comprehensively? Ideas. How to get ideas? Know many previous concepts related to the problem. Creative thinking happens when the active brain can relate to multi-disciplinary concepts (business, technology, science, user behavior), recognize patterns, build new ideas, propose new models, validate and finally simplify. In fact, many beautiful apps are very simple, but simplicity comes from a complex thinking process with many inputs – inductively or deductively. It requires huge efforts. Can you imagine creative thinking efforts behind Minecraft? Now, copying that app? It sounds easy. It may produce instant results, but may not solve a problem or even worse, address a different problem. We can get inspired by ideas from existing apps, but copying never work. No shortcut for innovation.
InfoQ: What are the important aspects of software craftsmanship that are needed for innovation today, and how do these play out at SRIN?
Adnan: Today, we can wake up in the morning, then take online courses at Stanford or MIT, discuss with experts in Quora, learn open source codes from Github, read lots of papers from Arxiv, etc; all to make our brains active. Any inspired engineer around the world can do that, not only in Silicon Valley. Do you notice its impact to software craftsmanship? Equal opportunity for disruption. What I experienced as common blockers are absence of ambition and confidence to innovate. I skipped competence as with MOOC (massively open online course), we can learn anything and develop it anywhere. In Indonesia, we have resources, tons of STEM graduates per year who are hungry to learn, but without ambition and confidence we can’t do it. I have the luxury to inspire people in SRIN and see good progress every year.
InfoQ: Can you contrast your time at Microsoft with SRIN - what do they have in common and what is different?
Adnan: I spent 10 years in Microsoft and performed many roles. Both Samsung and Microsoft believe people are the greatest asset of the company. Both are investing on local development covering customer, partner and developer ecosystem. I love to see that continue to happen in Indonesia. What I see different are business agility and legacy. Microsoft has a very strong top down planning process, measurable metrics and rhythm of business reviews, which is great for stability. I consider it like taking an MBA for 10 years. Samsung offers a more bottom up approach, listens more to customer voices and space for creative experiments, which produces field agility. Microsoft has a strong legacy on software while Samsung is strong on consumer devices. The software vs hardware legacies translate to different company DNAs. I am honored to experience both and I am happy to see more collaborations between Microsoft and Samsung in the future. Do you know that .NET runs on Tizen OS now? Yes, it is truly exciting for developers to code C# with Visual Studio on Tizen devices!
InfoQ: What do you believe makes Indonesia unique in the global IT space?
Adnan: Indonesia’s IT ecosystem also has legacy. It was started by multinational tech principals who are selling and investing in local partner ecosystem. It was B2B landscape, focused on line of business (LOB) apps development, system integration and deployment because of market demand. On IT resource supply side, Indonesia is one of the biggest countries in Asia, with more than 100k STEM graduates per year. On the consumer side, Indonesia offers a huge opportunity as the 4th most populated country (~260mill population, 60% youth). People are young, social and digital savvy.
Indonesia is unique with high supply of “hungry to learn” people in IT and a huge consumer market. In the last five years, we experience obvious changes from B2B focused to B2C, from project-centric to product and services, from LOB to eCommerce, FinTech and EduTech. The business potential is huge for companies who have learning capabilities and investing on people education. The local market itself is big enough to innovate. Pick one industry in Indonesia then look who are the top players; do you think they already innovate with IT efficiently? They are still very conventional. It sounds like opportunity, right?
infoQ: Yes it does! Since I moved to Indonesia in the middle of last year, I also recognized the IT growth spurt the country is making. It feels like Indonesia is catching up and does it fast. Indonesia seems to be picking up on agile too. I can see that this year, many companies move towards agility. What are some of the things you see as strengths and areas of improvement for agility @Samsung?
Adnan: Yes, I also experience the trend. In Samsung we do not blindly adopt process models in lifecycle of our R&D projects. We consider ourselves as agile team, not because we use SCRUM proposed concepts, but solely based on our organization culture. We adjust it with people readiness and maturity too. We believe “to engineer is human” and that aspect is critically important; in such a way we define our process and strategies to adapt with it, not the other way around. We experience that productivity coming from efficient physics of people and infrastructure that enable them to focus. We design and maintain standard technology stacks and code frameworks to turn our proven practices into reusable engines. We also develop middleware to automate some repetitive development tasks like mobile API creation. All help us to be more efficient and productive. We don’t believe in myths; we do experiments, measure, analyze and improve.
Nothing is perfect and all is just approximation. As R&D we are struggling to keep relevant with rapid progress in science and technology. We do research and development projects at the same time and with the same set of people. We have more ideas to build compared to the experts we have. We have to hire people with higher skillsets compared to what the local market can produce. We can only build instead of buying people capabilities and of course it will take more time. Furthermore, R&D potential depends on capability of local University ecosystem. If you run an R&D center in the US, you can set up partnerships with top labs in Universities. In Indonesia, you have to build from the ground up. All of those aspects impact our agility as a company. However, we believe we are on the right track as we are working with people who are hungry to learn and innovate.
InfoQ: Thanks for the interview!
Risman Adnan will be doing the keynote on Agile Indonesia 2017, which happens on 12 and 13 July in Jakarta.