/ FireUpMarch2017

My Life in Code #2 || When Life Gives You Lemons, Respond in HTTP Server Code

Today marks 8 weeks into AlMakinah*. As I promised in my previous blog post, this blog series will include my experience as a newly converted tech-geek.

During the past 2 months, I have learned more than I could have ever imagined about software development. I have gone from only using my laptop for Microsoft Office and browsing the internet, to developing full-fledged web applications.

I thought of sharing the 13 tech-topics we’ve covered in details so far, but instead decided to share something far more valuable first. So without further adieu, here are 8 life lessons I have learned from 8 weeks of programming. And yes, I couldn’t think of a more fitting start to this series than with HTTP Response Status Codes.
Week one: — HTTP Response: 100 — continue
blog2_100

Week one was scary and exciting. Sort of like trying wasabi for the first time. You just can’t imagine how intense it is, or how you will feel after you have had it, but for some reason you decide to proceed and try it anyways. Let me tell you this, if you haven’t tried wasabi before — be warned, think of how intense you think it’ll be… then multiply it by 10X.

That’s the bootcamp. Day one, you’re told it’ll be difficult, and you may set your expectations, but by the end of week one, you already know that this is going to be a lot more intense than you could have ever imagined. Don’t worry — you’ll survive…hopefully.

Lesson one: sometimes life will be difficult, confusing, and intense. But if you set your mind to something, continue. It’s the only way you’ll ever make it till the end.
Week two — HTTP Response: 200 — Okay..
blog_2_200

“It’s going to be okay” one of the mentors said, “you’ll get it with time”.

Okay is one of the most difficult words a perfectionist like myself struggles with. There is the right way to do things, and sometimes okay is just not good enough. At least that’s what I thought prior to week two.

Until it hit me… Sometimes, I would spend hours staring blankly at my code editor, almost holding myself off writing anything because I wanted to get things done perfectly during my first attempt. I didn’t want to write “okay” code, I wanted my code to be flawless. After many trials and errors let me save you precious time and say: the code won’t write itself if you keep on staring blankly.

Lesson two: in life you’ll just have to trust that things will somehow be okay. Whatever you do, whether it’s going on a date with someone you aren’t really into, or if you’re trying a new recipe, it’s okay for things to be okay. Refactoring and optimization will come in later.
Week three — HTTP Response: 408 — Request Time Out..
blog_2_408

Up till week three, I never really understood what people meant by “I forgot to have lunch”. For me, forgetting to eat is synonymous with forgetting to breathe. But of course, working ~75 hours a week changes things. In fact, working straight for so many hours makes you appreciate many things — like eating, and more importantly, the power of a well-deserved break.

Lesson three: sometimes trying to be too productive backfires. Check in with yourself while working — once you start to over stress and/or can’t spot the bug in your code, take a break. You’ll thank me for this later.
Week four — HTTP Response: 409 — Conflict
blog_2_409

After a month of continuous work, there came a time of necessary self-evaluation and reflection. For starters, you lose track of time, and you’re blinded to the fact that it has only been a month.

Internal conflicts begin to surface every time you still just can’t get the syntax right, or whenever you can’t translate your logic into code.

Lesson four: learn to resolve conflicts, not only manage them. Managing problems is temporary, which means the same conflicts will surface again at a later stage. Resolving conflicts means you are looking at the root of the problem and trying to address the driving force.
Week five — HTTP Response: 429 — too-many-requests
blog_2_429-1

At this point, you are trying to run a one-person-show… but not just any show. You are running a circus. There is an influx of new content on a daily basis. You start missing out on significant social events. You are the only person who has to go to “work” on public holidays. You then realize that your mental stack of ToDos might even be larger than stack overflow’s overflow.

Lesson five: we all have 24 hours a day, and a check-list of infinite ToDos. Divide your day as you see fit, and learn to prioritize. Choose 3–5 things you want to focus on accomplishing each day, and organize your time accordingly.
Week six — HTTP Response: 417 — expectation failed
blog_2_417

If you set your priorities straight, most of the time you will be able to accomplish all your goals. BUT, you need to learn to be realistic, and learn to compromise.

FACT: SHIT HAPPENS.

For someone who always has a plan A, B and C, if this bootcamp has taught me one thing, it’s that sometimes an unprecedented turn of events could take place when you least expect it, and you’ll just have to learn to manage.

Lesson six: It’s important to be ambitious, but it’s equally as important to set your expectations straight. Nothing worth having ever comes easily. You’ll win some, and you’ll lose some — But, it’s important not to give up when you lose.
Week seven— HTTP Response: 202 — Accepted
blog_2_202

Acceptance is tricky. If it’s not done properly, you might end up getting demotivated, or accepting something as the status quo, and give up. Other times, when you don’t accept things, you start blaming yourself for everything and anything that went wrong.

Lesson seven: learn to accept the progress you have made this far, and appreciate the work and effort you have made. That said, don’t let your acceptance of a situation limit you. Instead let that be your fuel to keep moving forward. Accept that today you are at a certain level, and if you keep moving forward you’ll only keep progressing.
Week eight — HTTP Response: 302 — found
blog_2_302

Anyone who has suffered from trying to find a missing curly bracket while writing JavaScript, (or spotting any other syntax error), knows the thrill of finding something.

Same thing sort of applies if you finally find something you have spent time looking for, whether it’s your house keys, your favorite book, or a restaurant you’ve been trying to reach without the help of Google maps.

Cherish that special eureka moment. For me, that eureka moment was finding a way to love programming (especially when the code works!).

Lesson eight: if you aren’t looking forward to the start of your week, quit. Quit your job, change your major, or get out of your life-sucking relationship. Finding something you love, and look forward to everyday is not easy, BUT when you finally find it, I promise you the effort you’ve put into finding it will be worth it.
Stay tuned for more stories from a newly-converted tech-geek!

AlMakinah is Egypt’s first full-stack software development bootcamp

Re-published post from one of our FireUp March 2017th Graduates, Hoda Hamad: orginal blostpost