DEV Community

What are common myths about software careers?

Ben Halpern on August 14, 2018

Whether they were once true and now outdated, or were never a thing: What are commonly held beliefs about software development careers that are actually myth?

Collapse
 
sam_ferree profile image
Sam Ferree

“I have a great idea! I just need somebody to make it for me! The idea is the hard part right?”

Collapse
 
jonrgroverlib profile image
jonrgrover • Edited

The idea is the hard part. It took me 30 years to come up with a powerful idea. Programming it has only taken 8 years.

Collapse
 
nblackburn profile image
Nathaniel Blackburn

I'd say ideas come often but good ones are hard to come by.

Thread Thread
 
jonrgroverlib profile image
jonrgrover • Edited

I estimated once that I have a had a quarter million ideas in my life, perhaps two or three good ones. 1) Use endemes to embed meaning in computer programs. 2) History consists of ages which exist in objective reality, each of which is either twice as long or half as long as the previous one. 3) Build a tabletop role playing game where the design of each character is inspired by a verse in the Bible.

Collapse
 
theoutlander profile image
Nick Karnik • Edited

I teach software engineering and web development online (mostly to people looking to switch careers or those that have attended bootcamps and are clueless!). A relatively new trend that is a myth IMO is that you must have a portfolio website showcasing your school/bootcamp projects, etc.

I have seen many people get consumed with the notion that you cannot get a job interview if you don't have a portfolio. This isn't true.

At the end of the day, a solid resume is what will land you the interview. Now, this can be in the form of a portfolio website, but it is not a must.

In order to get through the screening rounds, you need to learn your basics well (core CS concepts, languages, etc.) and be able to speak clearly and present yourself. A portfolio will not help there.

Collapse
 
crisz profile image
crisz

I don't agree, in my experience. Either you have experience or you have a huge portfolio, but if you studied a lot and you master a technology but you have non of the above, then all the recruiters will just ignore you.

For a recruiter, 1 year of experience worths like 10 years spent learning, and I discovered it too late

Collapse
 
thermatix profile image
Martin Becker • Edited

I have to agree with this, though I do have a Github account which acts the same in this context, I still don't have an actual portfolio website showcasing stuff I've built and I've still gotten jobs.

That said, I don't disagree with the notion, it can help and can allow you to show your creativity that you couldn't with say github.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

I confess after 4+ years, I couldn't shake this notion. But every single job I have ever landed, my portfolio website isn't "ready" mainly because Im a snob and I can't see myself using a CMS. I keep wanting to write a CMS just for the 100s of challenges it brings. I need professional help!

Collapse
 
dhandspikerwade profile image
Devin Handspiker-Wade

At least where I went to school all the instructors heavily pushed the idea "you must have a portfolio website". So much so that when projects were graded they were expected to be display as part of your portfolio.

Collapse
 
dmfay profile image
Dian Fay

It's all about technical chops and "soft" skills don't matter. Communication is the single most important thing you're going to do. In fact, it's the only thing you're going to do: even the code you write is a long-running dialogue between you and your users, mediated through server processes. Getting good at communicating what you're thinking and doing, whether through talking, writing, presenting, teaching, or otherwise, is difficult. It's also critical if you want to be able to control the course of your career. The image of the lone inscrutable savant writing something So Advanced as to be beyond the ken of mere mortals is poisonous and people who take it as a role model do not have good long-term career prospects.

You have to be passionate about software. People here are going to tend to be passionate, but then dev.to is nothing if not a self-selecting audience. Anyone who wants or expects you to put in extra time because programming is important to you personally is hoping you're a sucker. Do what you have to if you stand to gain from it some other way, but in general: don't work for free. There are employers out there who realize that the time you aren't selling them is worth as much as the time you are.

Collapse
 
mamhaidly profile image
mamhaidly

Couldn't agree more on the importance of soft skills. Developers are often under stress and the combination of IQ and EQ is the way too go. Lack of soft skills like composure and communication will easily break down the team.

Collapse
 
matt123miller profile image
Matt Miller

I love your communication message. Sometimes it's easy to forget that we're just trying to communicate with our users and make them feel something. I'm getting better at my soft skills and this is part of it :)

Collapse
 
yechielk profile image
Yechiel Kalmenson • Edited

I heard some developers still believe tabs are better than spaces... 🙀

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y
Collapse
 
ignoreintuition profile image
Brian Greig
  1. Go on to a fellow developers computer
  2. Unbeknownst to them configure tabs to convert automatically to spaces
  3. Profit
Collapse
 
yechielk profile image
Yechiel Kalmenson

evil laugh

Collapse
 
champi profile image
Champi

Just use standard js

Collapse
 
ericcurtin profile image
Eric Curtin

Having a debate about this is useful... A myth... Flip a coin pick one and stick to it 😊

Collapse
 
erhankilic profile image
Erhan Kılıç

"Code is self documenting"

Lie!!

The larger the problem that the code resolves, the lesser the intelligibility of the code. Whatever you do, no matter how nice the code you write, this will not change.

Collapse
 
rhnonose profile image
Rodrigo Nonose

I disagree.

Code is self-documented. It's not good, readable or pleasant but a precise one.

Any code that you create without new/changed documentation makes the documentation obsolete. Also documenting something you made might not be correct because your assumptions can be wrong.

Also, automated tests are better documentation that any form of documentation because it actually runs the code (although it might run a different configuration of the code).

Collapse
 
matt123miller profile image
Matt Miller

You're semantically correct in that code documents itself because you can read the code and therefor know what it does. But that doesn't mean it's good. A car engine is self documenting because you can look at it, therefor anyone who drives can fix an engine. Somewhat contrived but still basically true for your argument I think.

Documentation and comments can and will fall out of date without proper care, but then we should be following the old adage that "comments document the why, not the how".

Thread Thread
 
rhnonose profile image
Rodrigo Nonose

Yeah, kind what I outlined the "why" in the other response :)

But I don't agree with the engine analogy.

An engine is a unique piece that does one thing and one thing only, so the documentation is never deprecated (for that car model or that specific engine, unless you replace it).

What we typically see in software is someone hooking up a radio to the engine or putting shaders in the windshield while the car is running and stays there (in a web context let's say). It has a more dynamic nature than a pre-made component with standardized interface and replaceable like car parts.

If you have a piece of code that you never touch, sure, documentation is alright. But if you make a fix in the engine with non-standard practices, the car manual will fail you and you'll have to open up the engine anyway. This happens less frequently with cars but almost daily in software.

Collapse
 
erhankilic profile image
Erhan Kılıç

I agree with you about automated tests, yes. But I've never seen before a self-documented code unless code's job are simple :)

Thread Thread
 
rhnonose profile image
Rodrigo Nonose

Code is self-documented by definition.

Documentation is an explanation of the code. You can explain the how and why of the code. The "how" is self-evident by the code, but the "why" could be up to interpretation and misleading.

The only reason to document anything should be to explain "why". There's no better way to explain "how" by a readable code and meaningful names, which is not hard but it'll always be consistent.

The "why" could be simple as you pointed out and there's no need for documentation. But also explaining "why" in the code shouldn't be necessary if the code is clean and good (also hard).

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Could should be, I think aspiring is fine, expecting is something else altogether.

Collapse
 
thomasjunkos profile image
Thomas Junkツ • Edited

For me the biggest myth - or fetish - is the distinction between junior and senior developer.

Working for a long time in a job doesn't make you automatically good at it.

Being new on the job doesn't mean, you do not provide value.

Being experienced in one part of your field doesn't make you experienced in another one. It is quite likely, that you are in one part senior and in another part just a junior.

For me there are only developers - each with different personalities, skillsets, talents and potential.

Collapse
 
itsjzt profile image
Saurabh Sharma • Edited

Programming languages are hard

Actually, the languages are not hard but telling the dumb computer what to do is much harder task,

All programming languages are equal

There is a lot that makes them different

Latest framework

People just say "amazing" and forget it.

Programming is about algos

It's not when you are making products, if you make language compilers or library like Lodash then it makes sense but the whole programming is not about it.

Maths

Very few niche branches of programming needs Maths. Most of them don't have anything to do with maths.

Collapse
 
crease29 profile image
Kai Neuwerth

I also wanted to post the maths part. Sure, everyone needs some basic maths but not that hyper advanced scientific maths.

Collapse
 
pmcgowan profile image
p-mcgowan

I dunno, calc 3 sure came in handy when I wanted to make that sweet ascii art easter egg...

Collapse
 
alexgwartney profile image
Alex Gwartney

I think the math thing is the biggest one. Because the only time you probably really need to know math. Is my specific case in graphics programming/game dev. Out side of this I really dont ever see the use for higher math.

Collapse
 
itamarst profile image
Itamar Turner-Trauring • Edited

You need to work long hours to be productive or to succeed in your career. Long hours reduce your output (due to tiredness and lack of focus), and even worse, they encourage the exact wrong attitude for a programmer.

Software is all about automation, so an attitude that encourages long hours is self-sabotage. Productivity is all about solving problems with minimal wasted effort, and trying to reduce your work hours can force you to learn the skills that will make you more productive.

You need to know a specific set of technologies to get a particular job. It certainly helps a lot, but it's definitely not necessary - I've gotten jobs in languages I don't know, and ended up working on things I didn't know how to (image processing, most recently). If you want to get a job with technology you don't know, here's some ideas.

Doing your a job is the same as finding a job. Finding a job is a very different set of skills: marketing yourself, interviewing, writing a resume. Lots of people would make great employees but aren't good at selling themselves. But if you realize they're different skills you can start learning them.

Collapse
 
slavius profile image
Slavius • Edited

It's like the old joke:

One day a fellow programmer came one hour late to work, said nothing just sat down and started coding. Nobody said anything but everyone was gossiping and giving him bad looks. When he started packing his stuff one hour earlier one of the guys just exploded: "What? You came late and now you're trying to leave earlier? What's wrong with you?!?!". And the guy says: "Sorry, I forgot to tell you I'm on vacation..."

Collapse
 
ignoreintuition profile image
Brian Greig

Myth: The software is all about the technology. Fact: It is just as much about the people.

Collapse
 
theoutlander profile image
Nick Karnik

Something my CS professor used to say back in college:

"You think that you will buy a Lamborghini or Ferrari after you graduate, but the fact is that you will drive a Toyota Tercel for a long time. I still drive one!"

Collapse
 
vitalcog profile image
Chad Windham

I have a Yaris. Same concept though lol

Collapse
 
lukewestby profile image
Luke Westby • Edited

To steal a joke from HBO’s Sillicon Valley: the idea that software makes the world a better place. It can, but it usually doesn’t and the places that most people will end up working will not.

Collapse
 
tailcall profile image
Maria Zaitseva

Same reasoning can be universally applied to any job, can it not?

Collapse
 
architectak profile image
Ankit Kumar

I work as mobile application developer since 6 years. Others (Non programmers) in my company think that programmers work least in the company.
Thet see us going back earlier than others so they made a blief that we work less.
But thats not the case. We work sometime at odd hours too from home or from anywhere out of office.

Collapse
 
fedeojeda95 profile image
Federico Ojeda

I've come across a very popular mith that software developers do not age well. Something like there's an expiration date and after that, you must go to some upper job like management.

I don't find this to be true at all! I've seen amazing developers that are not young. Experience does count

Collapse
 
jfrankcarr profile image
Frank Carr

That you will become filthy rich as a software developer. You can make a good living, probably upper middle class, but getting rich is doing software isn't common and is rarely a long term situation. For example, I made a huge amount of money for a few years during the late 1990's dot-com boom. I've never come close to making that kind of money since.

That once you get to 30, you can't program any more because people past that age are unwilling/unable to learn new things. A common bit of ageism that's popular in some circles.

 
wolfhoundjesse profile image
Jesse M. Holmes

Does it end with a non-Unicode ellipsis … ? 😂

Collapse
 
aqua profile image
Shane

Thank you everyone for these comments! As a recent grad I’ve been feeling like I don’t belong in these junior dev openings. I feel like I could learn loads more before even applying at an entry level position but part of me knows it’s just a confidence issue. How do you overcome that? Did you ever feel like you ready for these roles?

Collapse
 
adamthewizard profile image
Adam

Hey, Shane! I'd say you never really feel ready and you should definitely just shoot! I was exactly the same in the sense that I always felt like I needed to know a few more things before applying but I still didn't feel ready when I applied for a load of companies and I'm heading off for the final interview in about 30 minutes to one of those companies! I have a pretty empty portfolio online but it was more a case of making a good impression through my application and interviewing that lead me here. I also had to do a small practical challenge but that was fairly simple. If you google "code newbies imposter syndrome" there's an awesome article on this kind of problem! I actually listened to it this morning just to give me a pep talk haha ... best of luck ✌🏻✌🏻

Collapse
 
alanmbarr profile image
Alan Barr

That any hot new tool or framework is not likely to solve most of hard problems. That coding is more valuable than business domain knowledge. That salary is more important than learning.

 
adam_cyclones profile image
Adam Crockett 🌀

It's not my job, somebody else do it. Vs here's an opportunity to attain that label.
I see this mentality alot, Im guilty of it even if I wish I wasn't.

The point is I want to see a world in development where your ability to do something is controlled by your motivation and skill alone. FE and BE that's another frustrating label set, you are developer.

Collapse
 
fnh profile image
Fabian Holzer • Edited

A lot of developers have a passive attitude when it comes to professional growth, further education, training and career development. Your employer may provide opportunities for all these things, and if it's the case and it fits your personal goals, that's terrific and I encourage everyone to make use of any possibilities that are provided, but at the end of the day, the sole responsibility for your career lies on your own shoulders. When it comes to your career, always act intentional.

Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

You must have a degree in computer science.

My degree is in music performance.

Collapse
 
champi profile image
Champi

Please give this gentleman a beer.

Collapse
 
jonrgroverlib profile image
jonrgrover

Myth: your ability to troubleshoot indicates your ability to write software.

I have seen lots of employers who think that troubleshooting is the easy more Jr. task and programming is a harder more Sr. task. Troubleshooting and writing software have some commonalities but you do not need to be good at one to do the other well. Companies that ask me to prove myself by troubleshooting first generally let me go within a month. Companies that ask me to program first end up liking me and keeping me a long time.

Collapse
 
vigzmv profile image
Vignesh M

"It's mostly just copying and pasting code from the internet or stackoverflow"

Collapse
 
levivm profile image
Levi Velázquez

A myth for outsiders (non-developers)

"can you fix my pc ? my screen is black".

Collapse
 
vier31 profile image
Jan Schröder

You're doing something with computers, right?

Relevant Xkcd

Collapse
 
circuitburn profile image
Patrick Ryan

That you're always going to be working with fantastic, perfect, shiny, and bug-free codebases. Most projects I've been subjected to have been varying degrees of dumpster fires, some only less raging than others. You'll then wonder why the hell you can't just re-write the whole thing.

Collapse
 
felipperegazio profile image
Felippe Regazio

"programmers are math geniuses, arent they?"

Collapse
 
adhocore profile image
Jitendra • Edited

Myth as in Misconception: That who aces interview is a great performer in the everyday job.

Collapse
 
_hs_ profile image
HS

You can get rich really fast. People think once you start typing weird language into computers you turn Bill Gates style or FB Mark. But this is only non business people.

Collapse
 
klawrow profile image
Claro A Briones

Myth/question I usually get: How can you sit at your computer all day and code?

The reality: I spend a good chunk of my time learning about the domain, talking to the SMEs and whiteboarding.

Collapse
 
zeddotes profile image
zeddotes

That everyone is a code monkey. Excuse my language.

Collapse
 
sturzl profile image
Avery

That you have to choose between tech and business as you grow your career. Also that the tech track is capped earlier is also a myth.

Collapse
 
fishst1k profile image
Ben Fisher

Myth: Software Engineers jump jobs every 2 years.
Experience: I've been in the industry for 15+ years and I would beg to differ. I would argue more of us stay with our employer vs leaving early.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

Yeah, where does 2 come from. I average 2.5 years. :)

Collapse
 
jfrankcarr profile image
Frank Carr

I've had more jobs leave me (layoffs, closings, moving location, etc) than me leaving them (quitting for another job).