As someone who got sick of old school PHP and server-side rendering, mobile development, AngularJS/Angular/TypeScript madness, backend development, pure database development and what not I can tell you one thing: Everything is in our head and it's all because of the fear of staying behind. Once you start listening to yourself and once you start focusing on solving the problems as simple as possible, you will be happy in doing any kind of work. It's OK to be aware of new technologies, but you should use only those that make you happy and that actually solve the problem in a simple way. Why should I feel guilty if I'm not using some technology? Keep in mind that many technologies, frameworks are just products and the main reason behind the hype is money. Focus on general topics like software architecture, clean code, algorithms, best practices, database design skills and make sure to isolate yourself from hype.
I would suggest you not to choose Blazor. It's not that Blazor is bad or that I have something against, but you don't want to limit yourself when it comes to finding a Blazor developer. You will hardly find a frontend developer who is focusing on Blazor.
Today are React, Angular, Vue or similar frameworks the best way to go, especially for a startup where you need flexibility. Keep using .NET for a backend, provide a nice API and implement frontend using already mentioned frameworks.
I think everything will be better if they implement their guidelines in actual input forms to force users to provide more information and more context - not only in questions but also in answers. It's so easy right now to comment and pollute the thread and that's what they have to tackle as well. Besides that, more moderators and people reviewing what is posted can also help. Comments like "thanks" or "can you provide more context" should be on 1 to 1 basis, more like a messages.
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.
Great idea :) My only question is how the authentication works there...? User has to be logged in on the worker phone's app in order to do something on Instagram. I mean, I don't think anyone shares his Instagram password with an 3rd party software. Or you provide the services which can be done from another(your) Instagram account - which is then signed in on all worker phones?
There are many decisions that you can make to improve the quality of your codebase. There is no a recipe that you can follow because each application is different but there are some general things that can make your life easier.
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
At least in Bosnia, there are no variations of the börek. There is only one börek - with meat. Other "variations" with cheese, potato etc.. they have also a different name. Basically if you order a börek, you will get it with meat.
I was also impressed by Netlify. I tried multiple other solutions to host my website but Netlify was my favorite at the end. Easy to setup, free and fast. I configured my account, access to Github, deployment, custom domain and SSL in 5 minutes.
First of all, I think C# as a language and .NET (Core) as a framework were good and are still good choice. You can build whatever you want with it. I don't see too much advantage when you now pick another language for the same purpose unless you are somehow limited with C#/.NET. If you want to be more valuable on the market you should focus more on what you are able to build. It's more valuable when you say, I'm able to build a web application (classic or SPA), work on the database projects (performance, complex queries), I'm able to setup an architecture for a distributed system, I'm able to build microservice cloud hosted systems etc...
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.
Maybe you should just change the type of the software you build. If you are writing business software I completely understand you. At some point I was also considering to keep programming as a hobby and to start a new career in some other field. However, in the end I realized that I will throw away a good salary and already organized life without even having a clear alternative path. Software development is always a fun if you have a good team that loves software and management that understands the importance of software. So, my suggestion is to find a different industry for which you will write software and to find a company that takes the software development seriously. Whatever path you take, good luck :)
I'm from Bosnia and I can understand almost everything. There are some words where I have to stop and think but in the end, it's completely understandable. This is a great idea!
Because in EU, to reach the consensus or any agreement on anything, between all countries and then to review that 1000 times through million of EU Commissions, takes decades :)
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.
Survey completed! Maybe a bit off topic, but it would be good to create a list of music artists or bands that programmers listen the most. I'm always thinking about how Pink Floyd for example helped me a lot to finish some important tasks and how their music helped me multiple times to bring myself in to the zone :)))
I have tried a lot of times to enforce the code reviews because I have seen lot of bullshit being checked in to the source control but if you don't have support from other team members then even having the code review is waste of time. Code review should come from the gut feeling, you should be always self critical and let your code being evaluated by other people who care about software development in general and not by the people who just want to make their job done and to have something to mention during the stand up meeting.
So depending on what kind of people you are surrounded with, you should decide is it worth to do it or not.
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.
Well if you want to have recruiters attention and to have your resume look "populated" it might be a good idea, but the one who is deciding if you will get a job, or how high your salary will be, usually doesn't care about certifications. Your best weapons are your references and skills.
This is a really interesting topic. I think almost every developer dreams about his own business or product. I personally don't see that sitting minimum 8 hours per day for someone else makes sense, but on the other side at the same time, you are safe, someone else takes care about lot of things for you.
It's hard to project any path which leads to own successful business. So far what I have seen is that only thing that counts here are balls, if you know what I mean :)
One of the ways which is reasonable for me, is to first try to switch to freelancing and there you can test and see are you actually able to take care about lot of things that are usually done by the company, and btw those things are not coding. With your experience and knowledge you should be able to find really good freelancing jobs or you can even try to join some platform for freelancers...
Being a freelancer is almost the same as starting your own business. Later if you see that you can earn lot more money or to hire some geeks, just open a company and take a next step.