8 answers
Asked
2190 views
How competitive is the software engineering field? Will a regular bachelor's degree in computer science GUARANTEE a spot in IT? As a resident in Maryland, does being a software engineer require you to live in a urban/city area? Are their any software engineers that are successful that live in more suburban to rural areas? (I'd like to live in a suburban area)
I am a 15 year old high school student in the state of Maryland, and I have a slight interest in the field of IT (specifically software engineering). Time is running short so I'd like to ask some questions about the field.
8 answers
Teklemuz Ayenew Tesfay
Electrical Engineer, Software Developer, and Career Mentor
517
Answers
Ethiopia
Updated
Teklemuz Ayenew’s Answer
The software engineering field can be challenging, but it is rewarding and full of opportunities. A bachelor’s degree in computer science alone does not guarantee a job in IT, as employers value solid knowledge demonstrated through practical skills, personal projects, internships, volunteering, or virtual platforms. You can live anywhere you choose, as the field is convenient for remote work, provided you have a stable internet connection and the necessary equipment. Software engineering often requires a strong foundation in math and physics, especially for areas like algorithms, data structures, graphics, and simulations. Start by building a strong foundation in computer science, including data structures, algorithms, SQL, and programming languages like C++, Python, or Java. Additionally, soft skills are essential, including problem-solving, communication, collaboration, time management, and attention to detail, as these are critical for working effectively on teams and delivering quality software.
Apply what you learn by creating small projects, participating in coding challenges, hackathons, internships, or volunteering in student clubs, and exploring virtual platforms that provide free experience, such as Forage, CareerVillage, or LinkedIn Learning projects. Engage with developer communities and showcase your work on platforms like Dev.to for networking, Devpost for hackathons, and DevInternships for virtual internship opportunities. Practice problem-solving on platforms like HackerRank, LeetCode, Exercism, W3Schools, and FreeCodeCamp. Additionally, take advantage of free resources or summer programs, join professional associations and online communities, build a strong online presence, network with professionals via LinkedIn, Stack Exchange, and GitHub, craft a polished resume, and prepare a competitive portfolio. Conduct practice interviews before applying to real jobs to build confidence and improve performance. By following these steps, learning continuously, building projects, practicing problem-solving, developing soft skills, networking, and preparing thoroughly, you can become a well-prepared software engineer and be highly sought after by employers.
Apply what you learn by creating small projects, participating in coding challenges, hackathons, internships, or volunteering in student clubs, and exploring virtual platforms that provide free experience, such as Forage, CareerVillage, or LinkedIn Learning projects. Engage with developer communities and showcase your work on platforms like Dev.to for networking, Devpost for hackathons, and DevInternships for virtual internship opportunities. Practice problem-solving on platforms like HackerRank, LeetCode, Exercism, W3Schools, and FreeCodeCamp. Additionally, take advantage of free resources or summer programs, join professional associations and online communities, build a strong online presence, network with professionals via LinkedIn, Stack Exchange, and GitHub, craft a polished resume, and prepare a competitive portfolio. Conduct practice interviews before applying to real jobs to build confidence and improve performance. By following these steps, learning continuously, building projects, practicing problem-solving, developing soft skills, networking, and preparing thoroughly, you can become a well-prepared software engineer and be highly sought after by employers.
Updated
Adam’s Answer
Hi Liam, to answer your question no but yes - depending on what you exactly wish to do with software engineering and what company you wish to work for will determine in some cases where you will be located. If you wish to work for the federal government, whether defense research or within the intelligence community, then yes, you will need to move and work in a secured environment. However, if you wish to work in the private industry - more options are available to you! In my personal opinion, you should not worry as much where you live, but what you wish to do with your skills. The world of software engineering is vast and grand but you should never limit yourself depending on location - if it feels right and you can wake up everyday happy to go to work, then I would go for that. What I am trying to say is don't limit your options and career. You never know when things in business will change and maybe that job will require you to relocate, in the end, just go for what makes you happy and is financially responsible for you! Look into Cybersecurity, get certifications, and work while in college to set yourself apart from your peers, then many doors will open of which you may have never considered, good luck and never quit!
Updated
PS’s Answer
The software engineering field is more about challenges than competition. With the rise of pair programming and collaboration, engineers are working together more than ever. While there is some competition for personal growth, the focus is mainly on learning new skills, especially with the shift towards AI and machine learning.
A bachelor's degree in computer science is a great foundation for a career in IT, which is a vast field with opportunities in every business. However, no job is guaranteed, as employment depends on various factors.
Living in Maryland, you don't have to be in a city to be a successful software engineer. Remote and hybrid work options have become popular, allowing you to work from suburban or rural areas. While urban areas might have more job opportunities due to better infrastructure, suburban areas offer a great environment for building friendships and memories.
Ultimately, your goals and ambitions should guide your decisions about where to live and work. You are the best person to decide what works for you.
Build Knowledge
Complete Graduation
Set goals
A bachelor's degree in computer science is a great foundation for a career in IT, which is a vast field with opportunities in every business. However, no job is guaranteed, as employment depends on various factors.
Living in Maryland, you don't have to be in a city to be a successful software engineer. Remote and hybrid work options have become popular, allowing you to work from suburban or rural areas. While urban areas might have more job opportunities due to better infrastructure, suburban areas offer a great environment for building friendships and memories.
Ultimately, your goals and ambitions should guide your decisions about where to live and work. You are the best person to decide what works for you.
PS recommends the following next steps:
Updated
Siva’s Answer
Great question — and honestly, a lot of students feel the same way, especially with how fast AI is advancing. Many people wonder whether a CS degree will still matter by the time they graduate.
Here’s the honest truth after 25+ years in the industry and mentoring hundreds of engineers:
A regular bachelor’s degree in computer science does NOT guarantee a job — but the right habits, skills, and curiosity absolutely can.
Before you worry about competition or location, ask yourself two important questions:
1. What part of software excites me so much that I lose track of time doing it?
That could be building apps, solving algorithms, creating games, robotics, data, security — anything.
2. What am I doing every day to build confidence in that area?
Confidence doesn’t come from a degree. It comes from daily practice and learning.
When you focus on these two questions, you’ll naturally stop worrying about:
• Will AI take my job?
• Is the field too competitive?
• Do I have to live in a city?
Because you’ll be building the skills that make you valuable anywhere.
How competitive is software engineering?
It’s competitive — but it’s also one of the biggest opportunity fields in the world.
The people who stand out are the ones who:
- Keep learning
- Build real projects
- Use AI to work faster and smarter
- Solve problems, not just write code
If you focus on those four, you’ll be ahead of 90% of students.
Does a CS bachelor’s degree guarantee you a job?
Short answer: No.
But it gives you a strong foundation and opens many doors.
What guarantees opportunity is what you do outside the classroom:
- Internships
- Volunteer projects
- Personal apps or ideas you build
- Certifications or extra learning
Showing employers what you can do
Do software engineers need to live in big cities?
Absolutely not.
There are successful software engineers living in Rural Areas.
Remote work is huge in tech. Many companies don’t care where you live as long as you deliver great work. I personally know engineers who live in quiet suburbs or near the mountains and work for major companies.
If suburban living is what you prefer, you’ll be fine.
Here are a few strategies to explore as you get started:
1. Stay updated: Subscribe to tech podcasts or newsletters so you know what’s happening.
2. Learn every day: Even 30 minutes. Grow your skills and use AI tools to accelerate learning.
3. Look for volunteer or internship opportunities: Any real-world experience will set you apart.
4. Build something you care about: Pick a problem in your life or community and create a small app or solution for it.
5. Keep educating yourself: Your degree is the beginning — not the end — of your learning journey.
If you stay curious, disciplined, and passionate, you’ll do well — regardless of location.
Good luck, Liam! You’ve got a bright journey ahead.
— Siva
Here’s the honest truth after 25+ years in the industry and mentoring hundreds of engineers:
A regular bachelor’s degree in computer science does NOT guarantee a job — but the right habits, skills, and curiosity absolutely can.
Before you worry about competition or location, ask yourself two important questions:
1. What part of software excites me so much that I lose track of time doing it?
That could be building apps, solving algorithms, creating games, robotics, data, security — anything.
2. What am I doing every day to build confidence in that area?
Confidence doesn’t come from a degree. It comes from daily practice and learning.
When you focus on these two questions, you’ll naturally stop worrying about:
• Will AI take my job?
• Is the field too competitive?
• Do I have to live in a city?
Because you’ll be building the skills that make you valuable anywhere.
How competitive is software engineering?
It’s competitive — but it’s also one of the biggest opportunity fields in the world.
The people who stand out are the ones who:
- Keep learning
- Build real projects
- Use AI to work faster and smarter
- Solve problems, not just write code
If you focus on those four, you’ll be ahead of 90% of students.
Does a CS bachelor’s degree guarantee you a job?
Short answer: No.
But it gives you a strong foundation and opens many doors.
What guarantees opportunity is what you do outside the classroom:
- Internships
- Volunteer projects
- Personal apps or ideas you build
- Certifications or extra learning
Showing employers what you can do
Do software engineers need to live in big cities?
Absolutely not.
There are successful software engineers living in Rural Areas.
Remote work is huge in tech. Many companies don’t care where you live as long as you deliver great work. I personally know engineers who live in quiet suburbs or near the mountains and work for major companies.
If suburban living is what you prefer, you’ll be fine.
Here are a few strategies to explore as you get started:
1. Stay updated: Subscribe to tech podcasts or newsletters so you know what’s happening.
2. Learn every day: Even 30 minutes. Grow your skills and use AI tools to accelerate learning.
3. Look for volunteer or internship opportunities: Any real-world experience will set you apart.
4. Build something you care about: Pick a problem in your life or community and create a small app or solution for it.
5. Keep educating yourself: Your degree is the beginning — not the end — of your learning journey.
If you stay curious, disciplined, and passionate, you’ll do well — regardless of location.
Good luck, Liam! You’ve got a bright journey ahead.
— Siva
Updated
David’s Answer
That's a smart set of questions to be asking at 15. The software engineering field is highly competitive, especially at the entry-level for new college graduates, but the overall long-term demand remains strong. While the job market is projected to grow significantly (around 17% through 2033), companies are increasingly selective, with a shift toward hiring experienced developers and those with specialized skills in areas like AI/Machine Learning, Cloud Engineering, and Cybersecurity . A regular Bachelor's degree in Computer Science is an excellent and often preferred foundation, but it is not a guarantee of an IT spot; you must combine it with hands-on experience (internships, personal projects, a strong GitHub portfolio) and relevant skills to stand out. The degree gets your resume past the HR filter, but your demonstrable skills land you the interview and the job.
As a resident of Maryland, you are in luck because the state has major tech and government centers that support a preference for suburban living. While large companies and the highest concentration of jobs (especially high-paying defense/cyber roles with clearances) are near urban hubs like Baltimore, Bethesda, Annapolis Junction, and Columbia, many of these "hubs" are located in suburban areas with ample commuting and parking, fitting your preference perfectly. Furthermore, the rise of remote and hybrid work has made living in more suburban or even rural areas highly viable for software engineers . There are countless successful software engineers who live outside of major cities, particularly those with a few years of experience who can negotiate for a fully remote position or work for companies that are already fully distributed, so your desire for a suburban lifestyle is completely achievable.
As a resident of Maryland, you are in luck because the state has major tech and government centers that support a preference for suburban living. While large companies and the highest concentration of jobs (especially high-paying defense/cyber roles with clearances) are near urban hubs like Baltimore, Bethesda, Annapolis Junction, and Columbia, many of these "hubs" are located in suburban areas with ample commuting and parking, fitting your preference perfectly. Furthermore, the rise of remote and hybrid work has made living in more suburban or even rural areas highly viable for software engineers . There are countless successful software engineers who live outside of major cities, particularly those with a few years of experience who can negotiate for a fully remote position or work for companies that are already fully distributed, so your desire for a suburban lifestyle is completely achievable.
Updated
Michelle’s Answer
Hello, Liam !
I am not a computer person, however it is wonderful that you are exploring a possible career in IT and I would like to offer some general advice about how to explore a career.
The best way to explore a possible career would be to look at the actual work involved as well as the academic path and what that contains and see if it is something that appeals to you. No one can tell you how your college experience and your career would be, so focus on the courses and degree you'd need as well as what exact position working with computers you'd want.
There are no guarantees for any job. You would have to want to learn everything you can about computer science and like school and want to go to college. A Bachelors Degree is indeed a sufficient college degree for computer work. But like I've said, it's a matter of applying for a position and waiting to hear back for an interview. Having great interviewing skills will help, but it is up to the employer to make the choice of who to hire and it's that way with every field of work.
Maryland as a whole ranks pretty high for computer work. Maryland's computer and information technology sector is a significant and growing component of the state's economy, characterized by a strong workforce, innovation, and strategic government initiatives. It's a good state to be in for computer careers and you can keep up with Maryland's ranking by periodically checking it with the Milken Institute's State Technology and Science Index. You can check computer jobs at employment websites located in your town to see what the current positions are and as you move along keep track of the companies that hire and where they are located.
Yes, you can have a satisfying career in computer work living in suburban Maryland. Several companies in suburban Maryland are recognized as great places to work. Inc Magazine’s 2025 list of Best Workplaces includes 23 Maryland based companies, many located in suburban areas. You can start reading Inc Magazine to keep up with various business careers. So based on the statistics you can find about suburban Maryland, it looks like there is indeed opportunity for a career while living in a suburban area.
You do have ample time to explore careers, so time is certainly not "running out". You should choose the career first, no matter which one it would be, and from that explore college majors because you'll want your degree to qualify you for your particular chosen career.
I hope this helps for a start and I wish you all the best
I am not a computer person, however it is wonderful that you are exploring a possible career in IT and I would like to offer some general advice about how to explore a career.
The best way to explore a possible career would be to look at the actual work involved as well as the academic path and what that contains and see if it is something that appeals to you. No one can tell you how your college experience and your career would be, so focus on the courses and degree you'd need as well as what exact position working with computers you'd want.
There are no guarantees for any job. You would have to want to learn everything you can about computer science and like school and want to go to college. A Bachelors Degree is indeed a sufficient college degree for computer work. But like I've said, it's a matter of applying for a position and waiting to hear back for an interview. Having great interviewing skills will help, but it is up to the employer to make the choice of who to hire and it's that way with every field of work.
Maryland as a whole ranks pretty high for computer work. Maryland's computer and information technology sector is a significant and growing component of the state's economy, characterized by a strong workforce, innovation, and strategic government initiatives. It's a good state to be in for computer careers and you can keep up with Maryland's ranking by periodically checking it with the Milken Institute's State Technology and Science Index. You can check computer jobs at employment websites located in your town to see what the current positions are and as you move along keep track of the companies that hire and where they are located.
Yes, you can have a satisfying career in computer work living in suburban Maryland. Several companies in suburban Maryland are recognized as great places to work. Inc Magazine’s 2025 list of Best Workplaces includes 23 Maryland based companies, many located in suburban areas. You can start reading Inc Magazine to keep up with various business careers. So based on the statistics you can find about suburban Maryland, it looks like there is indeed opportunity for a career while living in a suburban area.
You do have ample time to explore careers, so time is certainly not "running out". You should choose the career first, no matter which one it would be, and from that explore college majors because you'll want your degree to qualify you for your particular chosen career.
I hope this helps for a start and I wish you all the best
Updated
CHIRANJEEVI’s Answer
Hi Liam, Software engineering is an exciting field with lots of opportunities and new advancements every day. While no degree guarantees a job, a computer science degree is highly valued and can open many doors. Maryland has many tech hubs near cities like DC, Baltimore, and Columbia, but remote and hybrid work options are also very common. Many software jobs are fully remote, making it one of the most flexible professions worldwide. Best of luck!
Sanjana Tiwari
Investment Advisory and Management Consulting
3
Answers
England, England, United Kingdom
Updated
Sanjana’s Answer
Software engineering has experienced sustained growth for more than two decades, naturally attracting strong talent and creating a competitive landscape. However, this growth also translates into abundant opportunities for those who position themselves strategically.
To differentiate yourself in this field, consider deepening your expertise beyond a foundational computer science degree through one of two paths:
1) Vertical specialization: Pursue advanced degrees (MS or PhD) in high-growth areas within computer science—such as machine learning, cybersecurity, distributed systems, or cloud architecture.
2) Horizontal expansion: Combine technical skills with domain expertise through electives, internships, or graduate studies in complementary fields. This cross-functional approach—pairing computer science with finance, healthcare, design, or other industries—can make you invaluable in specialized sectors.
Your chosen path will naturally influence where and how you work. While software engineering offers unparalleled flexibility in work arrangements—remote, hybrid, or in-office—I'd encourage you to prioritize learning opportunities over location convenience early in your career. The mentorship, collaboration, and knowledge transfer that happens in physical office environments shouldn't be underestimated, particularly when you're building foundational skills.
Also recognize that headquarters typically offer different experiences than regional offices—often featuring more complex projects, senior talent, and strategic initiatives. In your formative years, these environmental factors can significantly accelerate your growth trajectory, so approach these decisions thoughtfully rather than defaulting to convenience.
To differentiate yourself in this field, consider deepening your expertise beyond a foundational computer science degree through one of two paths:
1) Vertical specialization: Pursue advanced degrees (MS or PhD) in high-growth areas within computer science—such as machine learning, cybersecurity, distributed systems, or cloud architecture.
2) Horizontal expansion: Combine technical skills with domain expertise through electives, internships, or graduate studies in complementary fields. This cross-functional approach—pairing computer science with finance, healthcare, design, or other industries—can make you invaluable in specialized sectors.
Your chosen path will naturally influence where and how you work. While software engineering offers unparalleled flexibility in work arrangements—remote, hybrid, or in-office—I'd encourage you to prioritize learning opportunities over location convenience early in your career. The mentorship, collaboration, and knowledge transfer that happens in physical office environments shouldn't be underestimated, particularly when you're building foundational skills.
Also recognize that headquarters typically offer different experiences than regional offices—often featuring more complex projects, senior talent, and strategic initiatives. In your formative years, these environmental factors can significantly accelerate your growth trajectory, so approach these decisions thoughtfully rather than defaulting to convenience.
Delete Comment
Flag Comment