My Journey So Far…
In two months it will be my one year anniversary of being a professional mobile developer. I thought now would be a good time to talk about how I got here and what it has been like. I know a lot of aspiring developers are always curious what day-to-day work life entails and if it will be a good fit for them.
After graduating from Full Sail University with a Bachelor of Science in Mobile Development I started the scary and nerve-wracking interview process. I treated my days after college as a 9–5 job. I would spend the first half of my day before lunch doing research on companies that were hiring and I felt that I met their requirements I would send my resumes and cover letter. The second half of my day, after lunch, would be for improving my development skills. This would range from reading articles, working on improving my final project from Full Sail, or coding skill tests. I did this for three weeks straight. In those three weeks I had several interviews, some local, some very far from home and in the cold. I learnt a lot from these interviews such as, how to behave in a professional manner, how to sell my skills and knowledge and a lot more. Finally, one Thursday afternoon I received an email from a startup, FanHero where a best-friend of mine had recently started at and referred me, asking to setup a meeting for Friday afternoon at 2pm. The interview last for about an hour to an hour and a half. Well, it was more of a friendly conversation with the Director of Human Capital, and Director of IT. We discussed my experience with technologies I’ve worked with in the past, we went over my resume, which I forgot to bring a copy of, and lastly, I demoed an app they asked me to build and prepare for the interview. By 4pm the same day I received and accepted an offer. I started the following Monday.
The first day was a typical get my MacBook Pro and set up my development environment. But to me this was such an amazing feeling, my first step to being successful. By the end of the day my MacBook was all setup with Xcode, Android Studio, GitHub, and all my SDKs. The next day I started getting familiar with the existing code base and was assigned my first task. It took me a few days, I ran into my first challenge which I think I took too long on, but was due to nerves and anxiety more than anything. Luckily my best-friend who referred me was my mentor and the Lead Dev on the project. When I started he would point me in the right direction to solving a problem if I was stuck and had questions, he still helps me a lot. As time went on I gained more experience and I started moving on to contributing to features that were in progress. This helped build my confidence a lot. Every morning I read through my old code for about thirty minutes seeing if I can spot new ways to improve. Wether it be logic, code style, error handling, or even user experience. This has helped me improve a lot, but it isn’t enough. I read through other respectful developers and see how they approach and solve the same issues I run into. More times then not I find ways to improve my code quality than I would by just reading my code.
Here comes the big day, the day the product will reach the hands of a client for the very first time. It was nerve-wracking, and exciting. Watching them interact with the product was a huge moment in my career. I got to see how clients and consumers actually use the products we develop. This really changed how I would see a feature while developing it. The Lead Dev and I got to spend an entire weekend with the client during a big event seeing how they interacted with the product, how they expected the product to work and, most importantly, what they wanted in the future.
Currently I am teaching myself a new Apple Framework every week. This has kind of inspired this article because I want to write about my findings and provide a demo to help solidify the concepts I have been studying. So I guess this could be considered as an introduction to the Medium universe. I have always been told that it is important to always learn something new to improve and be able to achieve that next step in my career.
Day-To-Day Work Life
So for the day-to-day work life that some aspiring developers are wondering about really depends on what type of company you end up at. If you end up writing banking software you’re going to work in a strict, suit and tie work environment. But if you end up at a startup you’re going to work in a relaxed, fast pace, t-shirt and jeans work environment. So I’ll be speaking from my experience from the startup point of view.
In the mornings I have about two hours to prepare what I’m going to be doing for the day, take care of any emails (not like I get a lot as a Junior), and begin working on my tasks. Then there is a short standup meeting where we all talk about our tasks for the day and any impediments that may slow or stop our work from being completed on time. By the time that is over I have another hour or so for continuing my tasks then it’s lunch time. Usually if I have any meetings planned they’ll be around mid day, but again I don’t get a lot of meetings as a Junior. Sometimes for lunch we’ll have what we call “Lunch-n-Learn”, which is where a dev presents a technology and goes over how it could positively affect our products. From here I just plug my headphones in and code away for the rest of the day. Oh, did I mention the fully stocked kitchen? Yeah, that’s one of the perks that most startups have in my area.
I realize that the day-to-day description is very vague and open to a lot of questions. Here are some things that could be working on while coding, fixing bugs, hot fixes for production apps/software, validating new frameworks or even refactoring your code to be cleaner and more efficient.