A year and a half ago, I was questioning my career as a developer. I love making things, don't get me wrong, but I was very disappointed with what I was making. Three years of maintaining apps, minimal new features, and all of my ideas were being over thrown. I'd come home from work frustrated, upset, wondering if I should just give up. Sound familiar?
Today, I'm really enjoying being a developer. I'm thrilled and so in love with our community... even that we have a community. Here's what changed to level up my dev game:
1. Immerse in the online community.
The fact you're on this site is a good start. The @thepracticaldev and dev.to community has been so welcoming to me, I know they'll be welcoming to you as well. It's one of the few developer communities I've seen that helps lift each other up, very refreshing.
When I started however, I went to Twitter and searched specifically for developers. I followed anyone with iOS/Swift/Obj-C in their bio. I followed CEO's of tech companies and tech blogs. I followed anyone in the tech world I found interesting. Sometimes I'd even @ them, asking about their OSS project or their views on x. In doing this, is how I found @thepracticaldev. I want to also note I made the conscious decision to keep the majority of my Twitter updates tech related.
Update your Linked In / Twitter / Blog pictures to be the same. Online branding is an important key & allows others to easily find and recognize you.
**Disclaimer: I have to say it. There's trolls everywhere.. but find a community that will help fight them off with you, not join in on them. I deleted my reddit account (twice) just for this reason.
2. Question your practices & Experiment
In following other techies - I saw a movement in the Swift universe of experimenting in different architectures. I wanted to understand why, so I started doing the same thing. I started with MVVM in iOS, and found cleaner ways to implement other functionality. Helper functions I was copying project to project, I abstracted into a cocoapod that I can easily import into my projects with one line. I created extensions of UIColor for color schemes that were easily editable in one place. These are just a few examples but they've cut development time & lines of code in half! Never stop learning.
3. Blog
Everything you learn, write down and put on your/a blog. This is why technology is moving so fast. We're learning from one another constantly and developing new mysteries to solve. Also if it's something you have to look up again and again, a blog is a good place for it as well. You know exactly where to find it the next time you need that information.
4. Go to Conferences
My first conference was Codemash 2016. It was overwhelming, but totally awesome as well. I learned so much, and felt refreshed to come back to work and apply some new tricks. It was most valuable by being able to talk to speakers afterwards. I was able to ask some advance iOS people questions that I didn't have access to otherwise.
5. Talk at conferences
After hearing about a Women in Technology conference in Ohio, I decided to try my hand at speaking. Many conferences will host specific speaker-only events (like a dinner) where you can chat before the conference. I was able to meet some new friends before becoming introvert-overwhelmed in front of 300 people. I met some amazing women in technology, I now have these great local connections that I can easily reach out to if I'm in need of help, or a job. Attending this conference in particular was extremely refreshing - knowing there ARE other WIT.
6. Go to / Start a Meetup
Feeling refreshed for 2017, I wanted to do something to give back to my local dev community. I found a need for advanced sessions in my area. It seemed like many meet ups were hosting a lot of beginning related topics, and social events. I wanted to learn more. I started a meet up aimed towards women in tech, but welcoming to everyone. This alone has given me the greatest sense of accomplishment. In addition to helping others succeed in their careers, I've met some amazing people determined to improve the community.
7. Make Connections
Some great advice I received from @JessicaJoEllen is "Network to give". By doing this, you are creating a lasting impression in your network and will give others the sense to 'return the favor'. As introverted as our field is, I feel the most fulfilled knowing I have a network of amazing people.
8. Disconnect & Self Care
Forgot one - thanks edA-qa mort-ora-y.
There's a lot of pressure to learn everything you can, and to have a thousand side projects going, to contribute to the OS community, etc. It's a LOT of pressure. Make time for yourself. Turn off the phone, turn off the computer, turn off the tv. Give your eyes a rest, go for a walk, enjoy the weather. I found that nature has helped me feel rejuvenated after a long week - so in the summer I'll go to the lake almost every weekend. On weeknights, I'll work in the yard, or take my dogs for a walk. In the winter, I'll work out in the garage flipping cheap furniture I've found. These are all examples - but I encourage you to find something you enjoy that doesn't connect you to a bright screen. Try a new hobby & come back to your work ready and recharged.
What has given your development career a boost? Please share below.
Top comments (25)
I love this! A lot of great practical advice.
Personally, one of the areas I struggle with is immersing myself in the online community. I can't tell you how many times I started typing something out, only to delete it (ironically, I almost did that with this comment). I think it comes with the introverted nature. :)
Meetups and conferences are serious game changers. I probably wouldn't have made the career transition (15 years as a dental tech, turned web dev/aspiring game dev) if it weren't for a Ruby meetup I went to. I tinkered a little bit before then, but never seriously put the time into it. After the first meetup I went to, I went all in and made the career change less than a year later.
Teaching is another one of my favorite things to do. When I started working at my current job, I found out a few people were interested in learning JavaScript, so I volunteered to teach them. I think teaching has a lot of benefits - it reinforces what you know, makes you dig deeper into code and ideas, helps you realize you know more than you realize, helps you learn more, etc.
And getting away from the usual is incredibly important. I'm an avid gamer, so even away from the work related stuff, I'm still looking at a screen a lot. But I also love hiking, and I've recently taken up biking. I've also started a weekly blog that combines my love of video games and teaching/education - basically talking about life lessons learned from video games. For me, fun projects like that act as a creative outlet and are completely different from regular work, so it's much more relaxing.
Sounds like you've figured it out too :) I hear you on deleting things - this post also almost got deleted, and look at all the great feedback I've had on it. lol.
Introverting is hard, but sometimes you just have to swallow, close your eyes, and press the button. :)
Hell yes. Great post. None of this is obvious. I remember a feeling of being pretty lost early on in my career, not really knowing "how to level up". I knew how to code, but I didn't really know how to develop software and I was actually working solo despite my junior status, so I was feeling quite directionless. I went to my first Ruby meetup and a few things kicked me in the right direction:
It's hard to imagine now how little I knew about any of these things, but this experience really hit on the value of several of the topics you mention.
Once you have hit on all the checkmarks in your post for the first time, I'd say a goal is to keep yourself from getting too jaded. Keep looking for opportunities to get excited about the technology. Repeated exposure to all of this will keep the fire burning. It's easy to get tired of meetups because you have other priorities, but if you take some time off, remember that you can always go back to this groove to become reinvigorated.
Definitely! Thanks for sharing :)
Finding my second wind was how I came across robots! Best thing you can do for your career is keep learning, doesn't matter what it is. Glad you mentioned Podcasts, I forgot about them, eek.
This is great! Lately I've been feeling a bit stuck in my career and with being the only developer on a project I have no idea what I need to learn or where I need to improve. The biggest takeaway for me from your list is to really put yourself out there and look for people you can really learn from which both things scare the hell out of me! 🙂
Take it in small doses, it gets easier 😊 I didn't talk to anyone at my first conference, but by conference three I've made quite a few friends already.
I really like twitter for learning what other people are doing though- you reach a broader audience. Do some searches for senior dev's, dev's you respect, etc, look at the people they follow, follow them too. 😊
Nearly 20 years in the business, I've lost a bit of my mojo. Was once an active backend web dev, but now largely a grunt in operational IT.
Thanks for taking the time to put in writing what I (and likely many others) already know but hardly practice. A needed kick in the pants, for the second half of my career! :)
We're all in this together! You can do it :D
Very insightful. I wholeheartedly agree! The biggest boost to my career was teaching. I started teaching courses and hosting meetups roughly a year ago. Nothing can compare to the learning process of teaching others. Really best explained through a quote I really like:
Same goes for explaining programming concepts. Not until you explain it thoroughly to yourself can you explain it to someone else.
Thanks for the article, I genuinely enjoyed it. :)
Great tips.
The one I'd like to add is: "Make time to do something else."
Beyond just staving off burnout, it makes you a more interesting person. Even the most avid programmer gurus will occassionally veer off into other topics. By having non-technical hobbies you'll make moreself a more interesting person. It will also help you find the humanity in other technical people.
Absolutely- I forgot about this one. I'll add it when I get to an actual computer. This has been extremely important in my experience as well. Something people don't take the time to do because of all the social pressure of "hacking all night" and side projects. Thanks for sharing!
Great post Kim, I think most of us have had a point where we have questioned our career .
I attended my first conference last week and it was great, there were so many inspiring talks and I had great discussions with people. It left me with some great new things to try and test.
I must agree that the whole "putting yourself out there" thing is hard, I have had half a blog post saved for over a month now and keep finding reasons to not finish it. But I'll get there, small steps and all that...
Yes. This was me not more than 18 months ago. With my earlier 4 years of experience developing on the web, I felt “bored”. Don’t get me wrong, I will always love doing web development, but I needed to spice up the professional side of my life.
So I decided to add native mobile development to my bag of tricks, and that decision alone opened up all those aspects (you mention above) of being a software developer, which I knew existed, but never really paid any attention to.
I’m still working on doing the Blogging and attending conferences, but eh, all in due time.
Blogging is difficult. When I find time I try to write a couple, then queue them up for when I don't have time. Mostly a winter activity too. In Michigan we only have so much good weather, so I enjoy every bit I can!
Hi Kim.
Nice post, I love it. It got me when you said "There's a lot of pressure to learn everything you can, and to have a thousand side projects going" and "It's a LOT of pressure. Make time for yourself". For so long I felt to be so bad on development that the only thing that I can do was crying because I felt so lost in my career.
I want to start blogging about Game Development or Software Development but, sometimes I feel that the only thing I can write is: "I DON'T KNOW WHAT I AM DOING... [Insert some cat meme]" haha.
What do you think about when you are new about something but you want to write about it?
100% this!! I learned many of these lessons the hard way this year after realizing that something must be off about my approach. Recently started to expand my knowledge of design methods and questioning my practices, but I still need to work on the blogging bit :). Thanks for sharing!