Advice from the Experts: Three Skills for Software Developers

This Post was written by Darcy Uustal
Date posted: March 20, 2018

Share Button

https://pixabay.com/en/cog-wheels-gear-wheel-machine-2125169/

Today, there are countless skills and specializations for technical professions. Because of this, it’s important to be aware of what you should know. Every profession has those core skills that are must-knows in order to be successful. In fact, it doesn’t matter how long you’ve been in the business. Without a doubt, it’s just as important for seasoned software developers to stay current as it is for those just starting out.

After scouring the Internet for blogs from fellow software developers, I’ve outlined three concepts that all software developers need to know, and know well:

Cloud Computing
Software developers have turned to cloud computing services for a number of reasons. Mainly, because it has changed the way we execute large-scale web applications. To illustrate, there are many positives to the elasticity and scalability of testing environments that cloud computing services provide. Many services offer the option to generate synthetic test data, and more of the environment build is automated. Additionally, you no longer need change requests. An internal system limits you to the hardware you have. By contrast, cloud computing speeds up projects and you pay on demand, meaning, you pay as you go so you’re only purchasing what you’re actually using.

There are multiple facets of cloud computing, all of which any software developer should understand inside and out. For more specific explanations on these types of cloud computing, check out this article from InfoWorld:

  1. SaaS – software as a service
  2. IaaS – infrastructure as a service
  3. PaaS – platform as a service
  4. FaaS – functions as a service
  5. Private cloud
  6. Hybrid cloud
  7. Public APIs – application programming interfaces
  8. iPaaS – integration platform as a service
  9. IDaaS – identity as a service
  10. Collaboration platforms
  11. Vertical clouds

Least Privilege
Next up, security. In regards to security, developers should understand that users only need access to do their job and nothing more. The Simple Programmer outlines this concept, well, simply:

For instance, is your application connecting to a database using an account that has superuser access, such as dbo in SQL Server? This can open you up to exploitation. If your application has a SQL injection vulnerability and it is exploited, the attacker could drop tables and do all sorts of nasty stuff to your application’s database or hop to another application’s tables.

A more secure approach would be to create an ID just for your application (often referred to as a service account) and only grant the permission to that ID absolutely needed by your application to do its work. If your application’s ID has only read-and-write access, then your tables won’t be destroyed (or worse yet, another application’s tables) if the worst happens.

Scripting
A script consists of a series of commands within a file that doesn’t require any compiling in order to execute. Python, Perl, JavaScript, or PHP are some of the languages which support scripts. Scripting is helpful with automating the compiling of code and in testing. Software developer, Ryan Chadwick, concisely explains a Bash script on his website, Ryan’s Tutorials:

A Bash script is a plain text file which contains a series of commands. These commands are a mixture of commands we would normally type ourselves on the command line (such as ls or cp for example) and commands we could type on the command line but generally wouldn’t (you’ll discover these over the next few pages). An important point to remember though is:

Anything you can run normally on the command line can be put into a script and it will do exactly the same thing. Similarly, anything you can put into a script can also be run normally on the command line and it will do exactly the same thing.

What else would you add to our list? Let us know on LinkedIn and Twitter!

Share Button

Related Posts: