I am going to disagree with the current top (and accepted) answer.
Defense contractors are known within the tech industry to be slow-paced and, in many cases, "boring" to work for. Of course that's relative, but your experience at one will be much different compared to working for a unicorn/top tech company. The tech will mostly be pretty old and there will be a lot more process and less freedom to do what you want. If you end up on a traditional project at one of these companies- I doubt you will be using any cool innovative new languages or frameworks to accomplish your tasks. Its possible- but unlikely.
You're young and this is your first job out of college. Now is the time to take risks in your career and take opportunities that will allow you to learn the most and grow as much as you can as a software engineer. Yes you may end up liking your career 10 years down the line at the defense company. You may also still hate it and still live with the regret of not having chosen a career path that you would have enjoyed.
When I graduated from college I was working on stuff from day 1. It was almost overwhelming how many responsibilities I was given and I felt it helped me grow immensely in my career, I learned way more than I ever have in college. I would never have traded that opportunity for sitting at my desk all day doing nothing waiting for an interesting project to be assigned to.
Defense contractors are great for keeping stable careers, they are not as great for keeping new college graduates excited. It is perfectly okay to feel disappointed with the lack of work you're being assigned, even if it is the beginning of your job. What I'd recommend is the following:
- Study the existing code as much as possible. You can learn a lot from reading code that your teammates are writing
- Do as much self-learning as possible. When you have nothing better to do its a great idea to take action and make sure you're bettering yourself even when you aren't explicitly working on assignments
- Communicate to your manager and let them know you would like to do work, however small, so you can start learning and contributing
- Look for other jobs in the meantime. Join that startup that might fail but would elicit excitement from you. Join that corporation that would have specially designed training programs to get you on-par with currently working software engineers and would give you the foundation blocks to the rest of your career. It is perfectly okay to jump around your first couple years and find what works and what doesn't. You don't need to work at your first company for 20 years and slowly develop your career. You can take opportunities and quickly grow both as an engineer and as a person.
There is no point to staying at a job that literally makes you unhappy and dread going to work. Unless you are on contract- you have no obligation to the company that hired you. Your software engineering experience is unlike any I have experienced and you do not have to be forced to undergo that kind of work culture if it is unfavorable and miserable for you.