Say Good-Bye to broken code, broken logic, code issues, negative feedback, and performance issues in your development career
Do you also have questions like these?
If the answer is yes, or a little bit related then please continue reading.
No, don’t just read, but please have a notebook, need your concentration, stop, think, continue reading, and focus on every point because it’s not just points- It’s the feeling and thoughts of your truly “OM” that can help you overcome the situations.
Context: “A Developer is getting demotivated because of broken code, broken logic, code issues, negative feedback, and performance issues in the development career.”
Let’s break out the context into multiple parts for detailed analysis like: “Unable to apply logic”, “code doesn’t work as expected”, “Demotivated”, “Negative feedback from the manager”, “Should I continue this development career path?”.
1. Unable to apply logic:
A common reason for this is unable to understand the requirement. Discuss & ask questions related to requirements. Think like end-user how you will simplify the business process for a given requirement. You should know what is requirement and what is the expected results of your code. Once clear with requirement then:
I). Break out your requirement in multiple parts:
Multiple sub-modules of a single requirement. It will help you create logic from a small piece. Remember every small piece together make a large foundation. No hurry! Divide your requirement into small pieces of requirements.
II). Don’t start writing code- Think think think:
Visualize the requirement and given input data. How can you achieve this functionality in the real world? You don’t need to think like a coder here. Just about requirements and possibles solutions.
III). Create a Prototype:
You understand the requirement, and you have broken your requirement into multiple sections/sub-modules. Right? Try to achieve the desired output of the sub-modules without a programming language. Write everything in plain text sentences and diagrams on paper.
IV). Review the prototype:
You should have clear visibility now about input & output information, Source of input, expected Logical part (Not code), required actions, and how the output of code will proceed.
V). Silent reasons & causes:
It’s not about me and you only. Look at the existing code, triggers, any automation processes like flow builder, process builder, workflow, etc which can impact your code to behave unexpectedly.
You really need to understand if existing validation rules, required fields, approval processes, data security, etc, can play a role in your written code to behave unexpectedly.
You got it. This is the reason we suggest every developer should know something about out-of-box functionality too.
VI). Don’t write code for everything of your requirement:
Use out-of-box available features, functionality, and tools that can be possible without code. A few parts can be done without code then go ahead.
VII). Convert the above prototype in the program:
You have everything. Start coding now. Remember the small piece of logic from the above steps- you can write those small easily at this point. (If not, no worries, continue to read till point X below.)
Think about the logical part now- You are very much clear here when you need to use what like If else, SOQL, for-loop, data preparation, DML, etc.
With the above prototype, You know already, how and from where inputs are coming and how outputs are processing.
Follow the KISS (Keep It Simple, Stupid) principle while writing your logic.
Check out some discussion on the Developer forum about how other Developers are sharing their logic and how you can create your own logic for the same problems.
VIII). Follow best practices and Standards while writing code.
Don’t only focus on yourself. Your code is for your Team also, it’s for business, it’s for making many life’s simples. right?
Have you followed the common code practices defined by your Team? Are you able to understand what your fellow developers have written in your project for some related modules? If you need details to guide for the same, check out info about the upcoming meetup for this topic link below at the end of this article.
IX). Test & Test:
A good developer should be a good Tester. It’s either a unit test of code or a functional test of functionality. With proper testing by yourself, you are giving an opportunity to your QA to find something more which you have not even thought about. Next time don’t only depend on QA but spent your efforts on proper unit testing, proper testing.
“While writing the above line, I’m missing my very initial Salesforce Career 2014 when I and my some amazing colleague Testers/QA (Nitin, Anupam, Himanshu), colleague Developers (Divaker, Saurabh, Bappi, Gaurav, Vinay), cool TL Saam Abbas, cool & great CEO Anshu Jain- We had always a challenge for find issues related to own code.
And our great bonding and understanding also helped me to be a good Salesforce Developer (yes, I’m :) ) from Java Developer with fewer/zero code issues.”
Be a developer who loves their own code and empowers others to love their code too.
X). Unable to write code?
Time to learn programming skills, understand the syntax, develop logical thinking, understand concepts. No worry if you need to repeat from 0- go repeat now.
If you are on 0, no worries! Remember the day when you learned alphabets first time in childhood. You got it! We all start from 0, and it is the safest place to start and grow.
2. My code doesn’t work as expected
Repeat section 1- Is everything matching. Is everything good?
No worry, you need to adopt it as a habit and you no longer need to think you are spending extra time on these because it will be your habit.
Habit hobby and routine- Yes you really need to create it as your “Habit hobby and routine”.
You can also learn from compile-time or syntax errors because that will be saved in your memory to avoid the same errors in the future.
No, you don’t need to get demotivated due to any of these reasons including poor coding skills. Take it as a learning opportunity. Spent some additional time learning more, practice more.
Any good programmer or professionals you will meet started from 0.
They have some amazing mentors to guide them. They might have some amazing selfless mentors too who spent many hours of nights and days in their free time. Find a good mentor who can help you and motivate you to identify your own potential. Help you become better than yourself.
You don’t need to pay any single rupees for mentorship. You are already lucky to be a part of #TrailblazerCommunity where many selfless contributors are ready to help you grow with their experiences.
4. Negative feedback from the manager:
I think I’m fortunate I never ever crossed a path where my manager gave me negative feedback for my coding skills, maybe my developed functionalities were too good as my thoughts are, maybe my code was as awesome I’m.
(You heard right! Om is awesome and you are awesome too!)
But when I think about my older codes, yes I found improvement from time to time and that is continuous learning, continuous innovation, and experiences. Learn from your manager’s feedback, note the improvement points, and focus on those points.
Give yourself a self-rating, self-feedback with honesty for your broken code, broken logic, and ask few questions from yourself:
Your manager/team lead only giving you negative feedback or really try to help you with required training, mentorship, etc?
Your manager/team lead is only giving you negative feedback and trying to feel demotivated, trying to feel down only, or trying to help?
Your manager is taking full credit for your working code but blaming you for any minor or major broken code?
Now check the answer to the above questions?
Your self-honest feedback is matching with your manager’s feedback?
The answer to all the above questions can help you understand if you are on the wrong ship with the wrong manager or on the good ship with a good one. Talk with your point of contact at your workplace who is higher than your manager.
Sorry to sound judgmental here but yes, unsupportive managers/Team leads also exist. I have many examples due to my amazing and valuable mentees who discuss their queries with me fearless.
5. Should I continue this development career path?
It’s better if you find the answer by yourself. Why did you start your coding career?
If it was your passion, your dream to be a developer, you love writing code, you dream how your code worked or broken, you really enjoy it, and you should continue it.
If you started your developer career due to someone’s suggestion but you never wanted to code. It’s never too late to follow your dream.
Check out the career path on #Trailhead to know which career is suitable for you:
More suggestions? Yes, We are organizing some exciting virtual meetup for you:
Book your free virtual seat: You and the #Salesforce Career Path for you
Get your free ticket for the meetup Adopt Coding Conventions with Best Practices Today
Find out more existing topics by our global Trailblazer Community Groups.
Any questions related to my thoughts and suggestion above? DM me and I’ll try to resolve it. Sometimes expect my detailed replies till the weekend for proper suggestions.
Thanks. Take care of yourself, make sure you have found your happy moments in your every moment. You can say thanks to me via a message after months/years if the above suggestion would be helpful. Cheers!