For turkish version;
Her Geliştiricinin Sahip Olması Gereken 5 Temel Felsefe5 Core Philosophies That Every Developer Should Have
I myself think that software is a philosophy of life before it is a job, and I take great pleasure in approaching most of the problems in my life as a software developer and solving them that way. In this article, I will talk about the cornerstones of this philosophy.
Table of Contents⌗
- Be a responsible person
- Don’t ruin anything in your code
- Don’t be a perfectionist
- Your asset is your knowledge
- Develop your community!
Be a responsible person⌗
As a programmer, if there is an error in the JavaScript code you write, you cannot say that the reason for this error is C++ compiler. This may sound a nonsense, but consider adapting this situation to yourself!
Before you take a job, plan the requirements of that job well because that doesn’t happen when you’ve come a long way in the project and when you go to a client or your boss they ask you a valid question, “why didn’t you think of this before” If there’s a mistake and you’re going to explain it, be prepared for any questions It would be good because it can help you get out of such situations. But the answer you give should definitely not be something “that is impossible to do!”. You should try to offer different solution alternatives suitable for that problem.
Don’t ruin anything in your code⌗
Think of software like a building, if a window in an apartment is broken and not repaired, if another window is broken and no one cares, this will continue and eventually graffiti will appear on the walls and the building will start to go completely disorganized. Later; never live with a broken glass. This example of broken glass for software can be bad design, and a poor code that can lead to future bugs.
Actually this situation is quite scientific, if you think about entropy in physics, disorder always wants to increase. It is up to you to not allow this. If there is a bug in the software, focus on fixing it before adding a new feature and keep going.Don’t say you can’t do it, say you did.
Don’t be a perfectionist⌗
If you have a great idea, after a year or two of working on it and publishing it, it can be incredibly disappointing to learn from the feedback that it’s a really worthless idea. Before making flawless progress on any project, it makes much more sense to have an MVP with the core features of that project and release it, evaluate the feedback, and if all is well, keep moving forward.
In short, perfectionism usually doesn’t work for software. It’s a better idea to be sure of the product first and then perfect it. As a result, the world is changing every day and new technologies and products are emerging every minute!
Your asset is your knowledge⌗
Your knowledge and experience is your most important asset. But these assets may be out of date, especially in the world of technology, everything is changing very quickly. The valuable assets you owned 1 year ago may now be worthless. That’s why you should focus on staying up to date.
Managing a portfolio of knowledge and experience is like managing financial assets and has certain requirements;
Serious investors invest regularly as a habit: if you invest regularly, whether you make a little or a lot, you will get a huge profit in total in return.
Diversification is the key to long-term success: The more technology you are comfortable with, the better you can adapt to change.
Smart investors balance their portfolios between low risk, low return and high risk, high return investments: Investing your entire asset (time and effort) in a high return asset that you think will be valuable in the future. Instead, branch your entity into secure branches and don’t put your entire entity in the same box.
Investors try to buy low and sell high for maximum returns: investing in assets that you think will appreciate in the future can yield big returns.
Portfolios should be reviewed and rebalanced periodically: We do business in a highly volatile industry, so you should regularly review your investments and watch out for depreciating assets.
But the most important and indispensable of all these goals is to invest regularly. If you don’t invest, it doesn’t make any sense where you invest. Here are a few tools you can use as a tool to achieve these goals.
Learn at least one new language every year. Different languages solve the same problems in different ways. Learning a few different approaches can help broaden your thinking and avoid getting stuck in a routine.
Read a technical book every quarter. Once you get used to it, read a book a month. Once you’ve mastered the technologies you’re currently using, branch out and work on some unrelated branches.
Read in non-technical books either. Computers are for humans, and if you can understand humans better, you can approach their solutions much better.
Join local user groups. Don’t just go and listen, participate actively. Isolation can be fatal to your career.
It doesn’t matter if you’ve used any of the technologies you’ll learn about in a project or even put it on your resume. Learning these will increase your learning ability and contribute to your problem solving ability.
When you encounter a problem and you don’t know the answer to it, choose it as a goal and try to learn it. Ask a guru, if he isn’t around, find one online. This will both answer the problem and expand its network. Keep learning constantly. Carry and evaluate something to read in dead moments like traveling on the bus.
Just as the product that a bookstore is marketing to you is not the best product it has, but a product it is only trying to sell, don’t rely on the content that comes first in search engines, think about its accuracy. and weigh it in your mind and never accept it without question.
Develop your community!⌗
A good idea is an orphan when you don’t have effective communication. As developers, we use our communication skills when communicating with end users or creating documentation, communicating with our bosses or superiors. Here are a few ways to strengthen your communication skills;
Your job as a programmer is not to play word games, but to convey the information you want accurately and clearly. Plan what you want to say. Write a draft. Then ask yourself, “Does this encompass everything I’m trying to say?” Repeat until you meet this requirement. Make this plan not just when writing a document, but before meetings and speeches, even before meeting with clients you care about.
If you can convey information, you can ensure correct communication. Therefore, you need to determine the level of knowledge that the other person can meet.
There are various ways of communication. Some customers may want to be informed by e-mail, while others may want to be called by phone.
If you want to be listened to by people, the first thing you will do is listen to them. If you can turn a meeting into a dialogue, there’s no better than you.
Don’t make people wait by saying I will get back to you, I will answer as soon as possible.
Conclusion⌗
Thank you for reading! 🎉 In order not to miss my research in the field of software development, you can follow me at @berkslv.