How I Want to Work
Being able to work at a place or project that has all of these things is a rare opportunity, and if I get it I would definitely give everything I have to it.
I want to do work I'm proud of
I've often had to do work that I believed had bad performance, believed will cause bugs, and is just troublesome for other developers to deal with due to time constraints. I don't want to do that in my career anymore, I want to add value to all people who interact with my work, whether it's users or developers, and reaching a point where I've been doing this for seven years, it just hurts and it has to stop. I know I can do awesome stuff but I am held back, and I no longer want to be. I know that sometimes you have to sacrifice these things to reach a certain goal, but it's always been the sacrifice without the goal so far.
I want to make software that'll make both users and developers (performance, structure, readability, you name it) smile.
I want to create something meaningful
Throughout my career I've built too much software for clients where almost no users use the software, and those that do suffer from lack of maintenance; and I've also built too much software that has never seen the light of day. I want to build something that at least makes someone smile or saves some time in their day. I am extremely inspired by initiatives like IBM's Call for Code, a chance to save people from natural disasters using what I know? That's like a dream come true!
I want to grow as an engineer
I've been stuck doing the same kind of work over and over, building webapps and mobile apps that generally just do the same exact thing. I want to do something challenging, something new. I want to work on something that has to deal with scaling issues, I want to work on something like Docker or cloud services. I'm seeing a lot of cool stuff being done with Go, Rust, and Elixir lately and I want to be a part of those communities.
I want to have a mentor
I've never really had a mentor in my career and I've generally had to always figure things out on my own or build up teams. I want someone to build me up.
I want my time back, and I want to see the sun
Traditional work hours just drain my energy and leave me with a Vitamin-D deficiency, I honestly don't think that's healthy in any way imaginable, and it's unfair to all my loved ones. I want more time to give back to open source, I want to start a technical podcast, and do so much more. I would love to be in a workplace that enables me to do these things.
I want to work remotely
I believe remote work is definitely the next extension of our digital careers. I have distantly watched GitLab grow with that mission and am immensely impressed by what they've done. One of the things they noticed that one of the very first things people do when they join GitLab is move back to be close to their friends and family. It feels morally wrong for me to have to put friends and family second to my career (both due to lack of time, and lack of jobs where I live).
I need to be able to communicate with my colleagues
Most of my career has been in Saudi Arabia and so I have to be good with both Arabic and English. I'm pretty decent with written and spoken English, and I'm pretty decent with spoken Arabic too, but with written Arabic it's just hell for me because I believe we as Arabs still haven't decided how we want to use its written form; especially when discussing technical topics. One example is that our language uses diacritics for vowels but we stopped using them in our written communication (probably because they make writing take so much longer) and it makes reading things involve a lot of guessing. I've often had to work with people who I struggle to communicate with because they dislike written communication (which makes things like pull request reviews quite difficult), and when they're ok with it, it's in Arabic. I would like to utilize the languages and skills I know to communicate with my colleagues.