Code Over the YearsDevelopments and mindset
The first and most important element developers use is a programming language, there has been significant changes in this area over the past few years.
.Net is and has been my main tool of choice over the past few years, working mainly with larger corporate clients. However like .Net, it is also important to take a delve into web development at the same time.
Web development certainly deserves some attention in this article, it carries one of the most noticeable changes in software development with the explosion of internet usage. With the internet morphing from a document based, fairly static system to a fully functional application platform.
Web apps, components and worker services are the height of fashion these days, however some years ago users were still struggling with the dreaded Internet Explorer 6 (more commonly IE6) and were starting to get to grips using AJAX. AngularJS was the new kid on the block and was going head to head with the likes of BackboneJS, both these tools were categorically horrible use but still trumped plain JS.
JS and Web Community went a bit crazy during these times, React and Ract Native, AngularJS were all born and matured, the likes of Dart came and went…..then like a phoenix returned.
Developers invented and adopted the likes of WebPack, Redux and the like, however the ecosystem is so extreme and complicated that if a developer fails to update dependencies for a period of time the project simply implodes, not ideal for general software maintenance but it certainly promotes innovation.
The need of technical know how to develop web-based applications has also exploded like a large code bomb, developers need to know most of the above just to build a simple bit of software. Back in the day you could muscle through knowing a bit of JQuery and DOM.
.Net has a special place in my heart and has been the backbone of most of my corporate development over the past number of years. .Net, once the ring fenced development platform of Microsoft has now moved with the times and become Open Source. Only a few years ago people would not have even given it a thought.
With .Net being my language of choice I could not mention tooling without touching on Visual Studio, once the single platform giant. Modern times have paved the way for multi-platform Open Sourced variants such as Visual Studio Code.
No developer can work without their IDE to point out the varying syntax and sausage finger wrong key presses. Over the past few years two definite trends become apparent.
- IntelliJ (and its platform) is a leader
- power editors are now in the game
Many developers used to be such fans of the likes of NetBeans and Eclipse however have not lasted the test of time and are now pretty much reside in the rubbish heap. IntelliJ and Co pretty much took over everything and with a IDE for nearly every language, it is often the preferred choice of IDE now.
It certainly does not seem like ten years ago when you could go for a dedicated server or a shared-hosting enviornment. Amazon Web Services was far from the norm and Google offered a very limited App Engine solution. Couple the latter with security anxiety and you had a slow take-up of what we now know was cloud storage and server offerings.
These days anyone with a bit of knowledge and the likes of an AWS account and fire up a server in a matter of minutes, go of the days where actual people would physically rack mount servers with weeks lead times.
As a software developer, managed databases have been a daily feature. With the development of cloud based offerings, firing up the likes of MSSQL, MySQL, MongoDB etc can now be accomplished without the need for managing backups, scaling and even setup.
Obviously cloud based managed databases are convenient and quick, some people still do deploy database servers manually but it really is not necessary.