Welcome back! As we roll on to episode two of my blogging series we delve into the often-quoted technical titles of ‘Software Engineering’ or ‘Software Development’. These functions/roles in essence cover the foundation on which most technology companies are built on, the level of which varies between firms. Are you an engineer, programmer or developer? Are you all three!? I’m going to attempt to demystify this in the next few paragraphs for you!
But what does it mean?
Well, the actual engineers or developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks.
Software engineering / software development is an art form; it’s the magical art of creating a program which can perform a required task following a set of processes. Software development includes numerous steps such as thinking of an idea, designing a rough idea, implementation of the blueprint, testing, bug fixing and many more:
How does this apply?
The above is a more technical explanation of the theory behind it, but whilst writing this it got me thinking, how does this translate into the real world within a growing IT consultancy like Kainos? To get a zoomed-in view I asked one of our more junior engineers as well as a seasoned Solution Architect to help me out, this is what they said:
“Software Engineering is at the heart of the company. It underpins the concepts of how we apply our technical skills and knowledge to design, develop and deliver our innovative software solutions. At Kainos, we don’t just deliver software to our customers, we take them on a journey so that they get the best experience possible.”
Chris – Trainee Software Engineer
‘Software engineering is about problem solving: about talking to people and understanding what their needs are, understanding what is possible and what might be possible, and figuring out how we can build or integrate things to meet that need. Whether it’s creating something completely new, combining things that haven’t worked together before, or finding ways to change how existing processes work, it’s about using technology to solve a problem in a way that works for people, has the quality to operate and achieve the customer’s aims, and has a positive impact on the users that need it.
It’s a collaborative process as much about people as it is about technology. We work with people who need the system to understand what their needs truly are, we work together to build, test and run things, and we work with businesses to improve how they can design, implement, operate and change based on those systems. We learn from the process of building things and we learn from how users interact with what we’ve built and we use that new knowledge to iterate and to build better systems.’
Will – Solution Architect
So, it would seem that every developer or engineer has a key role to play in the project lifecycle, albeit this will vary depending on the needs of the client or end user. Could it be that the very niche developers are the rock stars or footballers of our time, given that there is a growing demand for their services? Maybe not quite, but there is no doubting their importance and the importance of effective engineering and development in the success of a project or company.
The next instalment moves towards storage, and ‘the cloud’ to be precise, this will take a look into the future of data and storage to infinity and beyond!
Find out more about our current roles in engineering here.