DEV Community

Courtney Corlew
Courtney Corlew

Posted on

10 Things I’ve learned during my first year as a Software Engineer

Today marks 1 year as a full-time software engineer. Last January, I attended a 12 week JavaScript boot camp. I was able to quit my job as a barista and attend a boot camp every day. This allowed me to learn how to code in such a short amount of time. Before the boot camp, I struggled with teaching myself. I knew HTML and CSS and could code myself a basic website, but I was missing the functionality aspect of it all. I took many different courses such as Codecademy, Treehouse, and FreeCodeCamp -- but nothing seemed to work for me. I don’t think I fully understood how to teach myself until I went through this boot camp program.

During the boot camp, I learned so many skills. We did a lot of vanilla JavaScript at the beginning and all of a sudden everything started to click. I understood functions and loops and this made learning so much easier. We then moved on to APIs and eventually to React and Angular. I fell in love with React and it is definitely my favorite to this day to work with. I think I thrive best in JavaScript environments since everything tends to be similar. It makes it easier to pick up different libraries and frameworks that are built around JavaScript.

I graduated from my boot camp on a Friday and started with MetaCX on the next Monday -- April 2nd. From then I’ve learned so many things that I possibly can’t write it all down! Instead, I try to help people individually. The transition from retail into technology is something that I’ve been looking forward to for years and I’m finally happy to be doing what I love full time.

Today I’m sharing with you 10 things I learned during my first year as a Software Engineer.

  1. Ask Questions
    When first starting out, you will have questions. I know I did! Don’t feel like you’re bothering someone when you ask. Make sure when you’re asking your fellow co-workers or people on the internet, that you’ve already done some research and tried to answer the question yourself. It’s also okay to ask people when you already know the answer. This can help you verify you are on the right path and it can help you become a better developer. I’m always here for people when they have questions -- especially if their journey is similar to mine! I’ve had so many people around me that put up with my questions on the daily. Find that community of people that can help you when you need it and take advantage of it.

  2. Be Involved
    Not everyone gets involved, but this was important for my career. When first starting to code, it’s very important to get more involved in the tech community in your area. This is where you’ll meet all of your developer friends, mentors, and hopefully future bosses. When you get involved, it doesn’t matter what skill level you’re at, it just matters that you are there for the right reason. You aren’t there to take advantage of anyone, you are there to network and develop key relationships that will further your career. A lot of great opportunities can come out of being involved. I tend to find ways to volunteer and help out different organizations around the Indianapolis area. I always meet someone new that I can connect with. It’s a great way to give back and build your network at the same time.

  3. Surround yourself with other developers
    I find that when I’m surrounded by other developers, I strive to be the best that I can be at the level that I’m at. This allows me to help others become developers and to also know the level that I’m at currently. It helps me stay focused when I’m surrounded by those who have similar goals and aspirations. There are a lot of different ways to be around other developers. This doesn’t necessarily mean you are with them in person, but you can find an online community that provides the same value. I have found myself in many different slack channels that provide the same kind of supportive community that you need as a beginner developer.

  4. Your opinion matters
    This job that I’m in currently is a startup so I’m not sure how much that differs from a corporate software job, but I know that something that really made an impact on my first year as a developer is knowing my opinions are heard. In my past jobs, I worked a lot with users, design and marketing. Sometimes it’s hard to switch over into thinking about how to correctly develop a feature. I find that voicing my opinion helps me become a better developer. Even though I’m inexperienced compared to everyone I work with, the feedback helps me develop better.

  5. Take Breaks
    I’ll say it again, take breaks. When first learning to code, it’s very stressful. I didn’t think I was progressing enough and I was really let down on all of these different job opportunities that require you to know so many different things. I would spend hours every day and on the weekends just coding and jumping from one thing to another. I learned it’s okay to take breaks. Actually, I recommend it. When you spend so much time on one thing, it makes it hard to step back and look at it. When you do, it helps you retain what you’ve just learned and it can also help you solve something that you may have been stuck on. I think breaks are healthy, especially since as a developer we stare at a computer screen for 10+ hours every day.

  6. It’s okay to struggle
    It’s okay to struggle on a problem. You just need to know your limit. If you find that you’re stuck with a bug or you are unsure of how to do something, let the thought simmer in your head. Do some research, take a walk to think about it, and keep trying. If you spend hours on something and still can’t figure it out - definitely ask someone. This goes back to not being afraid to ask questions. Everyone learns differently. For me - I love when I see something visually explained. I love video tutorials and hands-on projects! This is how I learn best. When I start to struggle and I can’t figure something out, I always ask a coworker to walk me through how to solve my problem.

  7. You don’t have to know everything
    You don’t! Even if it states in the job application, you don’t need to know everything. A lot of employers care about how quickly can their employee learn and their passion for what they do. When I applied to my current job, I had only been doing react for maybe a few weeks and understood the basic concepts. I could answer questions regarding state management and some questions regarding basic authentication and security. A lot of my knowledge came from small workshops or articles where what I learned was only surface level skills. Don’t be afraid to apply for jobs where you may only know 2 out of the 5 skills. Also, don’t be afraid to say you don’t know something. The last thing you should do is lie about how proficient you are in a language because it will never work out. Be honest with your skill set and let them know how you learn new skills. It will make such a difference when trying to prove your skill set to an employer.

  8. Learn best practices
    When learning from a boot camp or when teaching yourself, you don’t really get the chance to learn best practices on something. When to use this, when not to use this, etc. I have found it important when developing to research best practices on the tools that I use every day. You can even ask your developer friends their best practices. Everyone codes differently and they will almost always have their own opinion on something, but typically you can find best practices in the documentation of the language you are coding in.

  9. You make progress daily
    One thing that I struggled with for a while is feeling like I wasn’t making progress. I would get so bummed when I would try to learn something and for some reason, I just wasn’t understanding it. No matter how many different JavaScript classes I tried to take, it always felt like I wasn’t making progress. When actually, I was making progress! It may not have been the progress I necessarily wanted, but I was able to get better at learning and teaching myself these skills. It helped me see that progress isn’t always super visible because it may be in other areas that I’m progressing - such as networking or learning.

  10. Be confident
    You’re the only you! You have something that no one else has. This may be you learn really fast, you’re good at striking a conversation, or maybe it’s that you’re always the leader of the team. Find that thing that sets you apart from the rest. You will go through those times where you don’t think you know what you’re doing (aka imposter syndrome) and I want you to know that it’s completely normal to feel that way! Focus on the things you want to learn and set some goals to achieve that. Be confident in your skill set as a developer.

What’s something you’ve learned? Whether you’re just starting to get interested in coding or you’ve been doing it for years, I want to know!

Oldest comments (9)

Collapse
 
ben profile image
Ben Halpern

All great stuff Courtney, congrats!

Collapse
 
courtneycorlew profile image
Courtney Corlew

Thank you, Ben! :)

Collapse
 
someguydev profile image
Guy

Interesting post, but I don't think it's fair to call yourself a Software "Engineer" having done only a 12 month bootcamp. I know Bootcamp grads are very capable, but I feel bad for actual Engineers who have worked hard for years to achieve their title being compared to Bootcamp grads that come from all kinds of backgrounds

Collapse
 
courtneycorlew profile image
Courtney Corlew

Hi, Guy! Thanks for your input. My bootcamp was only 3 months. I've been employed for a year. I help design, maintain, test, and develop software. That by definition makes me an engineer!

Collapse
 
someguydev profile image
Guy

Sorry I meant to write 12 week bootcamp. I think there's a difference between "Developer" and "Engineer" though.

Thread Thread
 
mykalcodes profile image
Mykal • Edited

Software Engineer: a person who applies the principles of software engineering to the design, development, maintenance, testing, and evaluation of computer software.

Software Developer: a person concerned with facets of the software development process, including the research, design, programming, and testing of computer software.

I'd say the true differences come down to industry Dogma. An "Engineer" is often seen as more senior/experienced when compared to a "Developer" but at the end of the day, by definition, I'd say they're almost identical. Connotation makes the difference.

See this article on dev.to for an interesting read on the topic. dev.to/david_j_eddy/opinion-archit...

Collapse
 
eddisonhaydenle profile image
EDDISON HAYDEN LEWIS

But how does the employers view Bootcamps?

Collapse
 
eddisonhaydenle profile image
EDDISON HAYDEN LEWIS

Your professional experiences discussed are insightful!

Collapse
 
hinasoftwareengineer profile image
Hina-softwareEngineer

Much informative stuff 🔥🔥