How to survive and innovate as a developer!
Tags: webdev, innovation, aws
Published: 2020-01-22 07:44:15

If you look at the developer community then you can identify two types of developers: 

**1. Ecosystem developers**
These are the developers that are working in companies, startups or enterprises, which build ecosystem tools and frameworks that will be used by other developers to make their life more easier so that they can deliver faster to their customers. This developer will deliver more the business-to-business type of products. 

**2. Customer value developers**
I don't like this description, but I can't come up with a better one, so let me know if you have. But you get the idea! This developer actually builds functionalities that will bring value to end users. These end users can of course also be the developers, but the value is not for their professional activities. This developer will deliver more the business-to-consumer type of products. 


###Technology
In the early days of development there where not so many technologies to choose from and nowadays we are ended up in a situation where you don't know which technologies to choose from. More than one technology with its own characteristics can now full-fill the goals that you have as a developer or company. For example, do you use Java, Python, GoLang or any other framework to build your application for your target group?

And as soon as you finished your application how are you going to integrate and deploy it. Here again you can use different tools. Are you going to use Jenkins, Azure DevOps pipelines, CircleCI or anything else out there? And where to deploy your application, are we deploying onPrem or in the cloud and which cloud provider are we going to select. Too many questions! 


###Luxury
Living in this time as a developer is great. You have the luxury to choose any technology that fits the goals that you want to achieve, the budget that you have, or the user friendliness you are looking for or the speed that you want to put it in the market.

###My early days
I started my technical career with building websites. You just had (to mention a few) PHP, Ruby, Wordpress and Drupal. There were not so many website developers in the beginning and everyone wanted to be online or at least have a website with some information. 

At a certain moment in time every kid on the corner was building websites, because frameworks, servers and knowledge where accessible to everyone at a very low cost. You have Udemy, YouTube and blogs to gain that knowledge. The only investment that you need to apply is time and actually develop stuff. 

##Capabilities
I am in the industry for more than 10 years. If you look at the technical capabilities that we have built, it always comes to this:

* Get and Store data
* Transfer data
* Transform and combine data
* Apply intelligence on data (ML and AI)
* Visualize data (Plain, Reports, AR, VR)

If you look to web and app development it comes to these user capabilities:

* Authentication and authorization
* See data in a certain form
* GPS 
* Payments
* Communication (like chat, push notifications)
* Photos and videos

###AWS Amplify
As you might know I am a real fan of AWS Amplify because of its accessibility and easiness to adopt and implement all these capabilities in your web or app application at a low cost. 

###How to be unique?
So...it all comes down to a few capabilities which you can easily implement in your applications with tools like Amplify. The things that I have described above are applicable to both type of developers. The main question now is what's next? How to make a difference as a developer with your solution?

#The answer lies in understanding your customers, full-fill a need and make sure everyone knows about it.  
Innovation and growth hacking are the terms that you need to speak out nowadays if you want to be popular and the fact is that is right. Without, you can build many applications but if it is not full-filling a need or you don't know how to bring it to your customers, then you have a serious problem. 

## 4 Lenses
I have been reading many books about innovation and technology and I believe it all comes down to a few lenses how you can look at it. You start with one lens as a starting point.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/o6dqvnz80bzet5d1khg6.png)

**Trends**
Things are happing in the world. So, you have the ones that we already know for long time and others are just happening and in the end can becoming long term shifts but there is also a change those will go away soon. Trends can be divided into two buckets:

- Long term shifts: Climate changes, people becoming elder, ...
- Actual triggers: Trump is fighting wars, a disease pops up, ...

You should be aware of the trends by reading news, articles, blogs and always ask the question: "what is happening here?"


**Problem / Need**
In my eyes did Abraham Maslow a great job. He did a research to the hierarchy of the needs that human beings have. 

> Read about it on Wikipedia https://en.wikipedia.org/wiki/Abraham_Maslow

These needs are still applicable. Take a need and brainstorm if you can come up with an idea which is not there yet or something which is there but you can do better or cheaper. 

In daily life we face frustrations and inefficiencies like long waiting rows in a shop, much idle time when requesting a mortgage, traffic jams, everyone is watching his or her phone and not being social. If you can come up with an idea to improve that and you have a large target group which feels the same, then go for it. 

**Technology**
Technology is changing fast and it will do the coming years. If you look at the Gartner Hype Cycle you can see which technologies are becoming more popular and these technologies expose new opportunities. In 2001 we couldn't imaging that we will only make pictures with our phone, that we do payments in a second and that we can control the light bulbs with your voice. 

If you look at the **technology lens** you can see what problems you can solve with it, which was not possible before. Or if there are certain trends where you with technology can make a difference then you make the world a better place and can make some money with it. 

A nice starting point is looking at the United Nations Sustainable Development Goals:

> https://www.un.org/sustainabledevelopment/sustainable-development-goals/

**Target group**
Innovation on a trend, problem, need or technology is only valid if there is a target group for. There are many target groups that you can identify. 

You can take this lens as a starting point. Define a group that is a niche or is a large group with a lot of potential. Start then looking at the other lenses. Is there a trend going on in the group, can a certain technology bring benefits to this group or do they have a particular need or problem where you can help with.

# The innovation process
I hate processes, because the slow down organizations but on the other hand they also provide a structure where you can move in.  If I talk about innovation process I mean steps or guidance which you can use or not if you think that is wise :)

With the lenses I wanted to give you some kickstart how you can look at the first step of the innovation process and that is **Idea Thinking** and I don't dive into the other steps, but there is a lot of content online which dives deeper into this. I see this blog as my first MVP, if there are much people who read it, maybe later I can deep dive into the other steps. 

**Innovation steps**
1. Idea Thinking: the lenses)
2. Idea creation: what will be the solution that you are going to build for and for which trend, problem, need and with which technology for which target group?
3. Idea validation: go out or online and talk with your target group about your idea to validate if they will use it or pay for it.
4. Idea building: build you first MVP and validate again if you are in the right direction
5. Idea marketing: aka growth hacking. Now it's time to reach out to the complete target group and make sure they start using your solution and scale out. (Actually this already start earlier)
6. Idea learning and improving: When you put a solution in the market, your biggest concern is to keep it there. You continuously need to learn how people are using it and improve it. 

#Conclusion
If you are an ecosystem developer or customer value developer, be aware that everybody has access to the same technology, frameworks, knowledge as you have and no high investments are needed to put something in the market. It is up to you how you want to become unique and make a difference. I believe that any developer has to look broader than only at code! Which lens do you take as a starting point?