I don't know, but I received enough emails from various people asking me how to be "awesome Swift developer" to write this post.
I’d be an iOS developer and it would be amazing if you could me advise on the right path to follow to accomplish that.
Lets say this blog post count as my answer - I probably never answered to any of this - not because I forgot... I postponed...
I want to be an badass iOS developer and I can’t do it on my own, because everyone needs a mentor Warren Buffet had a mentor , I just want to know that is there any chance you can be my mentor and make my dream come true.
I'm humbled and flattered, though my perspective is probably slightly different than yours. I don't consider myself as "awesome Swift developer". I think I would fail every interview process where whiteboard programming is involved. This is basically why I never applied for positions where I know this is a thing. In other words I'm just lame and haters gonna hate.
Here's list of things I found important being developer in general:
embrace legacy
do:
- experiment a lot
- don't be afraid doing things in non optimal way - wrong is way better than none
- open your mind, try new things (if this is Swift, try Swift)
- read blogs of other developers
- learn by doing
- check what's inside to understand it more
don't be a douchebag
don't:
- my code is better than yours
- it's simply not true. Illusion that your code is better just because you know it is really bad and unproductive. People are different - better try understand and fix some parts if you find it necessary.
- don't complain to much about what's done (your work or in general)
- least productive attitude is complaining about the result, or process just because "I'd do that better"
- for God's sake stop telling people that tools you're using are the best in the world just because you know how to use it
- tools doesn't matter. Believe me. It doesn't matter if you prefer Xcode or AppCode, it doesn't matter if you prefer Objective-C or Swift - it doesn't matter at all. Do what you can do, best you can do.
- programming language doesn't matter.
- If you know more than 1 programming language you probably realize that it's all the same. Haven't seen anything exceptionally different in a years.
- avoid "I know better" attitude
- because it's rude, if you want to work with team it's not worth. Focus on improving things rather than criticise others work.
- don't be a douchebag
when it comes to Swift
Swift is relatively new language and it's quite easy to learn. Sometimes I think everything has been written about Swift and there's nothing to add. For me Swift is just a tool to do some cool things in the evenings. You should read the Apple book about Swift, of course - I think this is enough to get started and do thing you could do with any other programming language.
My perspective is a bit different because I know few programming languages and over the times I learned that programming is simply attempt to embrace loops and store values - it's simplification of the matter, though... yea... I feel this way.
Just make me a favour and don't start with yet another JSON parser in Swift.
my work is my passion
I love what I do and I hope I can do it as long as possible. I wish you the same. I also consider my work as developer as kind of art work - the act of creation is something that turns me on.
Nonetheless, programming for fun is late night luxury. I'm trying to do my best at my freelance work and have 2 awesome and never sleeping kids too.
No programming - holiday, family day.
gosh, this is hard.
— Marcin Krzyzanowski (@krzyzanowskim) December 26, 2015
PS. it's end of the year so yea... it's getting a bit melancholic.
Meantime in the wild: Github Awards