Zum Inhalt springen
WBS CODING SCHOOL
  • EN
    • AI Agents & Automations12 Wochen
    • KI für den Beruf8 Wochen
    • KI Kompakt8 Wochen • 3 Stunden täglich
    • KI & AutomatisierungBald verfügbar • 3 Stunden täglich
    • Data Analytics13 Wochen
    • Data Analytics & AI10 Monate
    • Data Science17 Wochen
    • Data Science & AI12 Monate
    • KI-Softwareentwicklung17 Wochen
    • Software Engineering & AI12 Monate
    • AWS Cloud Computing & AI23 Wochen
    • AWS Cloud Engineering & AI10 Monate
    • UX/UI Produktdesign15 Wochen
    • Kostenlos weiterbilden: Bildungsgutschein
    • Langzeitkurse, inkl. MacBook Air
    • Kursübersicht
    • Für Teams: QCG-Förderung
    • Online lernenBegleiteter Unterricht, komplett remote
    • FinanzierungBildungsgutschein, QCG und weitere Möglichkeiten
    • KarriereserviceWir bereiten dich auf deinen nächsten Karriereschritt vor
    • Trainer:innenEin starkes Team hinter deinem Erfolg
    • Über unsWer wir sind und unsere Ziele
    • BlogBranchen-News und praxisnahe Insights von unseren Expert:innen
    • EventsDemo Days, Gastvorträge und Open Houses
    • FAQAntworten auf deine Fragen
    • Empfehlungsprämieweiterempfehlen, gemeinsam profitieren
    • Jobs bei unsEntdecke unsere offenen Stellen
  • Bewirb dich

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
  • Aktualisiert: 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.

Teilen

Weitere Kategorien anzeigen

Erfahrungsberichte
Karriere
Coding
Data Science
Data Analytics
UX/UI
KI-Softwareentwicklung
Künstliche Intelligenz
Cloud Computing
WBS CODING SCHOOL News

Verwandte Artikel

Starte deine Karriere in der Tech-Branche!

Unsere innovativen Weiterbildungen sind der direkteste Weg in die Berufswelt der Tech-Branche.​

Jetzt bewerben
Über uns
  • Über uns
  • Kontakt
  • Karriere/Jobs
Sonstiges
  • Blog
  • FAQ
  • Kursnet
Warum wir?
  • Finanzierungsoptionen
  • Online lernen
  • Karriereservice
  • Empfehlungsprämie
  • SpeakTech Program
Für Unternehmen
  • QCG KI Kompakt
Weiterbildungen
  • AWS Cloud Computing & AI
  • AI Agents & Automations
  • KI für den Beruf
  • KI Kompakt
  • KI-Softwareentwicklung
  • Data Analytics
  • Data Science
  • UX/UI Produktdesign
Langzeitkurse
  • AWS Cloud Engineering & AI
  • Data Analytics & AI
  • Data Science & AI
  • Software Engineering & AI

WBS CODING SCHOOL

eine innovative Marke der WBS GRUPPE

Cuvrystraße 1,
10997 Berlin
Deutschland

Telefon: +49 30 555789760
info@wbscodingschool.com

WBSCS full logo white
Impressum
Datenschutzerklärung
Allgemeine Geschäftsbedingungen