Have a silent night, calm days and plan to rest

The end of 2017 is near and the holidays are right in front of us, making everyone slowly coming down. It’s like December is the after work time of the year. At least for those who are celebrating the new year in January 1st., but even when the new year is happening at another date, we look back at the year to see what we have accomplished. Some are evaluating the past year with some kind of scoring system to see if it was a good, bad, happy or sad year. As developer, we might even look back to see how far we went in our own progress and if we gained something at our jobs making this year worthwhile. Yes, I’m talking about the progress of a career.

We work hard on ourselves and at the job every day of the year, gain new knowledge, master some challenging problems or save company time and money by just helping colleagues or using a new code quality tool. As young developers, we see how a senior developer is doing a lot of work in just a small fraction of time while we feel uneasy or even dumb compared to them. It’s like all problems are a piece of cake to them and they seem to have an answer to everything, being dependable and the first team member who you can ask questions. If anything goes wrong, seniors take you “by the hand” and the cause of the problem vanishes into nothing. Some may even be annoyed by them. Still, at the end of the year we take a look at ourselves and realize that we didn’t come close enough to what they are and what they know. What a bummer.

As seniors we compare ourselves to other seniors, friends or even some well known names of communities and conferences and may think, that we still stuck at the same spot like last year. Maybe others got their promotions or worked successfully on an important project making them look like they rose one step closer to… Yeah, to whatever goal they aim for.

All in all, we get the feeling to stuck in our career, but what does the word “career” mean? If we compare ourselves with others, it must be the same thing for everyone and has to be accomplished in the same amount of time. Some people have to work harder than others, forcing themselves step by step toward their goals and witness that others might be much faster, giving the impression to be more competent in the same matters. So we force ourselves to work much harder, ignoring that our body doesn’t work like a machine, while we go up the stairs of our career goals. Every stair tread has the same size but for a tired body and mind, climbing the very same steps become a hurdle. Your battery need to be refilled, but doing so will cost you time. Time you need to invest into your career.

Calm down! You are chasing the goals of others, not your own. Comparing yourself to others means to have the same goals as them, but this is rarely the case. You’re not perfect and the same goes for every other person too. You only see the current career-state of others and not how they reached their goals. Even if you know about previous steps in their progress, you will never grasp how much work and effort were put into reaching a new goal. Neither do you know if all the work led to the expected results or if there even was failure before that. You have to find your own way and that path in your career has to have some silent moments and times of rest.

Resting isn’t just about health

Wasting time by relaxing while others are already planning their next career steps? Stereotype software developers are working until night time to solve problems or bugs, but real life developers should know how important rest is to us. Sometimes it just takes some sleep to solve big problems and in the aftermath, the problem, that was devouring the time of last night, isn’t looking like a big deal anymore. A good rest keeps your mind clear and will make yourself more creative in what you do. This can even be a break for a few days, a short vacation or just a good time at home. You’re not part of a car race where the fastest one is going to be the winner nor is there only just one path for everybody.

As you may have noticed, I don’t see career as a name for rising to the next hierarchy level where you have to be in lead. I even left a lead-position to become more involved in development again. Did I do a step back in my career? No, because I still make progress and thanks to the PHP community more than ever. I know when I have the strength to spend more time on something (like the mentioned night time coding) and I know when I need to settle down and take it slower, maybe even in form of a timeout. This is an important soft skill to learn on your path to whatever your next goal is. Use this season to find your way for your career and don’t forget to take some rest from time to time.

Put Your Name Out There

Ever since I decided for PHP programming language as an ultimate weapon of choice for my software development career, I immersed myself into it. I got online, joined forums, participated in discussions. I spend a lot of time on Twitter which for me is by far the most important knowledge resource. In parallel, I attend meetups and conferences in my area.

Working full-time will earn you a salary, but most of 9 to 5 jobs won’t afford you enough opportunities for staying up to date with the latest technology trends and best practices, which is crucial for keeping in step with times in our industry. All it takes is to allocate some time and effort to invest in yourself – read books and articles, work on side projects, contribute to open-source projects, attend conferences. As a bonus, chances for improving your visibility and reputation in the community are opening up.

Below are my experiences in terms of professional development outside of regular work, in an attempt to become accomplished and recognized PHP expert.

Local user groups

It is very likely that there is a PHP user group in the area where you live. If you don’t believe me try finding one. User groups gather enthusiasts, like-minded people who share the same passion for programming. They act through all sort of activities, ranging from moderation of online discussions and publishing educative articles, to organizing major events that attract hundreds of participants.

Those are the characteristics of a user group local to my area – “PHP Srbija”. Upon joining, I was primarily involved with writing articles on a group’s website, but I eventually found myself in the role of a conference co-organizer.

Being a member of a user group who actively takes part in achieving the goals of the group can be a springboard for improving visibility in the community. In my case it is being a co-organizer of the annual “PHP Serbia Conference”. I met and formed relationships with some of the most prominent experts in the PHP community that we hosted as speakers at our events.

Reach out to a nearby user group or start a new one, actively engage in its work, meet fellow developers, make new friends!

Blogging

To a large extent, programming is about exchanging and sharing knowledge. One of the ways to make a more visible contribution to this matter is to run a blog. I got into it recently when I started my own blog with the idea of sharing experiences and thinking arising from my professional career.

The benefits of a decent blog post are mutual – readers learn something new, useful from it, and the writer has it as a timeless note to get back to when needed.

Starting a blog is quite simple, given the number of tools and platforms that are available. WordPress is by far the most popular blogging platform nowadays. Blog hosts such as Medium are becoming increasingly popular. If you prefer to write texts in Markdown like I do, Jekyll is a leader in static website generators category, but I would recommend Spress or Sculpin simply because they were written in our beloved PHP.

The real challenge is the content with which you need to enrich your blog. But don’t worry, no one expects you to write on a weekly or monthly basis. Best blog posts are born spontaneously. So whenever you have something interesting on your mind, solution to the problem you came to or a cool library you’ve just discovered, or if you simply want to make a note of something, write a blog post and share it with others.

Open-source involvement

Open-source paradise has saved us countless hours of work, allowing us to build businesses on top of quality libraries and tools that are available.

Instead of being a greedy consumer and mere observer, I decided to activate myself in this field as well, by contributing to projects that I like and use, like Zend Framework for example, but also publishing my own work.

The principle of making contributions is simple. If you’ve come across a bug when using a library – fork it, fix it, and open a pull request to the library’s repository. Also, if you feel some functionality is missing or can be improved, propose changes. On the other hand, whenever you write some reusable component, release it to the wild and promote it, because someone might find that piece of code useful.

By engaging in the development of open-source projects, you improve your programming skills by striving to write quality and testable code. Maintainers are very passionate about their projects, and can be very demanding when reviewing pull requests. Don’t take this criticism as malicious, but rather look forward to it and be positive. If you think about it, you get a free code review by an expert and valuable advice along the way.

Public speaking

Most people can very well express themselves through writing, but public speaking is a completely different dimension. It’s fairly easy when the audience is made up of few close colleagues, but doing it in front of 50+ strangers at meetups or conferences takes a lot of skill and self-confidence.

I broke the ice at the local user group meetup two years ago. Of course, it didn’t go smoothly the first time, but I got the hang of it after few talks at meetups that followed.

Culmination of my public speeches happened in November this year, when I gave my first ever conference talk at PHP Central Europe Conference. Surprisingly, it went better then I ever imagined it, and you guessed it, I blogged about it. I consider this one of my greatest successes so far, as I believe that being a conference speaker is a major step forward in the career of every developer.

Some people are natural talents for speaking, but like with any other activity, it’s all a matter of practice. Therefore, the best advice I can give you on this subject is that you go to meetups and conferences, and see how other speakers do it. Learn from the best.

Return on Investment

After a few years of engagement in all these different fields, I doubled the number of followers on Twitter, developers use my open-source libraries, and I have a considerable number of visits to my blog, especially after publishing a new post. I successfully carried out my first talks, and I progressed to the conference podium. The very fact that Andreas gave me the opportunity to express my thoughts on this website and recognized me as one of 24 people for this year is a great privilege and honor.

There’s no doubt that my visibility in the PHP community has increased, and I believe that this fact was crucial for accepting my first conference talk proposal. I would point out that the two exceptional individuals who contributed most to my increased visibility are Marco Pivetta, aka “Ocramius” and Chris Hartjes, aka “Grumpy Programmer”. Some of their re-tweets spread my thoughts and work which then had a significant echo in the community.

If you are wondering where is money and profit in all of this, try looking at things from a different angle. There are more and more companies that ask for GitHub profile URLs instead of resumes. Almost every company appreciate developers writing publications either on their own blogs or specialized websites and online magazines. Being directly involved in the organization of big events such as IT conferences is a great thing in itself, but also a big plus in the eyes of employers.

Believe me, the chances for employment are much higher if you’re active after working hours, and at the same time you’re remaining employable. PHP community can help in achieving your personal goals and ambitions in many different ways, so embrace it and get the most out of it.

 

The Rise of the Elephpants

When I was invited by Andreas Heigl to participate on 24 days in December, I was quite unsure about what exactly I would be writing on my post. Not that I don’t have thoughts about community; I actually find myself thinking about community all the time. It is literally part of my daily job.

The challenge to me was writing anything that wasn’t said before, multiple times, even by myself. How not to repeat over and over the same discourse, of how awesome and how empowering the PHP community is, or how grateful I am for being part of it? Mind you, this is all very true, but it’s becoming a cliche. What else could I say about community?

I feel tempted to start with a definition of what this fuzzy word means. According to Google, community is:

  1. a group of people living in the same place or having a particular characteristic in common.
  2. a feeling of fellowship with others, as a result of sharing common attitudes, interests, and goals.

The second definition feels right on point for describing any tech community. However, when talking specifically about the PHP community, there’s something else that leverages this fellowship feeling to a point where we can genuinely feel we are part of a big, distributed family.

The element I’m talking about is actually a pain point for all of us: we are a rather marginalized community. Often underestimated and even disrespected as professionals, PHP developers have to exercise empathy in a daily basis – it’s an insane amount of crap and hate that we have to deal with, just because we do PHP. Most of us already learned that there’s no such thing as better programming language, but instead, a better tool depending on the job. We know that a programming language can definitely evolve with time, and that this is only possible with the help of a strong community around it.

Some people call this “thick skin”. I call this wisdom. It’s no coincidence that our mascot is an elephant: sometimes even revered as deities, elephants symbolize wisdom and strength in many cultures.

Ganesh

More than once I saw the PHP community get together to help one of its members in need; more than once I witnessed this wisdom and this strength shining through and beyond the boundaries of our community. And more than anything, it requires strength and wisdom to reinvent itself so gracefully as PHP has been doing in its 20 years.

Wise elephpants out there, I wish you a fantastic new year. May 2016 bring us more love and respect, and a good adoption rate for PHP 7 🙂 No matter what are your beliefs, the end of a year is always a meaningful checkpoint to think about what you accomplished so far and what you can do better in the year that’s to come. Happy Holidays!