There are many articles regarding essential knowledge for software developers but with this one, you won’t need any other, here comes the ultimate list!
Read more What every developer should know – Ultimate Edition
There are many articles regarding essential knowledge for software developers but with this one, you won’t need any other, here comes the ultimate list!
Read more What every developer should know – Ultimate Edition
In my previous post Are developers like instrument players? I have posed a concluding question “Are developers paid only to write the code?”
Now I will go into lengthy details, joining discussion present on a couple of blogs.
Recently I have been at a Heroes Orchestra concert in Warshaw, a group that is playing Heroes of Might and Magic music mostly (check out their YouTube).
While waiting for the concert to begin, I was observing the preparations being made on the stage.
And thinking: how does it compare to software development?
In this short article I will not be touching any asynchronous code or concepts. It will also be not about eventual consistency.
There are specific situations when we may have problems with the other type of concurrency, and the biggest problem is discovering the possibility that the system allows for data to be overwritten without end user’s intentions.
The solution is easy.
How can something not be a defect in the system, and still be an unquestionable bug from the business side?
It happens often, missing a key functionality not allowing a business process to be completed but a low priority from a developer’s perspective.
But how often a bugfix becomes a bug itself, while not introducing any issues with the fix?
Imagine one situation that is freely based on some past project…
A simple assumption. An action is performed at a given time, so it can be a unique value used for sorting by date. Right?
Gmail developers thought that way, and it seems they were not entirely correct.
On one of the cold nights of the Autumn 2016…
The system integration tips presented here are to achieve data integrity, performance, quality, cooperation, and finally fewer support issues.
Tips are based on an integration with web service communication and data transfer between at least two parties.
If you prefer bullet-point version of best practices, scroll down this page.
In this technical article, I will present the full picture of web services, basing on WCF technology over HTTP using IIS when going into details. Both beginners and experienced developers may use this article as a checklist of things they already know or want to learn.
By the full picture I mean from a need to have a web service, choosing web service type, correct configuration (e.g. security), deployment environment, to testing tools. I assume you have already created your “Hello web service” application, or just want to have a closer look at the topic.
Have you recently started a job at a new software company or changed a project? Maybe even after two years the legacy app you maintain still makes no sense to you? This article presents tips on how to get into complex projects quickly.
Just a small update – I have added a Resources page which I will update from time to time. That page contains the books and sites I recommend, so I am going give some time new “candidates” before I update my list.
I was thinking about adding tools and add-ons as well but they become outdated after a year or two, so I will most likely focus on main Resource categories and do not update Tools often.
Whenever there is something to be done in a production environment (like a quick UPDATE), or you wonder how you should organize environments – tips below may be useful.
All information about a programming language or a project can’t be stored in one’s head.
By searching, a developer can expand his virtual memory onto anything he can search well.
Quick finding is helpful when developing, and priceless when debugging a critical error from production.
Let’s get started to practices around searching.
Even as developers, we can find ourselves in bad workplaces. Too much or not enough processes, spaghetti unmaintainable codebase, over-engineered solutions, lack of automated testing, poor planning, old technologies, long manual builds, to name a few.
The most popular solution to all these problems is a job change.
We want improved companies, but do we at least try to improve them? Why we do not change current jobs to be a new, better ones?
Having worked on various projects where e-mails were used I came to this exact conclusion. E-mail is unreliable, as a medium.
It is not obvious while coding it happily, but certainly gets painful after doing maintenance over an application for a prolonged period of time.
“I’ve sent an e-mail and now it’s not my problem” attitude, assumption that an external component always works, will bring trouble to the final product.
Let’s look at using e-mail in the app-wide, business-wide perspective.
Security in the web development offers some different challenges comparing to desktop application security.
The most important fact is, in the web development, we do not control the client – the web browser.
Always on-time, more at the same time, quicker, under control, planned, delivered. Productivity topics should be important not only for developers but for their bosses and clients as well. Being productive outside of a programming world won’t hurt either.
Below are general points about productivity explained from a developer’s standpoint.
One of the most embarrassing things for a professional developer happens when a closed issue for a bug is reported again, and it looks that the bug is still alive.
The closer to software development the better. While some posts may be technology-specific (.NET world), most are not going to be. You will be exposed to architecture and productivity topics. Other than these two, software development in general will be the best description of other content.
Architecture – by architecture I mean how everything will work together in general, design and business considerations.
Productivity – by productivity I mean doing certain tasks faster (smarter), having workshop-improving practices, also achieving your goals. Shipping.
Software development in general – interesting stories from past projects, workplace and company organizational topics.