First and foremost, this is not an article to brag about how cool it is to be a freelancer. This is just the cold truth about the issues no-one is talking about. What it can be like, what you need to prepare for, if you consider becoming one. The views expressed here are exactly my own, you are free to disagree and post your ideas in your own blog or another public resource. The goal is to help other developers who are struggling in their career. Help them understand they are not alone with those problems. So let us get started, shall we?
How do you recognize a good developer at interview stage? Are they excited by learning new things or are they tired from it? Do they wake up and realize they still have not yet learnt everything they could? Or do they always know enough to just get by? When technology becomes obsolete every 2 years, 20 years of experience helps little. You are great at writing loops? Sorry folks, now we do functional programming.
There are several stages of maintainable code, each suitable for a particular situation. Let us call each stage a maintainability level. The higher the level, the more maintainable code is, and the more time it takes to write in this way. Do you always need the best possible maintainability?
An interesting video from a recent NDC conference (Jan 27-31, 2020), comparing old coding style in C# with new options available to you as a developer.
I have 11 years of software development experience, and last 4 years working for enterprise clients. My largest project was more than 1 million lines of code, actively worked on by a team of 15 developers (close to 200 projects in a solution). It was a mix of web and windows (.NET, C++) and a database (MS SQL). Needless to say, at that time I was working on a high quality codebase in a very efficient team.
September of 2017 is almost gone, and only now I had a chance to look at the most recent issue of the monthly MSDN magazine. What’s the hot topic in September? .NET Core 2.0 / Standard 2.0 is highly praised by most MSDN authors. One of the articles mentions a feature I did not know existed. It’s called Razor pages. In short, it’s the new Web Forms. It allows you to finally transition to Razor even for small websites, which do not require a full blown MVC structure (where files live in 3 different folders, and you are constantly switching between them).
Below SQL code will find an index name that corresponds to the given table name and column name pair, and only include those indices with one column (exclude composite indices). Indices can be changed / added / removed by a DBA without impact to the application (part of DB tuning), so it’s best not to assume their naming in an application deployment script. This can be useful to remove / replace certain indices without relying on index name.
You would expect `Get-Process` to do the job, but it turns out that its CPU metric is not on a 0..100% scale. Here is a one-liner (find who's eating into your CPU - or that of a remote server).
Even using the default jQueryUI’s slider style, the handle is larger than its container. Now suppose your container is 3x smaller than the handle (specific design requirement). There is a problem - you have to hit the container precisely to be able to change the slider’s value. Otherwise nothing happens. Here is what I mean: It would be nice to extend the slider clickable area to pretend it’s actual height matches slider or its handle, if handle is taller.
I decided to write this article simply because there are so many outdated answers to this question linked from Google. Here are some of the things you should NOT do: Install Web Essentials Install Node Package Manager Manually adjust project files to enable Typescript transpiler Automatically adjust project files by installing a nuget package Install something that downloads 1000s of files into a folder inside your project and works with fingers crossed.