21

I am a software developer with experience in the Dart programming language and the Flutter framework. My major was in Electronics Engineering at George Brown College during the COVID-19 emergency.

I am currently developing 2 education applications with Flutter as personal projects. A mathematics engine and a science engine. The function is to provide Calculators, Open Textbooks, Scans, Steps and promote OpenStax, Rice University. The calculators are intended to function like Microsoft Math Solver but are still in development.

I have been applying for jobs but I have no production grade experience. Employers are asking for 2 to 5 years of experience for entry level positions. I need experience to get a job but I need a job to get experience. I am willing to work for as low as $22/hour == $42,240/year in order to gain experience. Employers are offering much higher rates but I need experience to earn those rates.

Any assistance with this issue is greatly appreciated. Thank you for your time and expertise.

9
  • 8
    Are you here for help or advertisement? :D Also what makes you think those are entry level positions since they ask for on-the-job experience? Are there no internships etc around? Though they generally pay much less than 22 usd/hour. May 8 at 10:43
  • 1
    To withdraw a question, just Delete it. No explanation required.
    – keshlam
    May 8 at 12:50
  • 9
    Users cannot "withdraw" a question once a positve scoring answer was given. That is on purpose and I don't see anything in this question that would make it an exception. I have removed the part that could be seen as self-advertisement. To anyone who wants to downvote: please be fair and consider that the user cannot delete their question. Leave a comment how to improve the existing question.
    – nvoigt
    May 8 at 15:05
  • 1
    "...promote OpenStax, Rice University -Do you work as a contractor or intern with Rice University to develop this app/software ? If yes, then you can count this as a valuable work experience. May 8 at 18:50
  • 3
    @JaredSmith "College" in Canada (which George Brown is) is distinct from university, unlike in the US. It's closer to something like an American Community College. It's both possible and likely that OP either did no internships or none of them were practically useful.
    – Ertai87
    May 9 at 15:01

7 Answers 7

38

This is the situation in many fields but the difference in the IT business is that there is mostly a lack of supply of software developers. So keep applying even if you don't cross the box of the experience. Even if companies prefer experienced people they will often "settle" for a complete junior with the right mindset.

Great that you build your portfolio, just be open for any developer job and get that experience and you can go more into what you really want after some time.

6
  • 31
    Indeed, just apply. It's kind of an industry joke the moment a new technology catches on, one that was invented this year, job postings ask for 5 years' experience with it. Job requirements are companies' wishlists. Sometimes Santa doesn't get you everything you ask for. Least of all the pony. :) May 8 at 10:52
  • The lesson I've learned through a few long job searches is to persist, to keep looking and applying, however long it takes. It can be a really long, tedious, depressing process (though I expect less so right now) — but remember that however many rejections, silences, or mismatches you get, you need only one good match to accept you. And then it will all have been worth it!
    – gidds
    May 8 at 16:35
  • 16
    Shortage of developers? Not really. Shortage of qualified developers? Very much. That's why the situation is so tough for a newcomer. Pretty much any advertised position will get tons of applicants. Very few of them will have any clue how to do the job. A significant fraction of them can't write a working nontrivial program in any language. The challenge is to stand out from the crowd.
    – hobbs
    May 8 at 23:05
  • @hobbs if you are talking about standing out what is your opinion of non-traditional application documents, e.g. CVs with embedded Javascript apps or business cards that are also USB hubs? Seems like it stands out and is a costly signal (therefore valuable), but then, it may also be desk-rejected by the responsible bureaucrat
    – user253751
    May 9 at 8:13
  • 5
    @user253751 Many companies use software to screen CVs before it even reaches a human. Anything using something non-standard has the risk of being auto-rejected by the software. Besides that, anything that has embedded code when you usually don't expect that in there (so in a CV for example) would be a huge red flag for security.
    – Dnomyar96
    May 9 at 9:51
17

I would ignore the requirement of "2-5 years of experience." Look at the title instead. If it is an entry level job (junior, Software Developer 1, Associate Software Engineer etc.) It doesn't require experience.

The 2-5 years of required experience is there as any easy way for your employer to reject your application if they don't like you (As very few people with 2-5 years of experience will apply to be a junior software engineer).

It is not there as a real requirement.

My personnel recommendation:

  • be humble
  • be friendly
  • be polite
  • dress appropriately (different companies have different dress codes, don't dress to make a statement).
  • learn about the company you are interviewing at (IE show that you want to work for us).
  • and be prepared to answer technical questions

One the last point, if you want to stand out... Be semi-competent at programming. I don't know if it is covid-19 or something else but this pass year out of a dozen recent graduates we interviewed 2 of them could answer questions with something other then "I don't remember". 1 of whom could explain their answers/reasoning. Who do you think we hired? These weren't hard questions either, it was a C/C++ position and the questions were "What is a pointer" "What is a class," "What is encapsulation," Etc... things that should have been learned in C/C++ 101.

Additionally, (and this one seems to be a bit harder for the technically competent) be prepared for team fit questions. "Can you share an example of how you have dealt with a coworker you didn't get along with," "Tell us about a time that you struggled to learn something," etc...

You will want answers that show that you know how to handle interpersonal conflict, programmers can be very ... um headstrong--google tabs vs spaces-- and enjoys being mentally challenged.

4
  • 1
    I have some members on my team who insist 2 spaces "isn't that bad" and it makes me want to punch them in the face (on Minecraft, not irl). Fortunately they're sorta-kinda my subordinates (I'm the tech lead on their team although they don't report to me) so they basically do whatever I say if I word it strongly enough.
    – Ertai87
    May 8 at 21:14
  • 2
    Good advice. A corollary is don’t waste your time applying to mid-level or higher positions if you’re entry level—it’s a waste of everyone’s time.
    – bob
    May 9 at 0:21
  • 3
    I bet you're going to have more of this "I don't remember" with ChatGPT
    – user253751
    May 9 at 8:14
  • I'm not sure I understand the relevance of this reply. OP is reporting having a hard time getting interviews. This reply describes how to succeed at an interview rather than how to secure an interview.
    – MDLNI
    May 9 at 17:33
13

As you mentioned George Brown College, I presume you are local to Toronto, Canada; as a software engineer who is also local to Toronto I'll write this answer from a geographic perspective.

So, your first problem is that you are using a language which, for all intents and purposes, does not exist. I've been working in software engineering for about 10 years and this is the first mention I've ever heard of the Dart programming language or the Flutter framework. These are tools which, functionally speaking, do not exist. They are useless skills, because no employer wants them. If you want to get a job in software development, start by learning a real language. Options for languages commonly used in Toronto-based tech companies include Java, NodeJS, and Python for backend (with a little bit of Go and Ruby), and React is the overwhelming majority language for frontend (with a little Angular or VueJS).

The other problem is, contrary to the (current, as of writing) most-upvoted (and also accepted) answer, there are very few job openings in Toronto right now. Unfortunately you're applying for jobs at the exact wrong time, as many companies including Google, Meta, Amazon, and Canadian tech giant Shopify, have recently experienced massive layoffs, causing tens of thousands of very experienced and qualified people to be looking for jobs at the same time as you are. This is not a great time to be job hunting. Furthermore, according to reports I've heard through my network, companies are severely lowering the salaries they are offering, by as much as 50% in some cases. So it's going to be hard to find a job, and the job you will find is going to pay you less than it used to.

Additionally, the catch-22 of "I need a job to get experience but I need experience to get a job" is one I have personally run into so many times in the Toronto tech industry for it to basically be a trope. Every company works like this, unfortunately, in Toronto. I don't know if any other locales are better, but that's how it is in Toronto. The way I've managed it is to simply keep applying, keep taking interviews, and eventually something will work out. It is incredibly frustrating and depressing and aggravating, that's very true, but unfortunately that's what the software job market looks like in Toronto right now. It may not help at all, but at least you should know that other people feel the same way as you feel, so it's not just in your own head.

For what it's worth, your personal projects mean nothing in Toronto. I've had my GitHub link on my resume since I started in the industry a decade ago. Not a single time, in any interview process (and, as I said, I've done a lot of them, especially early in my career when I was in the same situation as you), has even a single person made mention of the fact that they've even looked at it. If you're spending a lot of time working on personal projects in the hope that some recruiter or hiring manager will look at it and say "oh, that's cool, I want to hire that person", stop it right now and spend your time working on something more productive like your own personal self-care and mental health routines (whatever that means to you). Spending time working on a personal project and getting stressed out over that is not productive in Toronto, and you're only hurting yourself by not spending that time working on something that is more productive for you personally.

Best of luck!

7
  • 1
    Comments have been moved to chat; please do not continue the discussion here. Before posting a comment below this one, please review the purposes of comments. Comments that do not request clarification or suggest improvements usually belong as an answer, on The Workplace Meta, or in The Workplace Chat. Comments continuing discussion may be removed.
    – motosubatsu
    May 9 at 19:22
  • 1
    +1 for personal/geographical experience. -1 for extrapolating "I haven't heard of this language" to it being useless. May 10 at 5:07
  • Knowing an obscure language is a major plus when it comes to applying for one of the very few jobs that uses that language. It does mean a lot of job-searching to find an opening, though.
    – Mark
    May 10 at 20:24
  • Since the OP mentioned a degree with "Electronics" in its title, I would assume that learning some assembly, C or C++ (these latter two scoring high positions in TIOBE index for years) would be beneficial for getting in the embedded systems industry. You didn't mention those languages in your list of advice, so (out of curiosity) it is because they are outside your area of expertise or outside your field of work, or is it because they are not particularly sought after in the Toronto area? May 11 at 12:15
  • The amount of times I have been asked for my linkden details even though it is the literal first thing on my cv has made me think that the whole CV is largely a waste of time and effort. Just a piece of administrative hoop jumping people do to get a job.
    – Neil Meyer
    May 11 at 13:35
7

Let me please reuse a previous answer of mine (this is not exactly a duplicate, but the answer is appropriate)

Do not worry that much about the exact requirements. The process of creating a job/position offer is the following:

  • the job description: screwing screws
  • the actual requirements of the manager: ability to twist your wrist

Since this does not sound cool/expanded enough in the job posting, so we add some more requirements:

  • experience with a screwdriver
  • business acumen to understand the implications of the strategy of the company
  • fluent English, German and Swahili - in case the purchase order for the screwdriver was from there
  • ability to convey an idea, in case one would need to do a PowerPoint on the usage of screwdrivers

Then come the candidates, usually interested in Liberal Arts or Musicology. None has seen a screwdriver.

Then come you, and say that you are very good in production lines and screws, and have seen videos on how to use a screwdriver, and that it honestly does not look hard and you are willing to work hard to understand the subtleties of the job. Heck, you have even purchased a screwdriver to get some experience ahead of time.

The jury has not even seen the job posting, they know what they need and you look like a reasonable candidate.

There is of course the chance of the screwdriver maniac who has been doing this for the last 10 years, enthusiastic about the business consequences and having published a paper on that in Swahili (and then presented in with PowerPoint on a conference). Bad luck, he is a better fit but at least you tried.

(Copied with minor changes from my answer to a similar question in Academia SE)

3
  • 2
    Love this answer! In my (limited) experience with job searches, I'd say it closely describes what going on. May 9 at 14:57
  • 3
    This is beautiful.
    – tjalling
    May 9 at 15:25
  • (+1) ROFL! The screwdriver maniac (maybe babbling and cursing in Swahili while showing his ability to use a screwdriver) mental image would be worth a picture (and will "haunt" me for days!) :-D May 11 at 12:20
3

Depending on the exact company and field, years of education may also be considered years of experience. Sometimes they will specifically say something along the lines of "4 years of experience or 4 year degree"; other times you will simply have to apply and hope, which also falls in line with novafluff's answer.

2

You could consider doing remote work for a year or two in order to gain experience.

Going online and working through sites such as upwork can get you work that you can do remotely from home, for clients anywhere around the world.

This way you can get your magic 2 years experience, and after that apply for a local job in your city.

Perhaps there are even jobs using Dart or Flutter on upwork? Who knows - You could look. And probably your language skills (English? French?) might come in useful as well.

The advantage with Upwork is: you are reaching a global market. It's easier to get a short term contract than a full time job. And you can price yourself down (e.g. 15 or even 12 dollars an hour) in order to get work.

Failing that, you could self educate yourself in technologies that are more useful and in widespread use and demand. Personally I would take a React and Node.js course, and also Git, Docker and Kubernetes. But really it's up to you. Look on the stack overflow survey of "most used languages and frameworks" to get an idea of what is in widespread use. Basically it's Java or .Net or Javascrupt/Typescript.

Good luck!

1

Most positions are created with a concrete project in mind. For example:

We need someone to work on our website. The seniors are too busy. 
Let's hire one more person.

Try to figure out what the actual goal of the position is. Call the company and ask. Then figure out if you can do the job, and confidently make your case in your application. If you can't solve the manager's problem - no shame in that as a junior - now you've figured out a gap in your skills that you could look into filling.

As long as the company is not heavily regulated or otherwise sclerotic, convincing the hiring manager that you can do the specific thing that he needs done will turn the written requirements into a formality.