What does a software developer do? Five things every developer does daily
Wednesday, March 20, 2019
The old joke:
Q: What does a software developer do?
A: Develops software, duh!
But is it really that straightforward? Just sit yourself down with a computer and write code all day and then finish up with a clean system by 5pm and go home?
A software developer is involved in the processes related to the creation and design of new systems and the position encompasses many hard and soft skills on a day-to-day basis – much more than the general tagline of ‘developing software’ or ‘writing code’.
A team of software developers will normally work together and cover a variety of aspects within a certain project, including a delivery lead who oversees the progress of the same project.
So, what does a software developer actually do on a daily basis then?
Many graduates and newcomers to software jobs arrive on their first day imagining that they will sit down for eight straight hours writing code, but the reality is that there are other strategic and coordinative tasks which can take preference over (and interrupt) that code writing process.
Remember when we said that software development was more than just writing code? We weren’t lying, but of course a significant part of the everyday life of a software developer is taken up by the writing of code for projects.
Depending on the type of company you work for or the type of client that you have, the amount of time that you spend writing code can vary. There are many different technologies leveraged and developers will always have the possibility to try something new and move internally.
Most developers will say that the higher percentage of time spent writing code the better, after all this is what we are trained to do. Some may prefer all the extras that come with the job, but chances are if you spend time studying to be and working as a software developer, writing code is your thing.
Many developers in Liberty IT are working in greenfield projects where they are driving how code should be written and making their own decisions on coding standards and best practices. Teams are empowered to work in a way that suits their needs and capabilities.
This is the bigger picture stuff. Before you start into whacking through all that amazing code which leads to a great software system, there needs to be a lot of thought put in, to ensure efficiency throughout the development process. Taking a broader view and deciding what new or existing technologies are out there to leverage can both enhance developers’ knowledge and help with the creation of the application.
Strategic thinking may be left to senior developers within a team, but input is welcomed from all ends and any developer who wants to be involved in the meetings will always be welcomed.
There’s a good chance as a programmer at least a certain amount of your daily work will include brainstorming or mapping out a plan for how the architecture of your system will function, from its origin to the final user interface.
Having the whole team involved in that process ensures that everyone is working towards the same objectives. This also provides junior developers with essential experience of how to approach implementing complex features. Design and collaboration is made easy at Liberty IT with writable walls and cutting edge technology.
The writing of the code may be the fun part, but testing whether it works or not is a different ball game.
Things don’t always work first time. A lot of the process is testing out what works and what doesn’t and more often than not how that code that looked amazing in your head doesn’t translate so well in practice. The best software developers will be sure to test their own code before committing, ensure new tests are implemented and that existing ones are still passing.
Many teams also embrace a TDD (test-driven development) approach. In brief, developers will write tests before they start to implement a feature. This enables them to have a thorough understanding of the problem at hand as well as increase test coverage.
Many have stepped into their first jobs in the computing industry thankful that their studies have come to an end. They quickly found out that that learning process is a never-ending one.
In a sector where keeping ahead in a competitive market is of upmost importance, learning about the latest tools and programmes is critical for not getting left behind.
Particularly for new and graduate software developers, learning from more senior members of the team in the first weeks and months on the job will take up a significant part of your time.
Liberty IT are passionate about ensuring their developers are given the adequate time and resources to further their learning well after leaving college. From online access to video lessons on plural sight to both on-site and off-site training, every engineer has a wealth of choices to try and learn new skills. Many developers will travel the globe to attend conferences where they are both learning and networking with other people in the industry.
The stereotypical view of software developers is one of an isolated figure with headphones in, writing code with constant keyboard clicking for hours on end in a dark room.
It may not be a typical skill commonly associated with that of software developers, but communicating and engaging with clients, customers, managers and executives is still a key part of a developer’s role in today’s Agile world. Effective and professional communications help to create the best possible products.
Most teams will have ceremonies during the day where everyone is expected to share what they are working on, help others with their blocking issues and plan for future work.
Developers who remain locked in cubicles are going to find themselves greatly limiting their potential for growth both within a company and in their overall career progression.
Those who are able to effectively translate and communicate development ideas to those within and outside a company will find themselves looking at more responsibility at some point.
Interested in working in a fast-paced IT environment in Belfast or Dublin? Check out our current vacancies here to see what Liberty IT has for you.