Celebrating National Coding Week 2023: Insights From Our Software Developers
Tier 2 celebrates Software Development as part of National Coding Week 2023.
National Coding Week, held on 18-22 September 2023, is a week-long UK-and-beyond initiative set up in 2014, aiming to help adults and children learn and share their digital skills with an emphasis on coding – hence the name.
In honour of this day, we’re offering a glimpse into the experiences of some of our Software Developers; the members of our team who engage most with code, an increasingly important skill for all ages to understand, particularly in this tech-driven world. Shedding light on the inner workings of code, how they got into it, what tools they use and what skills they would recommend for someone looking to start their career in coding.
What Is Code? Understanding the Foundation
In short, code can be described as a collection of instructions composed in programming languages that serve as a guiding force for computers, enabling them to execute various tasks. This code forms the core foundation of the software, applications, and digital services we rely on daily. Skilled developers write code, design algorithms, and create functions that instruct the code to run. This code brings user interfaces to life, handles data, makes decisions, and connects with databases. Once tested and bug-free, code is then deployed to make applications accessible to users. In essence, code translates human ideas into digital experiences.
Code and Software Developers
Software developers design, program, build, deploy and maintain software using many different skills and tools. While coding typically doesn’t fill all of a software developer’s working day, it does fill a majority of it.
With the usual mix of the day comprised of building code, squashing bugs and fixing problems in other people’s code (or their own), developers also spend plenty of time writing entirely new code for a bunch of different projects.
Tier 2 Software Developers
We share some insights from three team members at Tier 2; Hayden, Adam, and Paul. While Hayden and Adam both joined Tier 2 as graduate software developers, Paul is our resident Head of Verticals and Insurtech, having headed up the Software Development team at Tier 2 for over 10 years.
What does a typical day look like for you?
Hayden: I am responsible for writing code to address requirements for a given project. This would usually come in the form of a JIRA* ticket for me to complete a provided subtask.
*JIRA is a project management software tool that allows software developers to plan, track and work faster.
Adam: As a Support Developer, I mainly deal with issues that clients raise – which makes it quite a scavenger hunt with a nice reward once you find/fix the issue. Half of the other time is spent developing with the other Software Developers.
Paul: In my role I look after the developers, work with our delivery / test team for the projects, actively liaise with clients to gather requirements, plan strategies for upcoming work / change requests, as well as getting my hands dirty helping with the development as / when needed.
What are the key tasks you engage in?
Hayden: For most of the time, I’m writing some sort of code or managing an active deployment* of code.
Adam: Deployment of services across all different environments (from development to production), programming, troubleshooting issues raised by clients or the team and reviewing other people’s code to make sure we keep a high standard.
Paul: My tasks are very varied and could be anything from client meetings, requirement gathering, project planning, architectural designs, UX & UI designs, infrastructure and guiding the development team, to working with our internal test team or alongside a client IT team.
* Software deployment is the process of making software available to be used on a system by users and other programs.
How does code come to life?
Hayden: For a Java application, we would generally:
1. Write tests… (this is expected to fail at first)
2. Write the code… the tests should now be passing
3. Submit this for approval by other team members
4. Once approved, go ahead with building the code
5. If all is well, testers are then able to run their tests to ensure it aligns with the client’s requirements
6. This will then be passed on to the client in a separate environment for their own testing
7. If all goes well and is approved, it is then deployed to a ‘production’ environment where it is exposed to the real world
Adam: Sometimes it’s a very slow process to see results, other times it’s very fast. The heavier the task, the more complex it is. I think the best thing about seeing an application in action is that you can always think of something else to do to improve it which is why we say at Tier 2 that “Business is Software” and we “Never stop developing.”
Paul: There are many steps before the writing of code; we scope and design/document the changes before planning the effort to implement a new requirement, along with sprint planning sessions to assign tasks to the team.
A developer works on a sprint ticket, which could be for frontend or backend, or both, where they write the code, test locally, with unit tests, etc. and finally commit code and push ‘to review’ once their task is complete. We review the code, requesting changes, if necessary, before the code is accepted and then deployed for further testing. Once all the tickets are completed, approved, and tested, the new requirement is ready for acceptance by the client.
What resources or tools do you rely on to find solutions to coding challenges?
Paul: Most of the tech we use has good documentation and/or a good community of users, so generally that is the first place to look for help for a coding problem. There are various other resources such as Stack Overflow*, etc. where you can find questions / answers. Also, collaboration is key, as previous projects or your team members will also be a wealth of knowledge to tap into!
Hayden: Stack Overflow* (and other online forums), documentation and support from colleagues.
Adam: Stack Overflow and team members.
* Stack Overflow is a question-and-answer website for programmers, and an online community for developers to learn, and share their programming knowledge.
How do you stay updated with the rapidly evolving tech landscape and programming languages?
Hayden: I follow a YouTube channel called “Fireship” that provides quick and entertaining (subjective!) explanations of new things that are happening in the tech space.
Adam: There are courses I do online to learn about some frameworks and languages. I also do a few personal projects dealing with the latest versions of languages/frameworks to try out the new features.
Paul: The tech world moves quickly, so it is important to read the latest blog posts, tech sites, and news articles to see what is new and / or upcoming.
What was the first programme you remember making/completing?
Hayden: Aside from the usual “Hello, World!” that every programming tutorial in existence would start with, my first somewhat formal project was a ‘Film Studies Revision Tool’ that I had tried to create during my A Levels as a Computing assignment.
Adam: It was an API for Python called “Turtle”. I made it draw a triangle, a square, and a circle. I remember that I found it so cool that I coded something to happen, I also was staying late in the lesson to keep playing with it – it went well into lunchtime!
Paul: I think everyone’s first programme is the printing of “Hello World”, in some form!? Other than that, and it was a long time ago, I think it was writing the classic tennis game, where you have a bouncing square (ball) and a slider at each end of the screen that you moved with the up / down cursor keys, written on a ZX Spectrum.
What skills would you recommend you need to get into coding?
Hayden: I would recommend you have:
– Patience with yourself; there’s a lot to learn and it will take time to learn it
– Humility to ask for help when you need it; not everybody can learn everything alone
– An eye for abstraction; to separate elements of a problem domain that won’t be involved in your solution
Adam: Problem-solving plays a large role in this. But I would say that you need resilience (sometimes you don’t see the final product till the very end) and a willingness to want to keep improving your code at every iteration.
Paul: The key skills are being analytical and good at problem solving with creative thinking, being inquisitive and motivated and having perseverance with the ability to quickly pick up new ideas/approaches. Not to forget, having good communication skills – if you can’t communicate, you can’t collaborate, and we all know – collaboration is key! :O)
How did you get into coding? What was the path you took?
Paul: I first got into coding when I was very young, around 6 or 7, when we had an after-school computing group.
Hayden: I first got into writing code when I started the Computer Science degree at the University of Hertfordshire.
Adam: A lot of my friends did computer science in GCSE and were telling me a lot about it, which convinced me enough to try a taster session. By then I was hooked!
To find out more about the path from University Graduate to Software Developers, read our previous blog The path from University Graduate to Software Developer.
Navigating the Path into Coding
National Coding Week serves as a reminder of the immense value that coding brings to our digital world. Through the experiences of our software developers, we’ve shared just a glimpse into this dynamic field. Coding isn’t just a language; it’s a gateway to innovation, problem-solving, and endless possibilities. Software development is just one of the many exciting roles available in the world of coding and technology.
To learn more about the wide array of coding-related careers and to stay updated on the latest initiatives in the UK, visit the official website dedicated to National Coding Week. If you’re eager to embark on your coding journey or are seeking new opportunities in the tech industry, don’t forget to check out our careers page below. We’re always on the lookout for talented individuals who share our passion for code and innovation. Join us in shaping the future of technology!
About Tier 2
Tier 2 Consulting works in partnership with our customers to understand their business challenges, and deliver custom software solutions using modern, open-source, cloud-native technology and an agile project approach. You can read more about our business, our clients, and our history here.