I've built hundreds of applications from great companies and clients. And here are the things I can say about them.
I would love to fall into the category of an experienced expert-generalist. Applying my experience from previous successful projects is my secret to landing another successful job. I want a successful project and a satisfied client. One of my guiding principles in both my professional and personal life is to seek value and comprehend the demands of the client.
No matter how everyone plans things, nothing goes as expected, so I developed my own set of rules based on personal experience.
Kim's Rhetorical Device On Software
Dedication combined with excellent practices yields the desired outcome and results in a fantastic output.
Empathy and removing pain. Every software is a gift. I treat a project that way. Everyone must be delighted to use it whenever they do. It must solve there pain and make work and process easy. Some of the projects I did are still around even it was a long time ago, my apps and some codes and solutions were still there, the suggestions I give are still on there dashboards and other services, even if it was 5-10 yrs ago. A very empathic approach makes it future proof and easy to use though the design might change a bit. A users needs easy to use application, they will notice if its hard to use or its slow. Find ways to make the functionality available and easy to find.
Key Moments. Each project has its key moments. Those moments will make you you, it will makes a team of software engineers better as well. The energies on those moments is what gives fruit to the project. It's great having intense moments as well, the pressure, the decisions, that's how great softwares are built.
Other Skills. Software development isn't just programming, its also important to use other skills that might help succeed a project, communication skills, organization skills, management skills, presentation skills, are just few of those other skills that someday might be useful for you, invest on that it helps a lot.
Upgrades. I was in charge of converting a large monolithic project to SPA. I learned that upgrading or converting projects can't use same technique. I was relying with feature-base upgrading or vertical slicing approach. Which we upgrade the applications base on a feature, routes and functionalities. But not all has to be done this way, sometimes we have to apply different approach like (work breakdown structure) of tasks and at the same time removing waste which I learned from lean six sigma that any features in a project that don't add value to the customer.
Pushing your limits and show. If the client gets disappointed and didn't like it. Show it that you can do it in an hour, 2 hours in clents office or at home, just show it, or 2 days doesn't matter. Sometimes when the feedback are still freshed and you know what to do. Do it right away, don't put it on the backlog, else those feedbacks will get multiplied and you will lost the moment.
to be continue...