I was a CISO for some twenty years, and over that time, I have hired over a hundred information security professionals. I have hired network engineers to help with infrastructure security. I have hired software engineers to help with application security. I have hired psychologists to explain why our employees made poor risk decisions and to design strategies for helping them to make better ones. I hired marketing and communications professionals to help design security awareness campaigns that people would pay attention to. And I hired lawyers (soooo many lawyers).
Information Security is a br
I was a CISO for some twenty years, and over that time, I have hired over a hundred information security professionals. I have hired network engineers to help with infrastructure security. I have hired software engineers to help with application security. I have hired psychologists to explain why our employees made poor risk decisions and to design strategies for helping them to make better ones. I hired marketing and communications professionals to help design security awareness campaigns that people would pay attention to. And I hired lawyers (soooo many lawyers).
Information Security is a broad field. You can come into it from many angles. If you love to code, go into software engineering, but don’t go into it if don’t love coding. Do what most interests you, and then apply that to cybersecurity. You will be happier.
Where do I start?
I’m a huge financial nerd, and have spent an embarrassing amount of time talking to people about their money habits.
Here are the biggest mistakes people are making and how to fix them:
Not having a separate high interest savings account
Having a separate account allows you to see the results of all your hard work and keep your money separate so you're less tempted to spend it.
Plus with rates above 5.00%, the interest you can earn compared to most banks really adds up.
Here is a list of the top savings accounts available today. Deposit $5 before moving on because this is one of th
Where do I start?
I’m a huge financial nerd, and have spent an embarrassing amount of time talking to people about their money habits.
Here are the biggest mistakes people are making and how to fix them:
Not having a separate high interest savings account
Having a separate account allows you to see the results of all your hard work and keep your money separate so you're less tempted to spend it.
Plus with rates above 5.00%, the interest you can earn compared to most banks really adds up.
Here is a list of the top savings accounts available today. Deposit $5 before moving on because this is one of the biggest mistakes and easiest ones to fix.
Overpaying on car insurance
You’ve heard it a million times before, but the average American family still overspends by $417/year on car insurance.
If you’ve been with the same insurer for years, chances are you are one of them.
Pull up Coverage.com, a free site that will compare prices for you, answer the questions on the page, and it will show you how much you could be saving.
That’s it. You’ll likely be saving a bunch of money. Here’s a link to give it a try.
Consistently being in debt
If you’ve got $10K+ in debt (credit cards…medical bills…anything really) you could use a debt relief program and potentially reduce by over 20%.
Here’s how to see if you qualify:
Head over to this Debt Relief comparison website here, then simply answer the questions to see if you qualify.
It’s as simple as that. You’ll likely end up paying less than you owed before and you could be debt free in as little as 2 years.
Missing out on free money to invest
It’s no secret that millionaires love investing, but for the rest of us, it can seem out of reach.
Times have changed. There are a number of investing platforms that will give you a bonus to open an account and get started. All you have to do is open the account and invest at least $25, and you could get up to $1000 in bonus.
Pretty sweet deal right? Here is a link to some of the best options.
Having bad credit
A low credit score can come back to bite you in so many ways in the future.
From that next rental application to getting approved for any type of loan or credit card, if you have a bad history with credit, the good news is you can fix it.
Head over to BankRate.com and answer a few questions to see if you qualify. It only takes a few minutes and could save you from a major upset down the line.
How to get started
Hope this helps! Here are the links to get started:
Have a separate savings account
Stop overpaying for car insurance
Finally get out of debt
Start investing with a free bonus
Fix your credit
Software, in my biased personal opinion.
I am a software guy, that works with hardware engineers literally all day, every day, I devise the algorithms that are used in new sensors and control devices within chips.
Now the hardware is important, certainly, and still a growth field, new stuff is being invented at an astonishing pace, by geniuses in hardware development.
But how many computer engineers do you need to create a new computer? Some thousands, for a year or two.
Once the world adopts your new hardware, how many software engineering types will you need to provide programming for it? Some m
Software, in my biased personal opinion.
I am a software guy, that works with hardware engineers literally all day, every day, I devise the algorithms that are used in new sensors and control devices within chips.
Now the hardware is important, certainly, and still a growth field, new stuff is being invented at an astonishing pace, by geniuses in hardware development.
But how many computer engineers do you need to create a new computer? Some thousands, for a year or two.
Once the world adopts your new hardware, how many software engineering types will you need to provide programming for it? Some millions, for years on end.
Even if we stop designing new microprocessors, GPUs, controllers, etc, right now, we will be engineering software to run on those devices basically forever.
We could stop development now and just produce exactly all the same CPUs, controllers, GPUs, etc that are on the shelf and available today, and still be writing new applications, games, simulations, etc a century from now.
The processors are like electric stoves. You can design one very good electric stove, go through a few generations of it to get the bugs out; and then fire the design team, and manufacture and sell that exact same stove for decades on end, to millions of buyers, each of which will cook different things on it, inventing different dishes and recipes.
There is, apparently, an infinite amount and variety of software that people want invented.
We all appreciate new hardware, faster, more energy efficient, bigger memory, etc. But it wouldn’t be a disaster for most consumers if advancements in that technology just stalled out; most people would not even notice.
But on that advanced-as-it-gets hardware, there is always, always, an apparently infinite demand for new software, with more features, easier to use, doing more work for us.
AI is affecting both jobs equally; my employer is already selling very sophisticated AI that aids hardware engineers and designers, and accelerates their work. And there are several very good AI that are providing assistance to software engineers, and accelerating their work.
But that imbalance remains. Hardware engineers are tool producers. Software engineers are tool users. The job opportunities for the tool users far outnumber the job opportunities for the tool makers.
Well, my dear friend, if you want to become a cybersecurity expert, studying computer engineering is a fantastic idea! Computer engineering can give you a strong foundation in hardware and software development, which is essential for understanding how cybersecurity threats work and how to prevent them.
In fact, by studying computer engineering, you can gain the technical skills and knowledge necessary to create secure systems, develop encryption algorithms, and design firewalls. These skills are highly valued in the cybersecurity field, and having them can open up many job opportunities.
So, my
Well, my dear friend, if you want to become a cybersecurity expert, studying computer engineering is a fantastic idea! Computer engineering can give you a strong foundation in hardware and software development, which is essential for understanding how cybersecurity threats work and how to prevent them.
In fact, by studying computer engineering, you can gain the technical skills and knowledge necessary to create secure systems, develop encryption algorithms, and design firewalls. These skills are highly valued in the cybersecurity field, and having them can open up many job opportunities.
So, my friend, if you want to secure a successful career in cybersecurity, consider studying computer engineering. And remember to upvote this answer and share it with your friends!
Here is the thing: it doesn't matter what you study.
You need to take control of your education and study what you find interesting, and if you find security interesting, then you need to study it on your own.
A college degree is great as a way to get your foot in the door, but it isn't the best way to decide what to do with your life.
Pick up security side projects and free-lance in the security sector.
Here’s the thing: I wish I had known these money secrets sooner. They’ve helped so many people save hundreds, secure their family’s future, and grow their bank accounts—myself included.
And honestly? Putting them to use was way easier than I expected. I bet you can knock out at least three or four of these right now—yes, even from your phone.
Don’t wait like I did. Go ahead and start using these money secrets today!
1. Cancel Your Car Insurance
You might not even realize it, but your car insurance company is probably overcharging you. In fact, they’re kind of counting on you not noticing. Luckily,
Here’s the thing: I wish I had known these money secrets sooner. They’ve helped so many people save hundreds, secure their family’s future, and grow their bank accounts—myself included.
And honestly? Putting them to use was way easier than I expected. I bet you can knock out at least three or four of these right now—yes, even from your phone.
Don’t wait like I did. Go ahead and start using these money secrets today!
1. Cancel Your Car Insurance
You might not even realize it, but your car insurance company is probably overcharging you. In fact, they’re kind of counting on you not noticing. Luckily, this problem is easy to fix.
Don’t waste your time browsing insurance sites for a better deal. A company called Insurify shows you all your options at once — people who do this save up to $996 per year.
If you tell them a bit about yourself and your vehicle, they’ll send you personalized quotes so you can compare them and find the best one for you.
Tired of overpaying for car insurance? It takes just five minutes to compare your options with Insurify and see how much you could save on car insurance.
2. Ask This Company to Get a Big Chunk of Your Debt Forgiven
A company called National Debt Relief could convince your lenders to simply get rid of a big chunk of what you owe. No bankruptcy, no loans — you don’t even need to have good credit.
If you owe at least $10,000 in unsecured debt (credit card debt, personal loans, medical bills, etc.), National Debt Relief’s experts will build you a monthly payment plan. As your payments add up, they negotiate with your creditors to reduce the amount you owe. You then pay off the rest in a lump sum.
On average, you could become debt-free within 24 to 48 months. It takes less than a minute to sign up and see how much debt you could get rid of.
3. You Can Become a Real Estate Investor for as Little as $10
Take a look at some of the world’s wealthiest people. What do they have in common? Many invest in large private real estate deals. And here’s the thing: There’s no reason you can’t, too — for as little as $10.
An investment called the Fundrise Flagship Fund lets you get started in the world of real estate by giving you access to a low-cost, diversified portfolio of private real estate. The best part? You don’t have to be the landlord. The Flagship Fund does all the heavy lifting.
With an initial investment as low as $10, your money will be invested in the Fund, which already owns more than $1 billion worth of real estate around the country, from apartment complexes to the thriving housing rental market to larger last-mile e-commerce logistics centers.
Want to invest more? Many investors choose to invest $1,000 or more. This is a Fund that can fit any type of investor’s needs. Once invested, you can track your performance from your phone and watch as properties are acquired, improved, and operated. As properties generate cash flow, you could earn money through quarterly dividend payments. And over time, you could earn money off the potential appreciation of the properties.
So if you want to get started in the world of real-estate investing, it takes just a few minutes to sign up and create an account with the Fundrise Flagship Fund.
This is a paid advertisement. Carefully consider the investment objectives, risks, charges and expenses of the Fundrise Real Estate Fund before investing. This and other information can be found in the Fund’s prospectus. Read them carefully before investing.
4. Earn Up to $50 this Month By Answering Survey Questions About the News — It’s Anonymous
The news is a heated subject these days. It’s hard not to have an opinion on it.
Good news: A website called YouGov will pay you up to $50 or more this month just to answer survey questions about politics, the economy, and other hot news topics.
Plus, it’s totally anonymous, so no one will judge you for that hot take.
When you take a quick survey (some are less than three minutes), you’ll earn points you can exchange for up to $50 in cash or gift cards to places like Walmart and Amazon. Plus, Penny Hoarder readers will get an extra 500 points for registering and another 1,000 points after completing their first survey.
It takes just a few minutes to sign up and take your first survey, and you’ll receive your points immediately.
5. Get Up to $300 Just for Setting Up Direct Deposit With This Account
If you bank at a traditional brick-and-mortar bank, your money probably isn’t growing much (c’mon, 0.40% is basically nothing).
But there’s good news: With SoFi Checking and Savings (member FDIC), you stand to gain up to a hefty 3.80% APY on savings when you set up a direct deposit or have $5,000 or more in Qualifying Deposits and 0.50% APY on checking balances — savings APY is 10 times more than the national average.
Right now, a direct deposit of at least $1K not only sets you up for higher returns but also brings you closer to earning up to a $300 welcome bonus (terms apply).
You can easily deposit checks via your phone’s camera, transfer funds, and get customer service via chat or phone call. There are no account fees, no monthly fees and no overdraft fees. And your money is FDIC insured (up to $3M of additional FDIC insurance through the SoFi Insured Deposit Program).
It’s quick and easy to open an account with SoFi Checking and Savings (member FDIC) and watch your money grow faster than ever.
Read Disclaimer
5. Stop Paying Your Credit Card Company
If you have credit card debt, you know. The anxiety, the interest rates, the fear you’re never going to escape… but a website called AmONE wants to help.
If you owe your credit card companies $100,000 or less, AmONE will match you with a low-interest loan you can use to pay off every single one of your balances.
The benefit? You’ll be left with one bill to pay each month. And because personal loans have lower interest rates (AmONE rates start at 6.40% APR), you’ll get out of debt that much faster.
It takes less than a minute and just 10 questions to see what loans you qualify for.
6. Lock In Affordable Term Life Insurance in Minutes.
Let’s be honest—life insurance probably isn’t on your list of fun things to research. But locking in a policy now could mean huge peace of mind for your family down the road. And getting covered is actually a lot easier than you might think.
With Best Money’s term life insurance marketplace, you can compare top-rated policies in minutes and find coverage that works for you. No long phone calls. No confusing paperwork. Just straightforward quotes, starting at just $7 a month, from trusted providers so you can make an informed decision.
The best part? You’re in control. Answer a few quick questions, see your options, get coverage up to $3 million, and choose the coverage that fits your life and budget—on your terms.
You already protect your car, your home, even your phone. Why not make sure your family’s financial future is covered, too? Compare term life insurance rates with Best Money today and find a policy that fits.
All three fields—data analysis, software engineering, and cyber security—have strong future prospects. Software engineering will continue to drive technology advancements, data analysis will grow as data becomes increasingly valuable, and cyber security will remain crucial due to rising cyber threats. The best choice depends on your interests and the specific demands of each field. For more details, visit my Quora Profile!
Well I'm almost done with my first year of engineering.. I had taken electronics and Communication engineering.. I had consulted many people regarding the scope for Electronics and Communication field including EC engineers and they all had suggested ne to shift into mechatronics( since I started builting interest in that field) there r many people who r struggling for a job in the field of communication as per the people I have consulted... Whereas mechatronics is a very fresh and a very very interesting field which gives u an advantage of getting into the mechanical field as well as electro
Well I'm almost done with my first year of engineering.. I had taken electronics and Communication engineering.. I had consulted many people regarding the scope for Electronics and Communication field including EC engineers and they all had suggested ne to shift into mechatronics( since I started builting interest in that field) there r many people who r struggling for a job in the field of communication as per the people I have consulted... Whereas mechatronics is a very fresh and a very very interesting field which gives u an advantage of getting into the mechanical field as well as electronics field and even electrical field and in case u wanna pursue Ur masters it becomes really easy for u.. So as per my suggestion I would say Get into mechatronics as it's a very very vast field....
But at the end of the u have to study and all depends on Ur interest.. If u have passion for Electronics get into electronics and in case u have in mechatronics get into mechatronics..
All the best buddy
I've been out of work 2 weeks in 30 years. It's fairly solid.
Having said that, there are definitely cycles, and the weaker developers and managers do tend to get weeded out in those times.
Be respectful and polite at all times, keep learning, and work hard. It's a smaller world than you think such that you will keep seeing the same people repeatedly in your career.
Make sure those people say, “Oh, that guy. I love working with that guy,” and you're set.
the top best field of computer enginerings are:
- Artificial Intelligence and Machine Learning
- Cybersecurity
- Data Science and Big Data Analytics
- Cloud Computing
- Mobile and Web Application Development
- Internet of Things (IoT)
- Computer Graphics and Gaming
- Robotics and Control Systems
- Computer Networks and Communications
- Embedded Systems and Firmware
Like many of you reading this, I’ve been looking for ways to earn money online in addition to my part-time job. But you know how it is – the internet is full of scams and shady-grady stuff, so I spent weeks trying to find something legit. And I finally did!
Freecash surprised me in all the right ways. I’ve earned over $1,000 in one month without ‘living’ on the platform. I was skeptical right up until the moment I cashed out to my PayPal.
What is Freecash all about?
Basically, it’s a platform that pays you for testing apps and games and completing surveys. This helps developers improve their appl
Like many of you reading this, I’ve been looking for ways to earn money online in addition to my part-time job. But you know how it is – the internet is full of scams and shady-grady stuff, so I spent weeks trying to find something legit. And I finally did!
Freecash surprised me in all the right ways. I’ve earned over $1,000 in one month without ‘living’ on the platform. I was skeptical right up until the moment I cashed out to my PayPal.
What is Freecash all about?
Basically, it’s a platform that pays you for testing apps and games and completing surveys. This helps developers improve their applications while you make some money.
- You can earn by downloading apps, testing games, or completing surveys. I love playing games, so that’s where most of my earnings came from (oh, and my favorites were Warpath, Wild Fish, and Domino Dreams).
- There’s a variety of offers (usually, the higher-paying ones take more time).
- Some games can pay up to $1,000 for completing a task, but these typically require more hours to finish.
- On average, you can easily earn $30–50/day.
- You pick your options — you’re free to choose whatever apps, games, and surveys you like.
Of course, it’s not like you can spend 5 minutes a day and become a millionaire. But you can build a stable income in reasonable time, especially if you turn it into a daily habit.
Why did I like Freecash?
- It’s easy. I mean it. You don’t have to do anything complicated. All you need is to follow the task and have some free time to spend on it. For some reason, I especially enjoyed the game Domino Dreams. My initial goal was to complete chapter 10 to get my first $30, but I couldn’t stop playing and ended up completing chapter 15. It was lots of fun and also free money: $400 from that game alone.
- No experience needed. Even if you’ve never done any ‘testing’ before, you can do this. You get straightforward task descriptions, so it’s impossible to go wrong. A task you might expect is something like: Download this game and complete all challenges in 14 days.
- You can do it from anywhere. I was earning money while taking the bus, chilling on the couch, and during my breaks.
- Fast cashing out. I had my earnings in my PayPal account in less than 1 day. I’m not sure how long it takes for other withdrawal methods (crypto, gift cards, etc.), but it should be fast as well.
- You can earn a lot if you’re consistent. I’ve literally seen users in the Leaderboard making $3,000 in just one month. Of course, to get there, you need time, but making a couple of hundred dollars is really easy and relatively fast for anyone.
Don’t miss these PRO tips to earn more:
I feel like most users don’t know about these additional ways to make more money with Freecash:
- Free promo codes: You can follow Freecash on social media to get weekly promo codes for free coins, which you can later exchange for money.
- Daily rewards and bonuses: If you use the platform daily, you’ll get additional bonuses that help you earn more.
- In-app purchases to speed up processes: While playing, you can buy items to help speed up task completion. It’s optional, but it really saved me time, and I earned 4x more than I spent.
- Choose the highest-paying offers: Check New Offers and Featured Offers to get the best opportunities that pay the most.
Honestly, I still can’t believe I was able to earn this much so easily. And I’ve actually enjoyed the whole process. So, if you’re looking for some truly legit ways to earn money online, Freecash is a very good option.
Term “software engineering” was invented for the 1968 NATO conference which was focus on the “software crisis.”
Some people consider computer science and software engineering different disciplines.
I don’t.
I see software engineering as focused subset of computer science.
I see software engineering as focused on the project management of software development. This would include team process, what software tools are used, and how software goes from requirements or customer interveiw to delivered product.
In today's rapidly evolving digital landscape, where cyber threats are constantly on the rise, a career in cybersecurity has become increasingly attractive. Cybersecurity professionals play a vital role in protecting sensitive information, securing networks, and mitigating cyber risks. If you're considering a career in this field, studying computer engineering can indeed be a wise decision with several benefits.
One of the key advantages of studying computer engineering for a career in cybersecurity is the strong foundation it provides. Computer engineering programs typically cover a wide range
In today's rapidly evolving digital landscape, where cyber threats are constantly on the rise, a career in cybersecurity has become increasingly attractive. Cybersecurity professionals play a vital role in protecting sensitive information, securing networks, and mitigating cyber risks. If you're considering a career in this field, studying computer engineering can indeed be a wise decision with several benefits.
One of the key advantages of studying computer engineering for a career in cybersecurity is the strong foundation it provides. Computer engineering programs typically cover a wide range of subjects, including programming, computer systems, networking, and software development. This comprehensive knowledge equips you with a solid understanding of the underlying technologies and systems that cyber attackers exploit. By studying computer engineering, you gain a deep insight into how computers and networks function, enabling you to better detect vulnerabilities and develop effective security measures.
Furthermore, computer engineering offers a hands-on approach to learning. Through practical projects, labs, and internships, you can gain valuable experience in designing, building, and maintaining computer systems. This practical exposure allows you to develop problem-solving skills, critical thinking abilities, and a strong analytical mindset—essential qualities for a successful career in cybersecurity.
Moreover, computer engineering programs often include specialized courses in cybersecurity. These courses delve into topics such as network security, cryptography, ethical hacking, and incident response. By studying these subjects, you acquire specialized knowledge and skills directly applicable to the field of cybersecurity. This expertise enhances your ability to identify and mitigate security threats, develop secure systems, and effectively respond to cyber incidents.
Additionally, the demand for professionals with a strong technical background in computer engineering and cybersecurity is continuously growing. Employers are seeking individuals who can bridge the gap between technology and security, and a combination of computer engineering skills with cybersecurity expertise makes you a highly desirable candidate. It opens up a wide range of career opportunities in various sectors, including government agencies, financial institutions, technology companies, and consulting firms.
Choosing between a career in software engineering and cybersecurity depends on your interests and skills, as both fields have promising futures.
Software Engineering: Ideal for those who enjoy creating and building software. It's a field with consistent demand, focusing on developing applications and systems.
Cybersecurity: Perfect if you're interested in protecting data and systems against digital threats. This field is growing rapidly due to the increasing need for robust security measures in our digital world.
Both careers offer exciting opportunities and are crucial in the tech industry. Your
Choosing between a career in software engineering and cybersecurity depends on your interests and skills, as both fields have promising futures.
Software Engineering: Ideal for those who enjoy creating and building software. It's a field with consistent demand, focusing on developing applications and systems.
Cybersecurity: Perfect if you're interested in protecting data and systems against digital threats. This field is growing rapidly due to the increasing need for robust security measures in our digital world.
Both careers offer exciting opportunities and are crucial in the tech industry. Your choice should align with what you find most engaging and where your skills lie.
If you're interested in understanding how companies operate in both the software engineering and cybersecurity fields, I recommend reading the article "Top 10 Software Development Companies." It provides insights into how leading companies excel in these areas, offering a closer look at industry practices and innovations. Read the article here. This resource can be particularly helpful in getting a comprehensive view of the landscape in both domains
Absolutely; I'm living proof that you can. As a computer engineer you also have software development skills on top of low level knowledge in electronics. As long as you have the skills then you can definitely do this. In fact, I think it makes you more marketable. Now at days the word “engineer” has lost its luster; everybody is called an engineer even if your job has nothing to do with engineering. My first job out of college was as a “systems engineer” which had nothing to do with systems nor engineering. It was more of a glorified button pusher job really. The point is, people respect and a
Absolutely; I'm living proof that you can. As a computer engineer you also have software development skills on top of low level knowledge in electronics. As long as you have the skills then you can definitely do this. In fact, I think it makes you more marketable. Now at days the word “engineer” has lost its luster; everybody is called an engineer even if your job has nothing to do with engineering. My first job out of college was as a “systems engineer” which had nothing to do with systems nor engineering. It was more of a glorified button pusher job really. The point is, people respect and admire engineers (at least in the USA and Latin America) and they should. Not everyone has the determination and perseverance to be one and that makes you stand out. You can do anything you want in life but whatever it is make sure you absolutely love it.
“Software Engineering” is a sub-speciality of Computer Science. Having done both that is my opinion.
The influence of “Systems Engineering” on software development is not well understood. Having worked (and had training) as a “Systems Engineer” for seven years I have seen this a big problem. As “Software Engineer” as a title should address the gap between Systems Engineering and Software Development. But as it is current implemented Software Engineering does not.
Here is detail example of the gap between Systems Engineering and Software Development:
I was in the role of software developer. I was
“Software Engineering” is a sub-speciality of Computer Science. Having done both that is my opinion.
The influence of “Systems Engineering” on software development is not well understood. Having worked (and had training) as a “Systems Engineer” for seven years I have seen this a big problem. As “Software Engineer” as a title should address the gap between Systems Engineering and Software Development. But as it is current implemented Software Engineering does not.
Here is detail example of the gap between Systems Engineering and Software Development:
I was in the role of software developer. I was given some Java Code to fix. It was program to receive messages from a TCP/IP connection.
I read the code and there was no routine to recognize "end of message." With TCP/IP being a stream, an end of message can be in band by message header or separators. Or can be the closing of the connection.
I looked at the design. No word of about end of message.
I looked at the Systems Engineering created document call "ICD" or Interface Control Document. This document is to describe the interfaces between hardware and/or software system components. There is not a reference to "end of message."
I then look at the original System Specification. A System Specification is the a document that Systems Engineering used to do their functional decomposition in assiging requirement to function units and the source to write the ICD. It was in this document that contained "end of message." It said the end of message was closing the TCP/IP connection.
Systems Engineering did not understand TCP/IP and did not forward to Software Development the End of Message requirements.
A Systems Engineer asked me to "write a few paragraphs explaining TCP/IP". I pondered the futility of how do I condense a thousand page book on networking in to a few paragraphs.
In my experience in Computer Centric systems, like found in Aerospace, Defense, and Space systems, the best Systems Engineers were former Software Developers.
Not really, no.
Software development at most companies is project work. It’s like building a skyscraper or an aircraft carrier. Every big project comes to an end, and if the economy is not strong at the time a project ends, the project team is at risk to be laid off because they’ve worked themselves out of a job.
For software developers, job security comes from keeping skills up-to-date. so that the developer has many choices of new employers when they get laid off. When business is booming, a software developer may be the most employable person they know.
But if there is a significant downturn i
Not really, no.
Software development at most companies is project work. It’s like building a skyscraper or an aircraft carrier. Every big project comes to an end, and if the economy is not strong at the time a project ends, the project team is at risk to be laid off because they’ve worked themselves out of a job.
For software developers, job security comes from keeping skills up-to-date. so that the developer has many choices of new employers when they get laid off. When business is booming, a software developer may be the most employable person they know.
But if there is a significant downturn in the software industry, as is apparently happening in the spring of 2023, there is a risk that literally no one is hiring. Developers who have jobs still feel very employable, but devs who are between jobs can’t even find a place to send a resume. When things turn around in a year or so, they will be sought-after again, but being an unemployed software developer in a downturn can expose you to a whole year of unpaid time off.
Some people might be envious, thinking, “With all they make, who wouldn’t want a year off?” That’s great, but the unemployed developer doesn’t know looking forward how long it will take to find work. You can’t just run off to Hawaii for 12 months expecting to get a new job the week you get back. That kind of takes the fun out of being at leisure. This uncertainty makes one cautious about spending, which interferes with the party mood.
The terms computer science and software engineering only have meaning in a specific situation. You will have to look at the actual courses for each degree and compare them.
It is hard to understand the content of a course from a catalog and you won’t know the professors. A good professor is worth taking even in a course that otherwise wouldn’t be helpful.
The courses will also become clearer once you get started. You won’t know if you like algorithms or despise them until you actually work with them.
My suggestion is to get in the best school you can afford. Then once you start you will be able t
The terms computer science and software engineering only have meaning in a specific situation. You will have to look at the actual courses for each degree and compare them.
It is hard to understand the content of a course from a catalog and you won’t know the professors. A good professor is worth taking even in a course that otherwise wouldn’t be helpful.
The courses will also become clearer once you get started. You won’t know if you like algorithms or despise them until you actually work with them.
My suggestion is to get in the best school you can afford. Then once you start you will be able to make the choice. At most schools you can change your major with little or no penalty.
I went from EE to CS many years ago and most of the EE courses were applied to CS electives.
Your degree is to get you started. You will continue to learn throughout your career.
Depends. There are THREE main divisions:
Computer Science: these folks are concerned with math and algorithms. They may write stuff like operating systems, compilers, encryption apps, etc.
Computer Engineers: these folks are a subspecies of electrical engineers mated with computer scientists. They design the actual hardware the software in embedded systems runs on (everything from your stove to your car to avionics) and all those chips in your pc and phone.
Software Engineers: (once called Scientific Programmers) build and maintain software systems using the algorithms from computer science. Thes
Depends. There are THREE main divisions:
Computer Science: these folks are concerned with math and algorithms. They may write stuff like operating systems, compilers, encryption apps, etc.
Computer Engineers: these folks are a subspecies of electrical engineers mated with computer scientists. They design the actual hardware the software in embedded systems runs on (everything from your stove to your car to avionics) and all those chips in your pc and phone.
Software Engineers: (once called Scientific Programmers) build and maintain software systems using the algorithms from computer science. These folks write applications like CAD, database, banking, google, gps, AI applications, etc.
There is a lot of overlap. Computer Science is more theoretical, and Software Engineering is more practical, but my experience is that they are pretty indistinguishable after about 5 years in the workforce.
Yes. It can be a good option if you want to pursue a career in cybersecurity. Cybersecurity is an interdisciplinary field, so a computer engineering education can provide a solid foundation for a career in cybersecurity.
There you will be better able to develop in programming, systems architecture, networking and computer security, which are relevant to cybersecurity.
Moreover, it is a constantly evolving field. This is extremely important in an era with so many constant changes.
Depends on your interests. Computer engineering is involved more with designing hardware, processors and system architectures. Computer science deals mostly with software, computer languages, creating algorithms and stuff like that. There is no better, either major can be a good career.
If I was give 100 chances of choosing between the two, 99.56 chances I will choose Computer Science. The other 0.44 should be when I am drunk.
Believe me or not, computer science will give your more solid foundations in both research or engineering.
You should better learn basic software engineering from one course, but do not make it your major. Software engineering do nothing with innovations, it will not teach your solid foundations of programming, you will only get buzz words like "software life cycle", "project manager role", instead of teaching your writing a compiler, implementing a dat
If I was give 100 chances of choosing between the two, 99.56 chances I will choose Computer Science. The other 0.44 should be when I am drunk.
Believe me or not, computer science will give your more solid foundations in both research or engineering.
You should better learn basic software engineering from one course, but do not make it your major. Software engineering do nothing with innovations, it will not teach your solid foundations of programming, you will only get buzz words like "software life cycle", "project manager role", instead of teaching your writing a compiler, implementing a database etc. And it isn't interesting at all for doing all the "requirement analysis", "design document" etc, It's more interesting to explore subject like AI, parallel computing or graphics etc.
A number of these phenomena have been bundled under the name "Software Engineering". As economics is known as "The Miserable Science", software engineering should be known as "The Doomed Discipline", doomed because it cannot even approach its goal since its goal is self-contradictory. Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter "How to program if you cannot.
In the end, whether Software Engineering or Computer Science is better for you depends on two things:
- What do you want to do?
- What is the difference in the degree requirements at the school you are attending or schools you are considering?
I did a quick google search on “software engineering curriculum” to get an idea of how this degree differs from a computer science degree and my top hit was https://catalog.utdallas.edu/2017/undergraduate/programs/ecs/software-engineering
Here is that page’s summary of the difference between the two degrees at UT Dallas:
The Computer Science program continues wit
In the end, whether Software Engineering or Computer Science is better for you depends on two things:
- What do you want to do?
- What is the difference in the degree requirements at the school you are attending or schools you are considering?
I did a quick google search on “software engineering curriculum” to get an idea of how this degree differs from a computer science degree and my top hit was https://catalog.utdallas.edu/2017/undergraduate/programs/ecs/software-engineering
Here is that page’s summary of the difference between the two degrees at UT Dallas:
The Computer Science program continues with courses in advanced data structures, programming languages, telecommunications networks, and automata theory, while the Software Engineering program include courses in requirements engineering, software validation and testing, and software architecture, culminating in a challenging project course in which students must demonstrate use of software engineering techniques.
The two degrees have more in common than they have differences, so either degree is a good choice.
If what you love is computer programming for the sake of the problem and puzzle solving aspects of it, the Computer Science specific courses will give you a stronger foundation for the continued learning needed to support that.
If what you love is delivering complete solutions providing real value to customers, then the Software Engineering degree is going to provide you a stronger foundation for the continued learning needed to support that.
That said, both degrees are great foundations that will allow you to continue learning about both Computer Science and Software Engineering after you get your degree.
If what you want to know is which degree is more in demand with employers, the answer is that most employers will be more impressed by your work experience. If your school offers co-op opportunities, take them. If you can get a summer job as a software developer, take it. If you can work for a professor at your school writing software to help with that prof’s research, do it. Work experience is much more important to an employer than the difference between these degrees.
Is computer engineering or computer science degree better to get a job in cyber security and networking?
I once heard a professor giving advice to a student who was concerned about changing majors from science to engineering late in his degree program.
His counsel was “At the bachelor level, it doesn’ t matter what STEM program you’re in. The important part is that you learn how to think.”
What you will discover when you graduate is that your first job, not your degree, will determine the course of your career. That’s because experience very quickly counts far more than academics.
So, don’t worry
Is computer engineering or computer science degree better to get a job in cyber security and networking?
I once heard a professor giving advice to a student who was concerned about changing majors from science to engineering late in his degree program.
His counsel was “At the bachelor level, it doesn’ t matter what STEM program you’re in. The important part is that you learn how to think.”
What you will discover when you graduate is that your first job, not your degree, will determine the course of your career. That’s because experience very quickly counts far more than academics.
So, don’t worry about your major, as long as it’s a meaty topic. Don’t expect to take a lot of fluff and get a good job. But if your courses are in a STEM field you enjoy, you’ll do well in school and after.
IN FACT…. my own view is that every 12yo in the USA learns all about computers. Better to study a STEM topic that interests you where computers can be applied. Computer themselves are being consolidated in giant “cloud” computing centers, with fewer and fewer “computer engineers” needed. Machines produce more machines. But applications in medicine, transportation, chemistry, etc etc are growing faster than ever.
Find the computer engineer in this data center:
1.5 million square feet data center. Parking for 40 cars, mostly empty.
Both degrees offer excellent job opportunities, both now and in the foreseeable future.
Computer engineering (CE) includes both hardware and some software coursework, while software engineering (SE) is exclusively software oriented.
SE majors will get a more thorough grounding in software development, including software development processes, but will have only a relatively hazy understanding of the hardware on which their software runs.
Since CE includes substantial hardware knowledge in its curriculum, it is more suited for people who are interested in embedded systems development.
However, stud
Both degrees offer excellent job opportunities, both now and in the foreseeable future.
Computer engineering (CE) includes both hardware and some software coursework, while software engineering (SE) is exclusively software oriented.
SE majors will get a more thorough grounding in software development, including software development processes, but will have only a relatively hazy understanding of the hardware on which their software runs.
Since CE includes substantial hardware knowledge in its curriculum, it is more suited for people who are interested in embedded systems development.
However, students in either degree program can take additional coursework to gain the knowledge of the other degree program. This is what I did as a computer science major in the early 1980s (before CE or SE degrees existed in more than a handful of schools). I took all of the undergraduate electrical engineering department’s digital circuit design courses and was able, in my 30+ year career, to work in both purely software and combined software/hardware (meaning embedded systems) jobs.
My bottom line recommendation is, as usual, to pick the major which you are most interested in. This will set you up for a career which is more enjoyable over the long run. Some people only like software and have little interest in hardware so an SE degree and career is what I would recommend for them. But for folks who are fascinated by hardware, as I was, a CE degree will open many more doors to interesting jobs while paying about the same.
If you are looking for high-paying work, then none of these, but your hard work to develop common sense, has a better future.
Examples of common sense holders:
- A software engineer can:
- Work alone with the help of AI to complete the work of 10–100 people.
- Demonstrate people skills and the ability to handle projects independently.
- Regularly update oneself with updated knowledge.
- Avoid the trap of time-killing activities.
- A cybersecurity expert can:
- Work alone with the help of AI to complete the work of 10–100 people.
- Demonstrate people skills and the ability to handle projects independently.
- Regularly upd
If you are looking for high-paying work, then none of these, but your hard work to develop common sense, has a better future.
Examples of common sense holders:
- A software engineer can:
- Work alone with the help of AI to complete the work of 10–100 people.
- Demonstrate people skills and the ability to handle projects independently.
- Regularly update oneself with updated knowledge.
- Avoid the trap of time-killing activities.
- A cybersecurity expert can:
- Work alone with the help of AI to complete the work of 10–100 people.
- Demonstrate people skills and the ability to handle projects independently.
- Regularly update oneself with updated knowledge.
- Avoid the trap of time-killing activities.
I would recommend to go for Computer Science. Computer Science will build your fundamentals of how to code. You can probably choose Software Engineering program as Masters option. It will teach you what to code for Industry.
I am BS computer science and MS Software Engineering and I am telling you this from experience.
Software Engineering is more about creating something: coming up with a solution to a problem, executing to a plan, delivering something to a customer, taking responsibility for a big chunk of, if not the entirety, of a product’s life-cycle.
Cyber-security is more about defending against - whether on the ‘front lines’ as a researcher of active vulnerabilities & exploits, or as a developer of considered solutions - an endless tide of very clever shit, playing leap-frog with - though usually being behind - an army of people who don’t behave like any other ‘enemy’ the world of ‘warfare’ has ever s
Software Engineering is more about creating something: coming up with a solution to a problem, executing to a plan, delivering something to a customer, taking responsibility for a big chunk of, if not the entirety, of a product’s life-cycle.
Cyber-security is more about defending against - whether on the ‘front lines’ as a researcher of active vulnerabilities & exploits, or as a developer of considered solutions - an endless tide of very clever shit, playing leap-frog with - though usually being behind - an army of people who don’t behave like any other ‘enemy’ the world of ‘warfare’ has ever seen, amongst a spectrum of attackers ranging from teenagers with too much time on their hands, to emotionless state-financed ‘warriors’ on a mission you often don’t understand.
Both fields are very challenging, but cyber-security generally requires much less mastery of actual software development methodology and algorithms and data structures, but does need a broad and at times unusually deep understanding of how computers - hardware, Operating Systems, applications, and every bit of ‘glue’ code in between those major layers - works.
Both are in demand and can be very well paid, for the foreseeable future.
Only you can decide which is more attractive to you.
Both! All software engineers need to be security-minded in their profession. For security professionals, the trend in cybersecurity is moving towards automation, and more and more companies are looking for people who understand both security and software.
I was listening to Stephen Schmidt, CISO for AWS, at RSA in 2018 and he said, “If you can find a person who is good at software and security - that’s a rare bird.” Usually, something that is rare is more valuable. Additionally, if your goal is to be in high demand, it is a good idea to learn about the cloud and DevOps. Many companies are movin
Both! All software engineers need to be security-minded in their profession. For security professionals, the trend in cybersecurity is moving towards automation, and more and more companies are looking for people who understand both security and software.
I was listening to Stephen Schmidt, CISO for AWS, at RSA in 2018 and he said, “If you can find a person who is good at software and security - that’s a rare bird.” Usually, something that is rare is more valuable. Additionally, if your goal is to be in high demand, it is a good idea to learn about the cloud and DevOps. Many companies are moving to the cloud, and those skill are in high demand. Many of them involve security and software.
Specifically, I would recommend getting as much experience as you can in the following areas and see which things appeal to you most and you are good at:
1. Build an application that performs some business functionality. Do you enjoy building applications that people can use to make their jobs easier or help transact business? Do you enjoy building database and optimizing them for best performance? Or perhaps even dive deeper into embedded systems - the software used at a low level interacting with hardware?
2. Inspect network packets - learn about the bits and bytes that make up network headers. Do you like to dive deep into obscure details and dissect packets to find security flaws? Do you want to know why and how specially crafted packets can bypass firewalls?
3. Try your hand at pen testing or bug bounties. Do you like finding flaws in systems that can be exploited by attackers? Or better yet can you identify the problems then recommend solutions to fix them?
4. Perhaps you will enjoy incident handling. When a system is infected do you want to know how it happened and learn low-level programming to reverse engineer malware and explain the problem to others? Companies that build software to fight malware and deal with security incidents need those skills.
5. Take a cloud security or architecture class or watch online tutorials. Try to set up some things in a cloud environment like AWS, Azure, or Google. Learn cloud scripting languages that allow you to deploy things using software instead of clicking buttons. See if that is something you enjoy. Learn the proper controls to deploy secure cloud applications, networks, and infrastructure.
These are just a few ideas to consider. Good luck with your decision!
This answer is in Indian context:
Choose any, and there would not be much effect of it on your future career progression.
Since Indian engineering curriculum is 40 years old hence no Indian engineering college produces any skilled-employable Cyber Security professional and this is the reason that NONE of the internationally known cyber security companies have their engineering offices in India.
It wo
This answer is in Indian context:
Choose any, and there would not be much effect of it on your future career progression.
Since Indian engineering curriculum is 40 years old hence no Indian engineering college produces any skilled-employable Cyber Security professional and this is the reason that NONE of the internationally known cyber security companies have their engineering offices in India.
It would take an Indian youth about 3+ years of English language practice with 7+ years o...
Computer science with either a cyber security emphasis or as many networking courses as possible at your institution would be the best choice.
Computer engineering curricula include a lot of hardware courses (e.g., digital circuit design) which have almost no use in cyber security.
Before anyone mentions firewalls, routers and such, everyone should understand that the cyber security features of these devices are all done in software.
A2A: “Is computer engineering or computer science better to start strongly in the cyber security field?”
Why have a distinction between a ‘security engineer’ and a ‘software engineer’, as both needs to have a pretty good understanding of security and engineering?
One shouldn’t bolt security onto a software product after the fact. Security has to be considered at all phases of the software’s development. If a software engineer can’t ‘do security’, they may introduce a raft of security problems that could overwhelm a company… the very design and architecture of a software project may have massive security issues that some hapless ‘security engineer’ would struggle to resolve effectively.
This way of
Why have a distinction between a ‘security engineer’ and a ‘software engineer’, as both needs to have a pretty good understanding of security and engineering?
One shouldn’t bolt security onto a software product after the fact. Security has to be considered at all phases of the software’s development. If a software engineer can’t ‘do security’, they may introduce a raft of security problems that could overwhelm a company… the very design and architecture of a software project may have massive security issues that some hapless ‘security engineer’ would struggle to resolve effectively.
This way of thinking frustrates me, as it suggests why we have as much trouble with secure software as we have. I do not feel one can reasonably separate these concerns. Software security happens at all points of the software development process, from research, through design, into coding, and back to maintenance.
Imagine you want to provide tools that allows someone to monitor their weight.
Research:
Each person has to log into the system. What constitutes the most secure method for maintaining an account in a way that still allows the overall system to work? You could store username/hashed-passwords in a database and have rows in other tables refer to that row to connect, say, their weight to them. Or, you could just store the e-mail address, use oAuth with a stipulation that the e-mail address must be verified before you’d allow the login to work, and let FB/Google/LinkedIn or some other company handle the authentication. What would work best, and what are the risks associated with each researched approach? Even the choice of computer language becomes part of the research… C++, or Rust? Golang or PHP? Consider the trade-offs.
Design:
Maybe you decided to go with username/hashed-password, and you researched the possible exposures and maybe even solutions for those exposures (say, use a modern version of something like Blowfish hashing instead of MD5 so it makes brute-force password guessing harder), now you have to design where to do this hashing so the system works efficiently where it needs to work well, while remaining as convenient as is possible for the user.
Coding:
Maybe you decided to use C++ for some reason. Are you using sprintf() statements with insecure format strings instead of streaming operators through objects? Are you managing memory properly? How long is the password stored in memory, and how accessible is this password to various attacks?
Maintenance:
Even the best build solution with security in mind could have security-related problems, maybe because it relied upon libraries that for which a security problem becomes uncovered. At that point, resolving the problem should be treated as you’d resolve any other problem; that it’s a ‘security issue’ shouldn’t make it any different from ‘it doesn’t work when I do this,’ with a similar level of concern from ‘fix it immediately’ to ‘address this in our next update’ depending on the degree of risk.
Maybe you used Blowfish to hash the passwords, then discovered that Blowfish isn’t as secure as some other algorithm. Without the original passwords, you’d need to maintain an enum or flag or something to indicate if the password has been updated, and request the user re-enter their password to change the algorithm (for example). Hopefully, if you’ve designed the software well, you will have anticipated the possibility of a library’s insecurity and considered a migration path to some other library that achieves what you need… maybe you’ve already coded for having an enum for the type of hash used, with a configuration option on the server for the current value, and appropriate paths to choose the correct hashing algorithm, so updating is as simple as modifying one place in code instead of several.
So, why this distinction? Why do we not ensure software-engineers also learn security as part of the job? And yet, I keep hearing of managers who seem to think security can easily be bolted on after the product is working. Madness.
It isn’t.
In most organizations, you can follow others to figure out what needs to be done. You don’t need a degree in software engineering to figure this out.
A good background/skills in computer science earns a lot of respect in organizations. I have seen senior architects who have no clue about process (I don’t have a problem with that). However, they are consulted when there are process changes.
Software engineering with good computer science may not get you a lot of respect.
Note that there are exceptions. Large service organizations may be interested in process skills without strong computer
It isn’t.
In most organizations, you can follow others to figure out what needs to be done. You don’t need a degree in software engineering to figure this out.
A good background/skills in computer science earns a lot of respect in organizations. I have seen senior architects who have no clue about process (I don’t have a problem with that). However, they are consulted when there are process changes.
Software engineering with good computer science may not get you a lot of respect.
Note that there are exceptions. Large service organizations may be interested in process skills without strong computer science.
It depends on what you’re aiming for. Now a day things are changing a lot. Backend developers are expected to have some passing knowledge of front end development. Front end developers who are very proficient in Javascript can now pick up back end development with Node.js. Java can now handle some functional programmings. I had some ideas on how things would turn out when I graduated from college in 2006, I didn’t expect things to happen this fast. Last year I was coding Java but now I am working on SWIFT and iOS.
My advice would always learn new skills but not too much. You need to balance all
It depends on what you’re aiming for. Now a day things are changing a lot. Backend developers are expected to have some passing knowledge of front end development. Front end developers who are very proficient in Javascript can now pick up back end development with Node.js. Java can now handle some functional programmings. I had some ideas on how things would turn out when I graduated from college in 2006, I didn’t expect things to happen this fast. Last year I was coding Java but now I am working on SWIFT and iOS.
My advice would always learn new skills but not too much. You need to balance all aspects of your life very well. As an industry and a community we are not doing very well recruiters and employers are looking for the rockstar coders and the same time they are very impatient with those who require their helps, guidance or time off for training and learning new skills. This becomes a vicious cycle that perpetuates the myth of tech-talent shortages and annoying recruitment spams on LinkedIn, Meetup and other places one might find developers congregate on the web. Nobody can effectively look out for your work-life balance and this is very subjective and vary from person to person, so you need to become your own assistant and office manager when it comes to balancing your training needs, work schedule and off-line time.