5 Myths about a Software Developer job you should stop believing

davthecoder
9 min readJan 23, 2022

In 2014 I had the huge privilege of starting my career in software development as a Junior Game Developer coming from a ZERO commercial experience background, and after to Android, iOS/TvOS Developer and more.

During all my years of experience, I saw people chasing any role in this field, others stuck in the same role feeling unsatisfied, and others with a bright career spreading misconceptions. All of them have something in common and was preaching some myths for different reasons.

I do not know the specific reasons why each of them was affirming those myths as the only real truth, but while I acknowledge it could be the case for some people, the reality is, is not the most likely scenario for everyone.

In this article, I will speak about my personal experience and events.
I am not claiming to have the unquestionable truth, but If happen to me once, chances are that also you can experience the same.

Here are 5 of the myths you should stop believing if you persuade a career in software, mobile app, web development, and so on…

source: https://makeameme.org/meme/every-journey-starts

1. You MUST have a degree

Did you hear about this before?
- If the answer is NO, then maybe you live in a bubble all this time.
- If the answer is YES, then come back and tell them that you are proud of and happy for them having a high education degree, but unfortunately and without a will to break anyone heart, is not a must-have nowadays because someone with no degree but a good attitude and passion for this job can get an online course and with practice, get a good valuable level to be hired.

I am not saying a degree is useless or a waste of time and money, it requires a lot of hard work, study and discipline to achieve it, and even more if you would like to have it with good marks.
If you have one I do honestly admire you, chapeaux.
However, some people who discover later the passion for this job can be part of a development team and achieve the same good results.

To summarise this point I will give my personal opinion and one personal example:

My opinion is:
The degree gives you a good ground level and foundations to be a developer or software engineer, but at the same time, if you are one of the lucky ones to have one degree and/or a master, you should not feel superior or even undermine your future co-workers who most probably will have no one of them. However, my most sincere congrats if you have one.

My Example is:
In one of my previous roles, I did work with someone who was a software engineer for several years with a degree and someone who had one year of commercial experience where his previous role was as a cashier in a well-known supermarket here in the UK. Both were brilliant in their respective role and make an amazing team together.

2. You MUST start in a graduate or internship role

Not the case at all, I would like to use my own experience as an example.
In the past, I did work in ambulances in London doing patient transport, and High Dependency transport with Blue-Lights.

before my first developer role

However, I did always have a bit of time to learn more about coding which is my passion and hobby since a very young age. I must say, I didn't expect or was looking for a role in programming until a recruiter called me about a junior role as a game developer, which I decided to give a go.

Why not, right?

I did the interview and got a positive response after a few days.

Until today I do not know what they saw in me to give me a chance as a junior game developer coming from an Ambulance job but, I will be always grateful for that and I tried every day to show my appreciation with hard work.

However, if it wasn’t for my small portfolio and attitude I do not think I would pass the interview, and then my willingness to learn, loads of extra time invested into performing better at my job and continuous hard work I would not pass the probation period.

this is how I feel myself after the text above 😆

What I really try to say is:
“ Work hard, prove yourself to be good, and trust that someone will give you that chance you deserve. ”

I started with no experience as a Junior, others started in a graduates program, others started in an internship role, others by creating their apps, selling apps in codecanyon.com, teaching on different e-learning online platforms… Doesn’t matter where you start but, please, start.

The earlier you do, the better.

3. You MUST need commercial experience to be a contractor

While I am not the best example as a contractor, the fact is I learned a lot from different contractors I worked within the past, especially I would like to name one, RobJ, which is not only one of the most talented Android devs contractors I worked and learned from but also as a person and a good example as what a contractor is, He is also running an amazing podcast Coffee & Coding. You can find more on his podcast following this link.
Check out episode number 5 from the first season > link
Where they discussed:
• How to stand out as a candidate
• How to better work with recruiters
• Why some senior roles are severely underpaid

In one of the podcasts he mentioned, the difference between a permanent and a contractor is “the income” and I do agree, but I will add also, maybe the stability.

As a contractor I would say, commercial experience helps, but the vast majority of companies who are looking for a contractor usually want them for a specific goal or task to do for 1, 3, 6 or 12 months (it may be more, but rare to find). But, for example, If a company of a mobile app that shows hairdressers to make bookings is looking to add Google maps to display all of them, then, You as a contractor with no commercial experience with apps released and pet projects to prove yourself to be good at google maps implementation and building well-structured apps, can get the job as easier than someone who has experience in building apps in general without or little google maps knowledge. Of course, your daily rate will be lower and that is an extra point.

To summarise:
Yes, you can get the job with no commercial experience, however, in any case, is better if you have already some apps into the google play store and/or iOS AppStore to prove your app development skills with some pet projects in GitHub/GitLab and also pass a technical interview.

So if you are looking to get your first step in this world, maybe starting as a contractor is a good option for you.

4. You MUST stick to a single programming field if you want to be good at it.

While is true the fact that expending all of your time and or resources on a single topic or field can expand your knowledge faster in that single thing than multi-tasking, the fact is you can be very good in one field and good enough in another. in the same way you can be good at programming, cooking, and playing instruments at the same time. Your dedication and practice will be key.

For example, I currently work as an Android developer within one of the most amazing teams of talented Android developers I have the pleasure to work with. However, in the past, I did work also as a Javascript Game developer and iOS/TvOS developer.

Is multi-tasking ideal for everyone?
- No and depends on the person, but Yes if you love programming in general.

Giving a real-life example, By knowing how to code in Swift for iOS the transition from Java to Kotlin to develop Android apps was way easier, and right now I can easily read code in multiple languages bringing the knowledge to the technology I working on that moment.

Is not the first time (or will be the last) that I worked on a specific feature as an Android developer where the iOS developer team has already achieved the same task and I use their code to do the same changes in Android and vice-versa.

Being able to code in different fields is good, but do not force yourself to do so as is not required. Get full knowledge on the one you most like at the first, then if one day become insufficient to satisfy your thirst or you have more time then jump into a second one.

5. Every programming language is the same

At some point in our journey we hear someone say:

“ Switch between programming roles is easy, you just need to learn the new syntax and you should be good to go”

or

”Once you know one programming language then you know all of them”

First of all, that sentence is not 100% incorrect if you just looking to know the different syntaxes, but you need way more than to know how a function and a variable is used in a specific language to be able to work efficiently or to even find a job in that field.

Concepts of “How to write Clean Code”, “how to write testable code”, “how to test your code”, “Which architectures I can use to make more sense”, “How to debug”, “new trending tools/libraries”, and more… Syntaxis is only the first step of the journey.

There are no predefined steps for every journey, and also, every person is different.

If you are looking to start to learn something new, ask yourself if it is worth it, find first if the long term goal will compensate the thousands of hours you will expend learning it. Time is precious and limited, so do not become a “Jack of all trades, master of none”.

Recommendations:

If you persuade a role in this field as a developer, software engineer,… (with a degree or not) there is a lot of free resources you can use such as:

  • freecodecamp.org and his amazing youtube channel you can find in this link for English or this other link in any other language (Spanish, Hindi…).
  • Udemy also offers a wide range of paid and free courses, perfect ger a solid foundation and knowledge.
  • Udacity offers amazing courses for paid free in which your knowledge will be tested constantly on quizzes and activities
  • davthecoder.com I have also a free online academy where I create courses for Android developers. Alternatively, my courses can be found in Udemy and Skillshare or my youtube channel
  • Edx.org is an Online Learning platform where you can find free learning courses and material in many fields, not only as a software engineer

besides this recommendation I would like to give you a few tips if you would like to be successful in the long term:

  • Keep learning. As much as you can without giving up your social life.
  • Teach what you know and learn from others as much as you can. It is free.
  • Do not show pride. Seriously nobody likes to work with a self-proclaimed perfect dev unable to recognise when is wrong made up arguments to prove his “knowledge”.
  • Be open-minded. Maybe other dev can teach you something you do not know and vice versa.
  • Do not be afraid to ask for help when you need it. Nobody will ever expect you to know everything, also by doing so, you will get the trust of coworkers and/or developers as they will see you as sincere and trustworthy.
    If you do not know, you do not know, full stop, do not make excuses.
  • When you get blocked keep in your mind that in programming all is possible. you just need to find the way and learn from it.
  • Acknowledge your limitations and expand them.
  • Enjoy the journey.

I hope this article was helpful for you, and if you have any questions, suggestions or would like to share your experience, please leave a comment.

Do not forget to follow me in Medium. ❤️
And of course clap this article 👏

Happy Coding!
David Cruz

Let’s Keep in touch:
davthecoder Web: https://www.davthecoder.com
Medium Blog: https://davthecoder.medium.com/
Twitch: https://www.twitch.tv/davthecoder
GitHub: https://github.com/davthecodercom
Instagram: https://www.instagram.com/davthecoder
Twitter: https://twitter.com/davthecoder
Youtube: https://youtube.com/@davthecoder
Support me on Patreon! https://www.patreon.com/davthecoder

Do you know you can clap up to 50 times for an article? Go give it a try!

--

--