Keep an open mind at all times no matter what you are working on. The more open your mind is the more ideas you have. When discussing strategies and ideas with team members be open to their ideas, even at times they may not sound great. Sometimes you don’t listen to someone’s ideas because of that person’s profile or history but every idea matters. Even bad ideas can sometimes inspire something great.
At work, the more ideas you have the more projects you will be part of. Sometimes the more ideas you have the more respect you have from your peers. Treat every situation as its own so you can always have a fresh understanding of how to handle it. At times we might run into the same problem over and over again and we have the same solution each time but it should not have to be that way. We can be creative and find other ways to handle that same issue so that we have a better idea of which solution works better.
Sometimes you have ideas but they are just ideas. You don’t know if they are going to work or not. When this happens to you, you need to try them out to see what works and what does not.
Be open-minded to not only your team members but also everyone else in the company. People who use your software are the ones who can give you great ideas on how to improve it so listen to them.
Most often then not you have a lot of tasks to do and you have to manage them in order and determine when to work on each task. So knowing how to manage your time is critical to your individual success and the success of your team.
Managing your time means you should be able to prioritize your tasks. It is very tempting to work on exciting tasks first and ignore the more important but less interesting ones.
For your tasks, you need time to plan, research if solutions are not in place, and then actually implement your solutions. All these things take time. Managing your time efficiently allows you to focus on what’s most important and get tasks done more efficiently.
We all have seen instances where developers get carried away in their rabbit hole of tech, only to discover too near to the deadline that the important bits of the project have been forgotten.
Techniques like the Pomodoro technique, where you work for a set period of time on one task, take a break, then go back to it, or Kanban, where you visualize your tasks, are great ways to build a routine or learn how to focus your attention if you’re prone to multitasking.
While sometimes the need arises for multitasking, and you may feel like you get a lot of things done but studies have shown that it’s bad for productivity.
Not giving something your full attention means that tasks take longer to complete and you’re more likely to make errors.
If you often multitask, prioritize your to-do list then use one of the techniques mentioned above to help you focus. You’ll be surprised how much faster you get things done when they have your full attention!
Time management also means keeping procrastination in check. As a software developer, you can practically get away with reading memes and watching cat videos for days on end. Procrastination causes panic near deadlines. Panic causes distress and bad quality of work.
Another aspect of time management is punctuality. Because meetings in tech are seldom life and death meetings, some developers make it a habit of coming in late to meetings. Coming in late to meetings on a regular basis has the following negative consequences:
Time management also means knowing when NOT to work. It is OK to stay back late once in a while to meet important deadlines. But pulling all-nighters on a regular basis will have detrimental effects on our health and social life.
We have to know when to log off and head home for the day. When we are not at work, for example on weekends or on vacations, we have to have the discipline of staying away from work. This means no email reading or coding that “one more line”.
In our bubble, it is too easy to feel peer pressured into burning the midnight oil or feeling guilty that we are not checking emails on vacation. We have to remind ourselves that taking time off actually improves our productivity, not reduce it.
Creativity is problem-solving with relevance and novelty(or new ways or methods). It is about finding a way to solve a problem that is relevant and innovative. Creativity is a skill that can be learned. It does come with a lot of practice if you want to be very good at it. You probably never thought of creativity as being something that we can get better at. But you can.
If you want to “future-proof” your career, there’s no better approach than focusing on thinking more creatively. Stop settling for solutions that worked previously and push yourself to think of newer, better ideas.
Let’s break that definition down into its two parts:
Educating yourself is one way that can help you become more creative. The more you know about a specific problem or domain the more you will be able to be creative about how to handle it. If you know less you will have a hard time trying to solve the problem let alone solve the problem in a creative way. The more ways of creativity you explore, the easier it is to find different ways to approach the same problem.
Brainstorming: We all know about this one. It’s when a group of people tosses out ideas on a topic without regard to how practical they may be. The goal is to come up with an innovative solution. While many of the ideas generated may not be feasible, just by allowing people to speak freely, the end result is often an idea that can be made into a workable solution.
“What if” questions: For example, if you ask “What if we do XYZ instead of doing ABC?”, or “What if we eliminate step 5?”, it might lead to an improvement in productivity or growth. “What if” questions can be the source of big ideas.
Role-playing: Role-playing can give you a different perspective which can lead to new ideas. Here’s a simple example if you’re in software development: a role-playing session where you pretend to be the client or customer can give you a much better understanding of what your customers are thinking when they are using your application. This can help you anticipate issues your customers may have with your application and develop a plan to overcome them.
Provocation: This is a process where you intentionally reject a feature or a capability of your application to help stimulate creative thought. For instance, you might take out one of you microservices to see how the rest will behave. While you have no intention of shutting down that microservice, the concept can stimulate creative thinking so that you and your team come up with ideas that really do improve productivity and processes.
Be observant. People who think creatively notice details by using all of their senses. What others might see as circumstances beyond their control, they see as possibilities. Whenever you can, watch those around you and be curious about their lives. You’ll come up with some of your most creative ideas by observing others.
Keep an open mind. Don’t be quick to judge. When you encounter new ideas, listen to them and think through them. Even if you’re not sold on a given idea, put it aside for a while and circle back later. When you think about it again, it’ll feel more familiar or not as scary. That familiarity will begin opening your mind.
Daydream. Take time every day to let your mind wander. Research shows that, what daydreaming stimulates, can bring connections and new thoughts into your brain and provide insights that you may not have considered.
Take risks. Your ideas might fail. But the idea of failure isn’t negative because with every failure comes a new insight. Set your imagination free to come up with a new idea and then put it out there for everyone to see. The worst thing that can happen is your idea gets shot down. The best thing that can happen is that you’ll find a great new solution no one else has ever thought of.
Accountability is about taking ownership of the mistakes you make. It can be very hard for you to admit that a change or decision you made created an issue or caused an application to crash. Errors happen all the time but the faster you admit to your own fault the faster you can fix it. In the long-run, both you and your team will be better off.
Hiding your mistake will come back to bite you. In some cases, it might get you fired. It also won’t help your colleagues understand what went wrong and avoid making the same mistake. Besides, you will be the one to benefit from your mistake the most. Leaving the mistake in the cave won’t help you learn anything.
When you know that an issue is yours, raise your hand or let your colleagues know as soon as possible because in most cases your issue will cause other issues. For example, you have an issue on the back-end that is connected to a UI component. By you not saying anything the UI component will not work and more issues will arise. Make sure to give your team a thorough explanation of what went wrong and what you will do to fix it. This is very important because they need to be able to trust that the mistake you made won’t happen again. Also, take the time to teach your colleagues how to avoid similar mistakes which will save you time and resources.
When you know you are not responsible, please be mindful of what you say. It can cause conflict which will delay solving the problem. Make sure to focus on the problem instead of who made the problem. No one wants to be blasted in front of everyone.
It’s inevitable that in the world of software development that you are not going to face problems. Whether it be a software bug, a new technology you are not familiar with or resolving conflict within your development team, you will be put in positions to resolve issues.
How you handle problems has a great impact on where you want to work and how high you want to climb in the corporate world. Problem-solving is a key skill that employers look for in prospective employees, so the more examples you have of problem-solving, the better you will be as an employee.
When approaching a new problem, DON’T take it personal, even if you were the one who created the problem. Stay calm and try to find out what the issue is. Once you know what exactly the problem is, find out what caused it. Finding a solution is almost easier once you know the cause.
It’s very important that you understand that you don’t have to fix the problem alone. Even if you are the cause of it. Working with your team members can help you solve the problem faster than you doing it alone.
At times you will run to problems that are out of your league to solve. When this happens there is no harm in admitting that you don’t know everything. Please don’t feel like you are some angel sent from Heaven to answer all people’s prayers. When you feel that you can’t solve a problem you will need to find someone else. Don’t pretend that you are solving the problem because you will end up wasting your time and the time of those you are trying to help. Part of problem-solving is knowing when to pass it on and where to pass it to.