World Belongs to Me Through Software Engineering
How a Middle-age Foreign Female is Developing Herself into a Software Engineer
I live in the United States as a female foreigner from South Korea without any experience in software engineering. But now, I have chosen a challenging goal to develop myself into a software engineer late in life. If there is anyone out there in a similar situation who would like to learn and transform herself into a software engineer, I would love to inspire that person. Even for those in different circumstances, I would like to share tips, hints, and learnings so that future learners may feel motivated.
So far, I am about 4 weeks into a 15 weeks software engineering program through a Bootcamp at the Flatiron School. I have enjoyed learning a completely new field and feel lots of satisfaction with coding results I can see after hours of programming. However, I cannot say it is super fun all the time because there are lots of stress and anxiety especially when tons of information and concepts need to be understood and applied correctly. I have a perfectionist personality that often interferes with my concentration and focus. This type of personality is challenging because I have difficult times in moving on to the next steps without fully understanding every concept during coding. It ultimately prevents me from receiving subsequent information so that I can apply them for the next assignments. For example, if I run into a bug or unexpected error, my mind would go blank and feel like I have lost everything I learned in the past and feel stuck in a dark cave. However, I am getting to know that these dark cave situations do not occur only initially but continuously. While developing into a successful software engineer, there will be a range of knowledge and depth that are different for each person. However, one must learn and overcome the various type of programming languages and concepts to build a set of skills to be ready and feel prepared for more challenges.
To overcome difficult situations in programming and solving problems, I would like to list 7 tips.
1. Get Rid of Quick and Perfect Approach with Limited Time.
One needs to fix weak knowledge by repeatedly practicing (with plenty of time) to strengthen weaknesses. There will be concepts that will not be understood fully in the beginning. However, if those concepts are applied repeatedly while learning new concepts, it can become clearer and become well understood later. Slow down, be patient, and invest enough time to arrive at a goal without giving up so easily. Perfection does not happen when trying to do something too quickly.
2. Try Not to Hide Lack of Knowledge — Ask and Attempt to Understand.
As a foreigner, I lack proficiency in the English language. However at the Bootcamp, I try hard to ask for help and practice in different ways. I even feel embarrassed many times but if I try to hide it and become passive, I would not be able to fit in or adapt to society. Whenever there is a chance, ask, and attempt to strengthen weaknesses. All the efforts will not be disappointing at the end but if I do not take these actions, I would probably continue to struggle and run away. Admit what you do not know and learn from it.
3. Forget Comparing and Competing with Others and Focus on Own Growth.
As I have learned, one should not focus on comparing or competing with others. Not just others but even with yourself from the past. It is easy to stray and look at others when one becomes unstable or stressed during a study. Am I the only one who feels lost and behind? We tend to lose self-focus or self-esteem when we never felt challenged in the past. We need to accept the current challenge and situation. Focus more on the weakness and dedicate ourselves to grow. If there is someone with more knowledge and expertise, do not compare but ask for help. By learning from this person, one can learn and grow from this network.
4. Surround Yourself with Positive Mentors During Development.
When we meet lots of different people, some share similar values and opinions. However, some may have different values and can potentially challenge your development. If working in a similar industry, it is important to build a positive network of people along with building key skill sets. Gaining a network that can promote one’s positive self-esteem and make someone feel comfortable with humor or kindness can be of tremendous help when in hardship. In turn, one should also focus on becoming a positive person to another as well.
5. Turn Differences into Habit of Positive Thinking.
Since English is a foreign language to me, it almost takes me twice longer to comprehend. Therefore, I need to invest twice the time to fully understand in both Korean and English. I gain the bilingual aspect of skill set and since I invest more time, I feel like my knowledge becomes stronger even though a bit slower. I do not feel any regret in spending more time trying to understand something. This is just a difference that I have which I need to cherish as a gift. An employer may hire someone with a special or different skill set. Then maybe I could be a special plus to the employer!
6. Take Sufficient Breaks and Sleep Well.
I could not sleep or take any breaks when I could not finish a task. I was not aware at first, but I began to realize that my focus was reduced during the next class day. At first, I thought I understood everything, but when I tried to apply the concepts after class, I found out I missed some details. I learned this by reviewing the recorded lecture. One cannot underestimate the fact that sufficient breaks will promote focus and thinking. Now I try to get to bed no later than midnight and if I feel more time is necessary, I get up earlier. It is still hard for me to fall asleep with leftover work and without understanding everything, but I try to sleep and take multiple breaks!
7. Let’s Enjoy!
I’ll make this last one simple. I think the best result is achieved if one enjoyed what he or she did! Just enjoy fun coding and keep growing!
In conclusion, when learning something new, one first needs to accept that no one is an expert in the beginning. Working with good people and focusing on one task at a time while enjoying it will have positive outcomes before we know it. When I get tired or bogged down, I want to look at what I wrote and tell myself that I enjoyed it. If someone is taking a path to software engineering, I want this writing to be a comfort for you and say you’re not alone! If I can do it, you can do it too!
In the next blog, I want to share some technical aspects of software engineering. Do not give up and challenge yourself! The world belongs to you. If you have any questions or suggestions for my blog, please contact me, I would love to hear from you!
“The comfort zone is a psychological state in which one feels familiar, safe, at ease, and secure.
If you always do what is easy and choose the path of least resistance, you never step outside your comfort zone. Great things don’t come from comfort zones.”
― Roy T. Bennett, The Light in the Heart