44 karma · joined May 6, 2016
SO is a very helpful website and companies are not even aware enough how much it helps them and how much money it saves globally.
Here are some tips that helped me a lot:
- Keep your solution and tech-stack as simple as possible
- Mark those parts that can change often and try to make them configurable (when you have it configurable you don't need to change code and re-deploy every single adjustment)
- Make sure you have a good and readable logging
- Use DI
- Separate your application core application logic from the infrastructure part (DAL, Network Communication, Log Provider, File readers/parsers and similar)
- Keep your functions/methods clean and without side effects
- Method has to return something (try to minimize the usage of "void" methods)
- Split each feature or functionality you are working on into small pieces and compose the final thing with them
- Be disciplined about your naming conventions and code style
For every single thing that you are able to build, you pick a language or tool that suits you the best and just keep improving. Each language has it's pros and cons but, IMO, what matters the most is the code quality, architecture and the things I mentioned above. Better focus on those skills.
If you write nice structured, good organized PHP code (e.q), that is stable in production and which is easy to maintain then you are far better engineer than someone who is showing off with his Rust or Haskell unstructured, not consistent and in the end unstable code. Don't let the trendsetters put pressure on you.
In the end, if you are are really bored with C#, try to learn some F#. It's also .NET but it's a different type of language and if nothing happens, in the end, you will write better C# :) Personally I think that SQL is also a good investment. Most of the people avoid it, I don't know why, but there are and there will be always jobs for a good SQL developer, especially in big companies where the salaries are also higher.
Good luck :)
They first have to love each other, to have common goals and then maybe something will happen. Right now most of the EU countries are there because of the cheap loans, donations, cheap work force and free exchange of resources. Once that flow is stopped, EU will be the past. EU is simply not operating as a one unit, it's not balanced union, that's why I think there has to be some mindset change in order to move the EU forward and to bring big projects to reality.
Code review is not a task or ticket, it should be more natural in all teams. Like it's normal to take a shower or brush your teeth, it's also normal to do code reviews and keep the code clean and good. But recently most of the teams are just skipping everything to make managers and owners happy. And they are always happy with beta, preview or even prototype - so sad.
Unit tests are something else. Good, clean and testable code starts from good and clean requirements that are easily understandable. From there you are able to write clear unit tests and imagine the whole story. If your manager or someone who is defining what needs to be done doesn't have the clear vision or plan then you have a good chance that your code will be bad - then unit tests are implicitly bad.
Your saying at the end of the comment described everything.
Also, work and learn at home. That's your time and you can learn and do whatever you want.
Keep in mind that there is no job where everything is perfect, so collect all negative things you have at the current position and try to change them. If that's not working then leave :)
What managers love is the example and real POC. So if you think that something is wrong or old, create a POC, make a demo. That way you can get some time and resources to do something new and interesting. Don't think someone will give you such project just like that :)
But what can help you is to have a good sleep and to do some activities after work (sport, music, drinking)... Whatever makes you happy..