Introduction about myself and a brief summary of what I concluded from good developer mindset resource.
A fresh graduate civil engineer from University of Jordan who previously worked as a content creator and a teacher assistant at Abwaab an online learning platform, aside with studying html, css, and javascript through online courses. Currently I'm studying software development at Luminus Technical University Collage and I fully believe that I will be able to take the path I have passion in, reach out and work as a software developer by learning Python, Java Script and Full Stack. The systematic learning process that LTUC provides will assist me to learn different coding languages effectively, by practicing and working on my own projects. Of course being guided by experts and specialists will make a big difference.
- Work under pressure.
- Work within a team effectively.
- Improve my problem solving skills.
Every developer should evolve a mindset that contains the essential regulations to prevent small bugs that can't be recognized at time from destroying the code.
- Avoid complexity in writing the code.
- Avoid a software with no benefit, that adds nothing to people.
- Avoid a software with a complex design which makes it hard for others to modify, create new features ...etc.
- Avoid using systems and tools without understanding the purpose of it.
- Avoid writing code that is hard to understand by others because this will not tell that you are a smart developer
Complexity has nothing to do with intelligence, simplicity does.
- Avoid unnecessary changes in your software it will result in more complex code and sometimes you will have to Rewrite your code from scratch. To Avoid rewritting the code from scratch:
- Understand your software purpose and definition.
- Simplicity.
- Check your software purpose before any change and evaluate if its necessary or not and your response for any change request should be a decline as the first option.
- Avoid being too generic.
- Avoid reinventing the wheel.
- Avoid repetitive tasks.
- Avoid relying on external technologies.
- Code maintenance for future considerations.
- Consistency is important for a more understandable code.
- Take into consideration the three factors in the following equation
D = V/E. - The steps for solving any problem:
- Understand the problem.
- Plan how you can solve the problem.
- Divide the problem into smaller sub-problems which makes it simple to not underestimate things out
- Focus on how your code is helpful more than how perfect it is
-
Code should be designed based on what you know now, not on what you think will happen in the future.
- Writting more lines of code doesn't mean that its more effective
- Always test your code
- Add comments to the code to explain why you did that thing not what the purpose of the code.
- Its essential to have a documentation to your software to clarify the components and module.
- A developer should always be looking forward to learn new technologies, coding languages, methods, keep on trying to solve complex problems, researching and reading articles, try solving things by your own even if you fail more than once, at the end you can ask for an advice from senior developers to review your code.
