Skip to content
WBS CODING SCHOOL
  • DE
    • AI Agents & Automations12 weeks
    • AI for Business8 weeks
    • KI Kompakt8 weeks • 3 hours daily
    • KI & AutomatisierungComing soon
    • Data Analytics13 weeks
    • Data Analytics & AI10 months • Includes internship
    • Data Science17 weeks
    • Data Science & AI12 months • Includes internship
    • AI Software Development17 weeks
    • Software Engineering & AI12 months • Includes internship
    • AWS Cloud Computing & AI23 weeks
    • AWS Cloud Engineering & AI10 months • MacBook included
    • UX/UI Product Design15 weeks
    • Study for free: Bildungsgutschein
    • Long programs, MacBook Air included
    • Courses overview
    • For teams: QCG funding
    • Study onlineGuided learning completely remote
    • Financing optionsBildungsgutschein, QCG and more
    • Career servicesPreparing you for your next career step
    • InstructorsA strong team behind your success
    • About usWho we are and what we're building
    • BlogIndustry news and guides from our experts
    • EventsDemo days, guest talks, and open houses
    • FAQThe answers to your questions
    • Referral programRefer a friend, you both get rewarded
    • Work with usSee our open roles
  • Apply now

Blog > Coding > Things that confuse a developer – and how to handle them

Things that confuse a developer – and how to handle them

Coding can be confusing for a variety of reasons, but there are things you can do to make your life easier
  • Updated April 20, 2021

Confusion is an old friend of every developer. Sometimes she comes as an emissary of programming languages, be it because of the way they read or the way they function, and sometimes she visits via the human element, particularly when you’re interacting with colleagues or clients who do not understand programming very well.

Whatever the case, knowing how to tackle confusion is a skill so important for every developer, that entire books have been written on the subject. While we will not go to a similar level of depth in this article, we would like to provide a few general pointers that will help you keep your mind unclouded, particularly if you are new (or relatively new) to this undeniably complex industry.

Source of Confusion #1: Poorly-written specifications

One of the most common of all problems that developers face. Your client will commission a product, but will not properly explain what that product needs to do, or what features it should include.

Solution: This is largely about attitude. Yes, your clients may sometimes be bad at explaining what they want, but you would do well to remember that those clients are the reason you have a job. So, put on your most serviceable hat, and insist on a gentle but in-depth conversation with your client about what their product should do and how they expect it to serve their business. Ask basic questions and mine out the information they did not provide. Be patient if the clients’ answers demonstrate their lack of technical understanding – if they had that understanding, they would not be paying you to provide it.

Source of Confusion #2. Conflicting orders

Nowadays, many companies seem to want to emulate the model of a hip, trendy startup, and so they’ll talk of operating under a ‘flat’ or ‘flexible’ hierarchy. This has the potential to backfire if two different heads of department hand over directives which are in conflict with each other, and which you have no idea how to resolve without engaging in deft office politics.

Solution: You’ll normally have at least one boss, lead or supervisor who knows how to code and who understands the technical aspects of your current project. Make sure that any project directives first go through him/her before they are sent to you. If this causes friction with the person who sent the directive to you, politely ask them to be patient and explain that the purpose of your referral is precisely to avoid this sort of friction in the future.

Source of Confusion #3: Bad variable, class or function names

Reading code is not the same as reading a natural language, and one of the reasons is that writing code involves making up ‘words’ on a regular basis, in the form of the names you give to some of your items – typically variables, functions and classes. If these names are not intuitive or self-explanatory, this can lead to a great deal of head-scratching as you try to figure out what “analysis_variable” is supposed to do exactly.

Solution: For inherited code, there is unfortunately little you can do other than lots of patient unit testing. For internal code, the best cure is prevention, and the best practice for prevention is to carefully and consistently supervise the junior developers in your team. Poorly-named items most frequently come from those team-members who are new to the team or not used to working as part of one, so look at the work they’re doing, and make sure they understand why they should name their variables clearly.

Needless to say, you should be leading by example here, for your colleagues’ benefit but for yours too – don’t rule out the possibility of being confused by your own old code, one day when you have to return to it.

Source of Confusion #4: What tech to use

In code, there are always many different solutions to any given problem. Yet this variety of options can lead to uncertainty if you aren’t sure what framework or even what programming language is best for the job you are given.

Solution: While the community is far from unanimous, there is a certain consensus that it’s better to be a specialist in a few languages than to have basic skills in many different ones. The above problem shows one of the reasons why that is so. Being very skilled in a language, and knowing what its many libraries can do, will give you a much better sense of which problems you can and most importantly can’t take on. It is better to turn down a project altogether than to commit to it and realise halfway through you should have gone for a different programming language.

Another way around this problem may be to let the client or management decide on which technology to use, but we would advise against that emphatically. Nobody will ever be more qualified than you to decide how you work best, and problems are rarely solved by shirking responsibilities that should be yours.

Final Source of Confusion: Code that does not work

And here we come to the universal problem that will forever baffle all developers until the end of time: code that simply does not do what you tell it to do.

We shall not write a ‘solution’ this time because the only solution, really, is to be a better developer: keep your logic clean, do plenty of unit tests, and practice catching bugs. You can learn by following the blogs of experienced devs, take some free Codecademy courses to expand your abilities, or fully upskill with one of our bootcamps.

Whatever you do, there will always be some part of your code that behaves so as to confuse you. Don’t be scared by this. Computers are logical things, and what they do can always be understood by old-fashioned hard work, or in your case, by patiently, diligently and intelligently applying what as a software developer you already know.

Share

Check other categories

Graduate Stories
Careers
Coding
Data Science
Data Analytics
UX/UI
AI Software Development
Artificial Intelligence
Cloud Computing
WBS CODING SCHOOL News

Related articles

What is prompt engineering? A clear guide for 2026
students around a table on their laptops - online vs inperson coding boodtamp
Online vs in-person coding bootcamp: which format is right for you?
Best Coding Bootcamps 2026
best AI Agent builder
Find the best AI agent builder for 2026: The power of synergy
A photo of René, smiling and looking confident
Sound On, Code On: How René Pivoted from Audio to a Tech Internship at DocMorris
A software engineer working remotely in Germany, focused on coding in a modern workspace.
Your Path to a Software Engineering Job in Germany: What You Need to Know
Talented Developer VS Experienced Developer – Who Is Better?
Women In Tech Global Conference: Here’s The Agenda
4 Things You Can Only Learn By Leaving Your Coding Bootcamp

What is prompt engineering? A clear guide for 2026

students around a table on their laptops - online vs inperson coding boodtamp

Online vs in-person coding bootcamp: which format is right for you?

Best Coding Bootcamps 2026

best AI Agent builder

Find the best AI agent builder for 2026: The power of synergy

A photo of René, smiling and looking confident

Sound On, Code On: How René Pivoted from Audio to a Tech Internship at DocMorris

A software engineer working remotely in Germany, focused on coding in a modern workspace.

Your Path to a Software Engineering Job in Germany: What You Need to Know

Talented Developer VS Experienced Developer – Who Is Better?

Women In Tech Global Conference: Here’s The Agenda

4 Things You Can Only Learn By Leaving Your Coding Bootcamp

Ignite your career in tech!

Our innovative bootcamps are the most direct path into the professional world of tech.​

Apply now
About us
  • About
  • Contact
  • Work with us
Resources
  • Blog
  • FAQ
  • Kursnet
Why us
  • Funding options
  • Study online
  • Career Services
  • Referral program
  • SpeakTech Program
For companies
  • QCG KI Kompakt
Our bootcamps
  • AWS Cloud Computing & AI
  • AI Agents & Automations
  • AI for Business
  • KI Kompakt
  • AI Software Development
  • Data Analytics
  • Data Science
  • UX/UI Product Design
Long programs
  • AWS Cloud Engineering & AI
  • Data Analytics & AI
  • Data Science & AI
  • Software Engineering & AI

WBS CODING SCHOOL

– an innovative brand of WBS GRUPPE

Cuvrystraße 1,
10997 Berlin
Germany

Phone: +49 30 555789760
info@wbscodingschool.com

WBSCS full logo white
Imprint
Privacy Policy
Terms and conditions