9 Things Being A Developer Taught Me In Life
1. Bugs exist not just in code, but in our life as well 🐛
A bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Like most developers, I am in a love-hate relationship with bug-fixing. Why do I dislike it? Well, imagine spending countless hours of squeezing brain juices identifying and debugging bug(s) that causes the app to stop running as intended, or worse, memory leakage or security vulnerabilities. I’d rather be spending the time developing exciting new features and feeling much more productive than looking at the screen like Sherlock Holmes holding a magnifying glass searching for clues. I know it sounds contradictory, but I love resolving bugs too. I think they are great learning opportunities. Bugs help me further understand the system better, and they indicate how I can brush up my coding, testing and debugging techniques. Similarly, we often face many problems and challenges in life. We surely can choose to ignore and run away from all of them but that is not the definitive solution. Our problems will continue to follow us until we face them with guts and courage. Bugs are part of our life cycle, and they are here to make us stronger.
2. Embrace life long learning 📖
Being a developer also means I can never stop learning. With new programming languages and frameworks getting released and updated almost every month, it is essential to keep learning to keep up with the current technology trends and adoption. The easiest method for me to keep up to date is to read. Medium is really a magical place full of talented people. Browsing articles on this free and open publishing platform have been a joyful daily routine for me. Getting my hands dirty creating and developing apps is also another way for me to learn in great depth. Learning is easy, having the initiative to learn is hard. Learning is such an important part of living, so try to learn something new every day. It can be few French words from Duolingo every evening or learning how to bake a cake over the weekend. Remember, even the smallest steps move you forward.
3. The power of ‘why’ ❇️
“The important thing is not to stop questioning. Curiosity has its own reason for existing.” — Albert Einstein
By asking ‘why’, Isaac Newton discovered the law of gravity when an apple dropped on his head. By asking ‘why’, I learned and comprehended the logic behind functional programming better. By asking ‘why’, I became more cognizant of what I don’t know and developed an inquiring mind. By asking ‘why’, I began to wonder are there any better solutions, and I began to think about the what-ifs. Asking ‘why’ questions forces us to think analytically and find the reason behind statements. Moreover, it can also help spark the innovative ideas that hide deep within your mind. I think curiosity is an amazing phenomenon. It is no secret that curiosity plays a big role in enhancing learning because when you are curious about certain topics, you passionately seek the answer to your questions and when you do that, you get better at learning that information. So don’t be afraid to ask the ‘why’ questions as it’s the best way to gain deeper insights and develop more innovative solutions.
4. Be positive ➕
Optimism and perseverance are the key traits of a good developer. Negativity often hinders us from completing a project when problems or difficulties arise. I have seen one developer removing an entire nice-to-have feature that he’s been working on for days just because it causes some fatal errors to the application. It really saddens me that people can easily give things up. Adopting a positive attitude is important in every aspect of life. With such attitude, there are really no roadblocks that you can’t handle as positivity creates belief and determination. Developing a positive attitude isn’t hard. It’s all about making everything in your life positive. That means mixing with positive people, think positively and surrounding yourself with positive things. You have to get rid of negativity.
5. Ask for help 🙋
When I first started working as a junior web developer in a startup, I was too shy to ask for help when I got stuck because I was afraid that this would make me seem weak. Refusing to ask for help had almost caused me to miss the project milestone. I learned the hard way that it is always better to seek help before things get out of control. I am thankful that my co-workers were very supportive and kind and were willing to offer as much help and guidance when needed. Remember, asking for help reveals strength and not weakness. It shows that you are willing to learn. We all have struggles and we are not able or ever meant to face them alone. You are always surrounded by people who would love to lend you an ear, a hand, a hug, or a little advice. All you have to do is ask.
6. Communication is key 🙊
As a developer, communicating with the machines is easy. Just by writing few lines of code, I am able to tell the computer to run automated scripts or send an email out. Communicating with the human, on the other hand, requires strong interpersonal skills. It is easy to acquire programming knowledge but to have the ability to connect and relate to people, it requires plenty of training and is not something that can be learned easily from the Internet. Being able to clearly understand the problems, demonstrate the ideas, seeking help and constructive feedback from team members, these are crucial in getting the job well done. Effective communication is important to increase productivity in the workplace, reducing barriers between language and cultural differences and also boosting overall happiness and self-esteem.
7. Time management is crucial ⌚️
Time management is probably one of the most sought-after skills in the 21st century. As a developer, I generally have many deadlines to meet. Meeting up with clients, drafting project proposals, designing prototypes, refactoring feature A and much more. That simply means I have to prioritize and schedule my tasks well, focus on one task at a time, and making sure I am not procrastinating from time to time. Multitasking is a big no-no as we are most productive when we are focused and concentrated on one task. With good time management, I can optimize my work more efficiently and do more things in a shorter time.
8. Always put yourself in other people’s shoes 👞
Disagreements happen all the time. It may inevitably arise when people have different life experiences and beliefs, information gap, incompatible interests, and misunderstanding. Arguments are immature as verbal abuse is never an effective way to resolve a conflict. Instead, try to see things from other’s perspective. The only way to put yourself in other’s shoes is to unlace yours. So stop defending your beliefs and try to understand why they are standing firm and keen on their idea. This will show that you actually care about their opinion and will make resolving the conflict much more likely.
9. Be humble 😃
“What if my code sucks? Did I unit test the right way? I think it needs to be refactored.”
Admit it, we have all had those little insecurities when creating a pull request. We pray hoping that the pull request can be merged into the base branch without any major fixes or refactoring. Let’s face it, we fear criticism. Criticism hurts. It puts a sting in our pride and ego and it can be hard to receive feedback with an open heart because our instincts put up defenses naturally, regardless of whether the feedback is honest or justified. Despite that, we need to exercise humility to get better. There is no such thing as the perfect code. Only through iterative improvements and constantly receiving and evaluating constructive criticism we are able to improve ourselves further. So take a deep breath, swallow your pride, don’t let ego consumes you and be humble.
If you enjoyed what you read, please clap 👏 it, share it or post your comment below. Follow me on Medium, LinkedIn, & Twitter.
❤️ ❤️ ❤️