Views and announcements

Five things a software engineer does

  • What does a software engineer do?

    We all know that software engineers build software, but is it really just as simple as sitting down with a computer to write code all day and then finish up with a clean system by 5pm and go home?

    A software engineer 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 engineers 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 engineer actually do on a daily basis then?

    Adam McGivern, a software engineer at Liberty IT, tells us five things you are likely to get up to on an average day:

    Writing Code

    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.

    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.

    Design

    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.

    Testing

    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 the 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 engineers will be sure to test their own code before committing, ensuring 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.

    Learning

    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.  Software engineers need a continuous learning mindset.

    Particularly for new and graduate software engineers, 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 is passionate about ensuring that their software engineers are given adequate time and resources to further their learning well after leaving college. From online access to video lessons on Pluralsight to both on-site and off-site training, every engineer has a wealth of choices to try and learn new skills. Many will travel the globe to attend conferences where they are both learning and networking with other people in the industry.

    Communicating

    The stereotypical view of software developers is one of an isolated figure with headphones in, writing code for hours on end in a dark room; but communicating and engaging with clients, customers, managers and executives is s 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.

    ---

    We hope you have enjoyed Adam’s insight into life as a software engineer at Liberty IT.  If you are interested in working in a fast-paced, Agile environment in Belfast or Dublin, check out our current vacancies to see what Liberty IT has for you.

Share this story