What Defines You as a "Professional" Software Engineer?
Written on
Understanding the "Professional" Software Engineer
What truly qualifies someone as a "professional" software engineer? Is it years of experience, a degree, or something entirely different?
Recently, I contributed to a discussion on Quora where various users claimed that one can’t be considered a "professional" software engineer unless they meet specific criteria. I felt compelled to elaborate on this topic, not because it’s necessary, but because I want aspiring engineers to find encouraging insights when they search for "What makes you a professional software engineer?"
Let’s delve into some of the common beliefs regarding the qualifications for being a professional software engineer.
Some argue that a degree is essential, while others believe that a minimum of one year in the field is necessary—though they often fail to clarify how many years are sufficient.
This debate has been prevalent since my entry into the industry after completing the Software Engineering Immersive program at Flatiron School in late 2017.
Since graduating, I have:
- Held three positions with various managers.
- Enjoyed a stable and increasing salary, complete with benefits and company equity.
- Authored over 100 tech articles on Medium, generating revenue.
- Written five articles for LogRocket as a paid Technical Writer.
- Conducted two webinars for Socket Mobile on React Native SDK and Flutter SDK.
Additionally, I’ve:
- Created numerous personal projects.
- Developed a range of SaaS applications, websites, and apps across my three jobs.
- Gained expertise in multiple programming languages and frameworks.
- Responded to over 150 inquiries on Stack Overflow.
- Published packages on npmjs.com and pub.dev.
While I take pride in my achievements, I share this not to boast but to illustrate that despite my qualifications, there are still individuals who dismiss my status as a "professional" software engineer for varying reasons.
The "Paraprofessional" Perspective
One prevalent viewpoint is that individuals need specific credentials or certifications to be recognized as professionals. This term often relates to roles requiring licenses, such as teaching. However, in software engineering, no such licensing is required.
It’s worth noting that even someone as influential as Elon Musk, who has significantly impacted software development, does not hold a formal degree in software engineering or computer science. Anyone suggesting he isn’t a professional should reconsider their stance.
Even if one were to label a software engineer without a degree as a paraprofessional, the fact remains that I have been compensated as a software engineer for over four years, solidifying my professional status.
The "Timekeeper" Perspective
Another argument centers on the duration of experience required to be deemed a professional. One individual suggested that merely one year is insufficient, implying that it takes longer to reach professional status.
But what constitutes "enough" time? Is it two years, three, or longer? And does duration alone define professionalism?
In my experience, the opinion that matters most comes from hiring managers, not from self-proclaimed software purists on forums.
I secured my first role as a software engineer approximately six months after starting my bootcamp, with prior knowledge of HTML and CSS. Fast forward to today, and I enjoy a good salary and benefits.
People progress at different rates, and some may require more time than others. My bootcamp experience certainly accelerated my learning compared to self-study.
What Truly Makes You A "Professional" Software Engineer?
Here’s my bold assertion: Being a professional software engineer means being compensated for your work in the field. If an employer recognizes your skills enough to pay you for them, you are indeed a professional.
This doesn’t imply you are the best in the field, but it gives you the right to identify as a professional.
What If You Haven't Been Paid Yet?
If you're still seeking employment, you may wonder if that disqualifies you as a software engineer. While you're not yet a professional in the traditional sense, it doesn't negate your skills as a software engineer.
Think of it as being an excellent cook without being a professional chef. Your cooking remains valid even if you aren’t paid for it.
You are actively writing software and creating projects, which qualifies you as a software engineer on the path to becoming a professional.
Imposter syndrome may loom, waiting to undermine your confidence. I, too, have faced it and still occasionally do. But it’s crucial not to give in.
After initially struggling in my bootcamp, I committed to pursuing this career path and saw significant improvement. Programming, like any skill, requires dedication and passion.
Stay focused on your journey. Ignore the naysayers and continue coding!
Conclusion
Many people will debate what defines a "professional" software engineer, often insisting on degrees or specific hours of experience. Your priority should not be to validate yourself to them but to demonstrate your abilities to potential employers. They are the ones that truly matter.
As long as you are employed as a software developer, you are a professional software engineer in my eyes.
And if you’re still working towards that first job, remember: as long as you’re coding and building your portfolio, you are a software engineer in the making. Imposter syndrome is part of the journey, just as failure and rejection are.
Keep pushing forward, applying, and coding! ✌️
Where are you in your coding journey? Do you have a different opinion on what defines a "professional" or "real" software engineer? I’d love to hear your thoughts in the comments!
Feel free to subscribe via email for updates on new posts!
References
Level Up Coding
Thanks for being part of our community! More content is available in the Level Up Coding publication.
Follow: Twitter, LinkedIn, Newsletter
Level Up is transforming tech recruiting 👉 Join our talent collective.
Discover the daily realities and responsibilities of professional software engineers in this insightful video.
Explore various paths to success in software engineering and learn what it truly means to be a professional in the field.