As someone who was deployed in Life in 1981, with over 15 years of experience, I think it's time to share some of the most basic but powerful tips for developers that are just starting out. However, some tips might even be useful to veteran developers.
Hey, I'm Edwin Klesman. I was deployed in Life in March of 1981.
Married and father of 3. Tech Lead at a startup doing many things 😅. In my spare time, I build side projects and work on creating viable products (sharing content and documenting my endeavors on www.shipharder.com).
I started out as a junior web developer at a large Dutch Bank. After learning a lot on developing with Asp.Net, I was asked to help coördinate System Testing - I temporarily even became a full-time Test Coördinator - to up the ante quality wise.
After that very cool time, I learned myself to develop iOS apps as soon as the iPhone 3G came available in The Netherlands. I posted about it on my blog and I updated my LinkedIn profile to match my experience.
During this period I met my wife, and we were living together in our first place.
I was soon asked to join a (then) small company to build native mobile apps full-time. I learned a lot of working on a Macbook and building good software using agile development (SCRUM) and focussing on TDD. Later I tasted some hybrid cross-platform development and even worked with Ruby on Rails some time. I was now a mobile developer who knew the ins and outs.
After a year or two, I was asked by an old classmate from my Technical Engineering study if I wanted to help a bigger company by building mobile apps using cross-platform development with Xamarin and hybrid tech. That's where I became a senior cross-platform mobile developer. I built various B2B, B2E, and B2C apps. One for a Dutch festival which got more than 30000 downloads in a few days.
I had a great time and the team and company were awesome. But my personal interest had been going into reading, listening and talking about startups. About the Lean Startup, The 4-Hour Workweek. I followed some prominent Indie Hackers like Mubashar Iqbal, Pieter Levels, and Marc Kohlbrugge. My entrepreneurial fire (which always was there, I believe most developers have this feeling of wanting to create "their thing") grew more and I got more and more interested in building side-projects, MVP's, Proof of Concepts (PoC's) and product development in general.
On a personal note, I had become a proud father of my twins, a girl, and a boy.
In 2017, someone hooked me up via LinkedIn if I wanted to come work at a startup in a city nearby where I lived with my family. A startup backed by a larger mother company focussed on humans and health it appeared to be.
It was a hard call, going from steady to risky and from large to a place where I was going to work with max 2 colleagues. But I went there and I loved it. My love for product development was too large to ignore this chance. Also, all the hacks, productivity tools, ways to go at marketing, product specification, pivoting, etc. were (and later, proved to be) just what was useful under these conditions.
I became the "Tech Lead" and get to work on more than just code. It's working at everything that makes a company.
During this time I became the father of my 3rd child, a little girl. The pack was complete.
Now you've learned my career story, let's sum up the things that I found most valuable over the years:
And I want to go further this time than "finding out what stack" you like to use. Or if you want to be a front-end developer or a backend developer.
It was only one year ago that I found out that I don't have to code all the time persé.
I want to create products that provide value. It could be supporting stuff that is valuable to the development team. It could be an entire mobile solution that will be put to good use.
But it also could be a website to help others get the right mindset as well.
Takeaway: Although you don't have to figure this one out at day one, try to think what aspect of being a developer brings you the most joy, and always be keen on if what you're doing is aligned with your aspirations.
It might take some hard work (just like it took me months to learn iOS dev in my spare time) but if you work towards your goals it is more likely to pay off.
If you want to learn something - and you can't do it during your day job - go at it by reading tutorials, building sample projects and do the thing.
Consuming info isn't going to learn you the coding, coding learns you the coding.
More important, if you aspire to be doing more of what you inspire, talk about it.
Talk as in: blog, vlog, write, present about your interests. Put the things you do that are most dear to you on your Dev.To profile. And your LinkedIn profile (damned you if you don't have one yet. This is a real door opener! - ps: I'm not affiliated).
The minimal thing you should be doing is sharing what you've been doing.
But if you really want to put it to work for you: create value for others from what you've learned.
This can be done by creating tutorials, writing content that shows what you've learned and how you learned it (share sources, examples, etc.). Or start a YouTube series on how to do things.
People will see this, and know about your knowledge. Teaching gives respect and shows that you're someone with know-how in your field.
Whatever you do. Always try to provide value first. As a junior, I got some assignments for a project and started to build stuff. But there is no value in coding on its own.
The real value is in the part where people have a problem. Where there is that itch that needs scratching. Find out what it is, and talk with those people about possible solutions. Create value by translating what it is from the technical side of things, that could help them.
Providing value will always help you move in the right direction
Want to learn new things? Provide value by documenting what you're encountering. Join groups with people that are already good at it or learning it, too. Share your insights; what is difficult, what is easy, where are good resources.
Do you want to change your career? Learn new stuff, write about it and make it valuable for others. Show it in your profile and others are likely to pick it up.
Are you building a side-project and hope that it will take off and provide you additional income? Help other people struggling in the niche that your product is for. Answer questions and engage in (related) communities, share insights and lessons learned, etc. Just create value without selling. You can always indicate how your product provides value and/or mention it but keep the focus on providing value.
In this life, you have one resource that is more valuable than all the salt together during the Roman Empire: time.
You are spending your time to build your ideal life, and making your vision and dreams come true.
As a developer, there are numerous paths, expertise, jobs, and projects that you can fill your days with. Choose wisely where you spend your time at. Always check back with yourself what it is that makes you the most excited.
Sure, there will be days (many days) that you'll come home from work and "just fixed a single bug that made you go crazy all day". And that sucks.
But if that is a single day out of 100 others where you're building awesome projects. Where you're learning and growing so much that it enables you to move forward and keep positive, those days are worth it.
You can even use tools to keep track of how much fun you're having / how much you're learning so you can monitor your own happiness.
Keep in check with yourself and try to set a goal that you want to work towards. Then define the trail that will get you there. See if that trail gives you energy, and sets a smile on your face.
As you see, it is YOU that increases the chance to get to work at things that you love. Don't fall into the trap of "wanting to learn everything, having too much to do and too little time" and only focussing on learning and applying new stuff.
Try to keep in check with yourself, what makes you happy, and where you want to go. It is equally important to what you're going for on the technical side of things.
When the garbage collector comes for you, you at least want to know you've been saving a nice amount of value on the hard disk of Life, right?
Code Hard, Ship Harder - Shipharder.com