Can I Become a Software Engineer?
This is about me, specifically. If you believe that anyone can become a Software Engineer, I'm asking you to consider a different context. I'm facing interesting challenges, some of which are truly unique.
I used to think I could do whatever I set my mind to. It was true, mostly, but there were some obvious exceptions. For example, I never could've been a professional athlete. No matter how hard I trained I'd always be competing against people with innate talents I lacked.
What is a Software Engineer?
A Software Engineer is an individual who is employed and financially compensated to create software which either supports or implements a product or service. There are other definitions, but this is the one I'm going with right now.
I'm not talking about an ecosystem, activity, philosophy, culture, or a way of life. Any of these might be called "Software Engineer", but I'm talking about getting a job.
Network!
The most important skill and activity right now for getting a job is networking. Building a professional network is an essential part of any job search. Sometimes they even say that networking is more important than job skills.
This presents a bit of a conundrum for me because I have a personality disorder (read more about it: My Schizoid Personality Disorder) which makes networking very difficult for me, if not impossible. Like professional athletes, most people have innate social talents I lack. I have all the same tools, but no chance of using them as effectively as my rivals.
Having said that, I can form professional relationships with people. I just really like talking about solving problems and writing code. I'm not interested in hobbies or interests, even if they're similar to mine, and I'd rather not know about social / political / religious beliefs.
Job Skills
While the priority of social vs technical skills may be debatable, technical skills are still important. Fortunately, I've got a pretty good skillset.
Windows, Linux, Unix (SCO, AIX, or Solaris), Oracle, MySQL, MongoDB, Perl, PHP, NodeJS, Deno, Python, HTML, CSS, JavaScript, React, Vue, TailwindCSS, Bootstrap, Google Cloud Platform.
My proficiency with each of these would be a separate conversation, but I've worked with all of these technologies.
Portfolio
I don't really have a portfolio demonstrating these skills. Or, I suppose you could say I have a very disorganized portfolio presenting hundreds of projects, examples, and demos that vary greatly in size, scope, and stage of completion.
I'd like to be convinced that building a beautiful portfolio would help me in some way. I could make a concerted effort to do it, but I think anything I'd make would be an embarrassment in comparison to the deluge of demos and examples created by technical "content creators" and "influencers". Polishing old projects and building generic demo apps has no discernable benefit and playing around with new technologies and techniques is more fun.
Remote Only
I was born and raised in the United States, but I live in Malaysia. Local immigration laws and a disadvantageous political situation prevent me from working locally. I can't even work freelance for local clients. I can't open a bank account and, even if I could, I couldn't receive a paycheck because "Any form of employment is strictly prohibited" (stamped on my pass).
I have an American bank account and I'm still required to pay US taxes for any income.
Upwork, Adsense, PayPal and many other online earning resources are not accessible to me because my location and my bank's location don't match.
So, I can only work remotely for an American employer.
Health
My health just needs a little consideration. I have a minor disability and I suffer from chronic pain and insomnia. I don't need any special accommodations, but it slows me down a little. I can still produce 40 hours of high-quality work per week, but there are others who can do the same job faster and for 40-60 hours per week.
The State of Employment
The job market has been negatively impacted by a number of factors that are difficult to confirm or quantify, but we all feel it and most people will acknowledge that it's a tough job market.
There are some contentious points here, but they represent sincere concerns held by people involved in different aspects of the employment process:
- Competition: Every job has hundreds of applicants; Discussion at Glassdoor
- Fake jobs: A third of job postings are "ghost jobs"; Article at Forbes
- Unfair biases: Diversity, Equity, and Inclusion (DEI) policies often result in gender, ethnicity, or sexual orientation being used as factors in hiring decisions; Related Discusson on Reddit
- Applicant Tracking Systems (ATS): Virtually all employers and recruiters use ATS to filter out unqualified candidates, but most qualified candidates are filtered out, too. According to a study by Harvard Business School, over 90% of middle skills and high skills candidates are filtered out by ATS: This is a PDF file: Hidden Workers: Untapped Talent
If you want a tech job you should apply for hundreds of opportunities, write a custom resume for each position, connect with other employees at each company, learn in public & post about your learnings on social media (LinkedIn at least), and participate in tech events hosted locally within your community.
Money
I don't care about money. Seriously! A lot of people are enraptured by the legend of the high six-figure Software Engineer salary, but I really just want to work and feel like my work is appreciated.
You'd think that this gives me an advantage. After all, I can undercut anyone's price. But employers will judge you based on your asking price. If it's too low, they think you're not worth hiring at all. And recruiters don't want to place a candidate with a low salary. Their commissions are based on starting salary.
Naturally, I want to get paid as much as I deserve, but I don't know how much that is. I'd work for minimum wage. For me it's about doing satisfying work. I like programming and I hate the petty manipulations on both sides of the hiring process.
The Answer ...?
What's the answer? Can I get a job as a Software Engineer? Well, yeah! ... theoretically... I'm sure there are American companies with open fully remote Software Engineering jobs that I can do well. But, can I overcome my social ineptitude, bypass the ATS, and present myself as the best candidate among hundreds? ... I'm not so sure about that.