When an app functions seamlessly, you can thank the team of software engineers who tirelessly built, tested and perfected it. And when you land on a 404, it probably means something in the code has gone awry. Computer programming is a powerful skill, and the development team can often make or break a company. But what do developers actually do in their 9-5?
If you’re seriously considering a career in web development, you need to know which skills developers use most - beyond the code. To put it all in context, we spoke with one of our own software engineers to find out what her typical work day looks like. If you’re curious about a career in programming and want to make sure this is the right path for you, here’s the scoop on which skills you’ll rely on, and what your Monday through Friday will look like as a developer.
What Does A Developer Do?
Developers write the code that powers sites, apps and other software. They control how the site looks, how an app reacts when you swipe or tap, and the way in which user data is collected on the back end. On a high level, developers take company product goals, and turn them into functioning, real-life tech solutions.
Depending on the extent of the product and structure of the engineering department, they may also research customer needs and preferences, build software using the most appropriate coding language for the job, and test how their solution performs on different browsers and devices.
Developers often partner with UX designers, product designers and data analysts to ensure they’re creating a solution that’s enjoyable for customers to use, and efficiently captures user data.
Some developers may start out taking on freelance projects to get some experience and earn work references. For those who thrive on the freedom to create their own schedule and choose their projects (and don’t mind the added pressure of bringing in their own business), working as an independent contractor long-term is also an option. But many opt for the security of a full-time developer job.
Nearly every company relies heavily on their web presence and tech products to attract and keep customers. That means organizations across the world are willing to invest in a strong web development team. Developers earn some of the highest salaries in tech, and can expect cushy benefits to go with the paycheck. And because their work can be done from anywhere with wifi, there are plenty of remote opportunities.
Regardless of which industry you work in, any developer will find themselves spending lots of time in front of a screen. But that doesn’t mean the job is isolating or lacks variety. In large companies, engineering teams work together to come up with solutions and check each other’s work - disproving the image of the solitary coder retreating with their headphones all day. And as you earn responsibility, you’ll find that the career of a software engineer involves plenty of additional skills beyond programming, like managing a team, communication with other departments, and exploring client needs.
If you’re drawn to a secure career path that offers the potential to work anywhere, then you can build yourself an exciting, rewarding career as a developer.
Key Skills of A Software Developer
It goes without saying that a successful developer knows how to code. But there are other, lesser-known skills that developers rely on to do their job well.
Hard skills: Developers typically have logical problem-solving skills. They can think up multiple solutions to a challenge, and choose the best one for that specific situation. They can also predict how different elements will interact and perform for the end user. A potential software developer will also benefit from some data analysis know-how, since most modern sites and apps have to collect user data in specific ways.
Soft skills: An ability to effectively communicate complex concepts is a key part of any developer’s job. Since developers rely on highly specialized knowledge that informs their decisions, it’s sometimes a challenge to communicate their reasoning in plain language to others - but that’s exactly what they have to do on a regular basis. Programmers who work well with a team are also likely to excel, since engineering departments often work closely together, collaborating on projects and delegating work.
A Day in The Life of A Web Developer
If you have the coding part down but have never held a developer position, it could be hard to imagine what your day will actually look like working as part of an engineering team. The programming and bug-fixing is a given. But when you’re part of a larger department, there are other responsibilities - meetings, reporting, and quality testing, for instance - that make up your day.
No resource is quite as effective as someone who’s actually living that web developer life day in and day out. So we spoke with Kara Leary, an engineer at Thinkful, to describe what her developer job really entails on a daily basis.
What does your typical day look like?
My typical day varies a lot. Sometimes I get to spend the entire day writing code and solving problems, but I also function as a tech lead for my team, so sometimes I spend a good portion of my day in meetings figuring out requirements or speccing out solutions with my product manager and stakeholders.
On the days when I’m coding, I will generally pick up a new ticket that has some new feature or bug report outlined on it. I’ll spend some time re-familiarizing myself with whatever part of the code base is required for that ticket. It is so easy to forget code or systems you worked on even just a few days ago, so I’m always re-reading code I’ve written or contributed to to relearn how it works. I’ll put in the time to write whatever new code is needed for the ticket, and then post my changes for one of my peers to review in what’s called a "pull request".
On our team, we require that at least one other team member review and approve your changes before you can send them to production. While I’m waiting for a review, I might pick up a new ticket or do some code reviews of my own. Reviewing other people’s code is a great way to learn new techniques or familiarize yourself with new areas of the business.
Finally, once I’ve gotten my code reviewed, I’ll implement any changes that might have been requested and send it to production, or "merge" the PR. We are responsible for monitoring our changes as they go out, so I’ll always do some manual QA once everything is out the door for peace of mind.
Then, it’s time to repeat the process all over again with a new ticket. Each new ticket presents a new challenge, so I never get bored.
What hard and soft skills do you rely on the most? In what context?
It sounds silly, but I rely on my ability to efficiently Google things. All. The. Time. When I first started out as an engineer, I’d spend tons of time searching the web for what I was looking for. I thought that might change as I gained more experience, but what’s actually changed is my ability to get to the answer I’m looking for very quickly. There are certain articles or sites that I visit multiple times a week (like Lodash and Moment.js). I never need to bother with remembering what they actually say, as long as I can always remember how to get back there quickly.
As far as soft skills, I find that I need a lot of patience on a given day. That might be because I’m having a conversation with a non-technical stakeholder who (very understandably) doesn’t understand an issue I’m describing or a technical solution I’m proposing. Requirements change all the time on projects, and I need to keep my patience when that happens, especially if it means undoing or rewriting work I’ve already done.
Engineers can be very strong-willed people, and we need to keep our patience when debating different technologies or solutions to the same problem. But ultimately I need the most patience with myself. Sometimes I’ll try to figure out how to fix something for hours on end and just can’t seem to get it right. It’s easy in those times to get frustrated with yourself or start feeling impostor syndrome, like you have no business even working as an engineer at all. When that happens, I find it’s best to step away from the keyboard and go for a walk or get some fresh air. More often than not, the solution will come to me out of the blue when I’m thinking about something completely unrelated to software.
Describe a recent project or accomplishment you’re proud of, and why.
I’m really proud of the work that we did recently to support people affected by COVID-19. Thinkful decided that to support people who lost their jobs as a result of the virus, we wanted to offer a month of all of our flex courses for free, with the option to enroll with an ISA at the end.
The problem was, we didn’t actually have the ability to enroll students in this way on our platform. My team got to do the work to get the checkout flow and student platform set up to support these students. Everything with this pandemic has happened so quickly, and so time was in super short supply. We went from first hearing about the project as a possibility to releasing and testing all of the required changes in just one week, which was really amazing. It felt great to get to contribute to something that can actually help people right now.
So what does a developer do? Any web developer will spend a portion of their day writing, editing and testing code. But a skilled developer has the option to pursue a freelance career, work with a robust engineering team at a huge company, or lead the way for a small tech startup. Regardless which path you choose, make sure to bring your communication, logical thinking and collaboration skills with you.
Next Step: Land A Developer Job
If this combination of quick problem-solving and working with a team sounds appealing, it’s time to take your coding skills to the next level and start your career in programming. Developers are in demand, and bring in some of the highest salaries in tech. With the right combination of technical knowledge and soft skills, you’re poised to enjoy a fulfilling, long-term career working in whatever industry you choose.
In our Software Engineering course, you’ll learn multiple languages, as well as the data structures and algorithms that will earn you a job as a full stack developer. With flexible payment options, you don’t have to pay us until you graduate and land a job. Schedule a call to chat with an admissions rep about our full-time and part-time course options.