https://www.youtube.com/watch?v=tsUyjzRIU9w - play it, thank me later.
104 karma · joined October 2, 2012
https://www.youtube.com/watch?v=tsUyjzRIU9w - play it, thank me later.
1. First, get the database design right, simplify it as much as possible, and consider that you are going to migrate data from the old design to the new design too. Chances are that some of the old structure might not be needed anymore. Work with your client to determine which tables or fields you can already remove. Also, for data that is not expected to be frequently searched or retrieved through complex queries, considering organizing those in JSON format.
2. Do not code right away. Do a very thorough plan of all the controllers and models you need, and review functions that will be reusable, especially in the models; do the same thing for helpers. You mentioned that it was built by a founder without formal training. There’s a good chance a big part of the code does not follow SOLID principles. Your ultimate goal in this planning is to reduce duplicate functions and make it easy to write test cases for your code, both in the BE and FE.
3. For complex or big features, regardless of your team’s experience, I would encourage you to still use flowcharts. Finalize the logic first before coding. You may find logics that can be simplified or is critical to your database design if you do this.
4. Implement TDD, then configure your CI pipeline to automatically trigger test cases and block merging if a single test case fails. This will instill discipline in your team and reduce the number of bugs.
I don't know if it's an option for you to switch to another language. If it's an option, use TypeScript. Strict typing helps early detection of errors caused by incorrect types or accessing missing properties.
Hello,
Your account was suspended due to multiple or repeat violations of the Twitter Rules: https://twitter.com/rules.
This account will not be restored.
This case will now be closed and replies will not be monitored.
Thanks,
I started this company along with 12 other co-workers. We are in our 30s, I am turning 34 this year. In the last three months, we have focused on training people. We have a team of 45 people now from overseas.
The main reason for building this company is for me to have more control on my own time, that's the idea at first, but somehow my passion for software engineering has been rekindled. There is something about training people, I enjoy working with our developers and seeing them grow.
I find it hard to switch to another industry or field of work at this age. Having your own family, with the kids and other responsibilities, makes it hard to reinvent yourself. You are not as free as before when you are still single and have complete control over your time.
Culture plays an important role in keeping the people, it's not always about the money.
Yet, most of the time, it seems to be a combination of both but it does not stop right there. Being knowledgeable and having the right attitude for sure helps, but there are other factors such as luck, timing, location, having the right team or people around you, and a lot of uncertainties.
There is no silver bullet for this question. Becoming a successful entrepreneur is more of a process which will vary for every people.
Our team finds it hard when there is too much flexibility in the schedule when working remotely. If you are more of an individual contributor, flexible schedule works, but the setup of our team is not like that due to the nature of our projects.
To solve this, our company set working hours that we would follow. However, not all comply with this since some of my co-workers are still going out for long errands.
There is also a lag due to technical issues and the overall setup of remote work where you don't know what's going on with your co-workers. Questions that would typically take a minute to answer if you are working onsite take minutes or sometimes hours to be resolved.
Whenever I start my day, I try to finish some of the complex tasks right away, thinking the rest of my todos are easier. Then I would find myself spending time on other things distracting myself from being overwhelmed, and ended up achieving nothing or incomplete work
Second, is we want to have full control over the data and build features custom to our needs.
Third, we don't have to pay per user per month.
Thanks for sharing, especially iTerm2 and MacVim.