A software engineering bootcamp experience and how I increased my productivity
Tags: productivity, programming, bootcamp
Published: 2023-08-14 05:26:42

Switching careers isn't an easy feat and there are many different ways to get things started. For software engineering, there are a few options, including attending a university to attain a computer science degree, signing up for a software engineering bootcamp, or self-teaching and learning (which is arguably the toughest option of the three). After realizing my passion and excitement for programming and building applications, I decided to commit and make a big leap into attending a bootcamp program. Although bootcamps come with a steep price to start, I was fortunate enough to have the money and also believed that it was a good investment for my own future.

# First off, how does a coding bootcamp work?
Coding bootcamps come in many forms, some are part-time, some are full-time, some are remote, while the others are in-person. The plethora of options allows anybody to choose what works best for their current lifestyle, and personally, I opted for an in-person full-time coding bootcamp at Flatiron School. 

At Flatiron School, we follow a 9-5 daily schedule, treating it like a full time programming job, which comes with the benefit of conditioning us to be field-ready. The intensity and pacing of the program is relatively high, pushing us to learn and utilize new sets of programming skills in a 3-week cycle. The 3 week cycles includes 1.5 week of learning new content, 0.5 week of prepping for an assessment, and 1 week of project building to really put our skills into practice. 

# Does this schedule work? Is it challenging to keep up?
To answer these questions, in short, yes and yes. The schedule ultimately teaches you how to learn quickly and pick up new tech skills quickly, which is of importance in the software engineering field with how rapid the industry is changing. Although it is challenging to keep up, everybody learns slightly differently and figuring out what works best for myself is key for my own success. Being more than half way through the program, I am able to confidently give some tips for anybody who may find themselves struggling to keep up with fast pace environments.

# Breakdown:
1. Physical environment
2. Social environment
3. Psychological factors

### Physical environment
Our physical environment often has a big impact on our productivity. Factors such as noise levels, temperature, and lighting all have an effect on our ability to stay focused and concentrate on our tasks. By making sure that we clean and organize our workplace, we will reduce potential distractions and create a more comfortable workspace, which will enable us to stay on task for longer periods of time!

### Social environment
In addition to making sure that our workplace is clean and neat, having the right people around us can also boost our productivity. This was a very important factor that ultimately pushed me to sign up for an in-person full-time bootcamp program. Having like-minded people who are driven to learn around us can make us feel more motivated and more inclined to learn. Having an environment where colleagues are constantly pushing and supporting each other to grow has a huge impact on an individual's productivity. Fostering positive relationships with other programmers will build a supporting and collaborative environment, which will be mutually beneficial for everyone involved!

### Psychological factors
Psychological factors such as stress, anxiety, and burnout can also have a significant impact on productivity. We need to make sure we are managing our work-life balance properly, taking breaks when necessary and also keeping up a healthy lifestyle (doing exercise and getting enough rest). A method that helped me maintain a healthy work-life balance was the use of routines and designating spaces. 

In reference to routines, I would follow a daily routine of taking a cold shower after waking up, and having a similar morning routine leading up to work allows my brain to be conditioned and ready for work by the time I sit down and turn on my computer. Developing a personalized routine/ pre-work ritual can help boost productivity by allowing our mind to switch into work-mode. Having consistency is essential! Not to say that we should sacrifice our social life, but preserving a consistent routine will be beneficial in the long run. 

Similar to the thought process of a routine, having designated workspaces and relaxation spaces can also help our brain focus when it needs to focus, and vice versa. Have you ever tried working from home, and realized that it is way more difficult to focus and get work done? Don't worry, you are not alone. That is because we naturally favor the easier and more comfortable choices, and having to pick between sitting in front of your computer to work versus laying in bed and watching videos? The answer is simple. To solve this issue, our bedroom should be a space for relaxation and resting, and our work-setup should be at a location that is separate from our bedroom. Like a routine, this will condition our mind to be ready for work and be less distracted when we are at our work-setup. In addition, we will be able to wind-down and relax easier when we get to our designated relaxation space! 

# Summary
Going through a software engineering bootcamp isn't easy and takes hard work and consistent effort! There will be times where we are super productive while times where we are unable to get work done. A few key take aways here are:
1. Make sure you've got an organized and physical environment that is comfortable.
2. Surround yourself with like-minded peers and colleagues who support one another and collaborate together
3. Adopt a routine that works for you! Allow yourself to "switch gears" into work-mode
4. Have designated workspaces to created better work-life balances