When I look behind me, I can’t find any of the “career decisions” I made that could have been made differently. I made mistakes, obviously. Things could have been better at some point. But, as an eternal average person, I don’t think I was in competition with other students or friends. I don’t even think that any of my teachers, relatives or “adults” that I met during my student life had ever lied to me about the professional life. They tried to help me as well as they could, based on their own experiences and their own point of view about the life. Sometimes it was fantastic and (let’s face it) sometimes it was miles away from the real market state.
However, I used to have a pretty low opinion of myself: a clear lack of self confidence (and a misplaced pride probably). I was always trying to be better and when I failed, I just kept it to myself and didn’t complain.
Considering that, some aspects of my life could have been achieved smoother if I did knew earlier what I know now: You are not alone!
We Are Not Alone
I mean that you are not alone in this exact situation; a lot of people compare themselves negatively to a co-worker. In front of any form of pressure, there are other people that feel bad and think that they just can’t do it. By looking at the stars, we can feel so little. We may feel that we don’t have the talent, the time, the required skills. But you are wrong: everyone has to start somewhere. It will be tough, it will take time, but you will eventually succeed.
Protip: Nobody knows everything. Instead of focusing on your weaknesses, take some time to invest on your specialties.
I also mean that you are not alone. Period. The software industry is a dynamic place where you will find a lot of different people: people like you, people with an oversized ego and also people who are willing to help. Sharing knowledge isn’t only for people inside companies. If you look at the Open Source world, it’s mostly a bunch of people who want to share.
Ask questions, don’t be afraid to appear dumb (there is no such thing as a dumb question), talk about your problems and share your success.
Protip: You actually can submit questions on Stack Overflow … it took me quite a long time to accept this simple fact.
During one of my first jobs, I had the great luck to find my Mentor. Okay, it was not the “Mr. Myagi” style but still. It was someone really really good at explaining a complex concept in a simple way. It is not a skill that everybody can have or learn, but you will encounter this kind of person, even if it’s for a short period of time. Even if this person can teach only a single topic, my advice is simply to listen and take notes.
Protip: The more confident you are about your strengths and weaknesses, the easier you will detect your next mentor.
Pimp My Geek
Now it’s time to get real. Buy a new t-shirt, put your laptop in your bag and tell your friends you will be busy tonight. Even if that goes against the stereotype, the Internet is not the only meeting place for the developers of the world.
Once in a while, the users of almost every technology out there are getting together at events to talk about their favourite topics. These events happen almost everywhere but you’ll find more of them if you live in a big city. Often free, they will probably not be different from the student parties you are already used to, except the average age will be quite higher, the ratio men/women will be quite lower and you will be the weirdo if you don’t talk about geek stuff.
There are different types of events:
The User Groups: Oriented around one language or tool. They can be frequent (every months for example) and it’s a kind of events that bring the biggest crowds. There is one or more talks, drink and food and you generally have the rest of the evening to socialise.
Hands-on or Workshops: Less frequent, you will have to have your hands dirty. It’s the time to practice on a particular piece of software with more experimented people. It’s a very effective way to crack on something new.
Coding Dojo: Dojo are serious stuff. Smaller events, they are generally executed around functional languages and you can have either a Kata or a Randori
- In a Kata, some guys will explains, through a live coding session, a solution to a given problem. They are prepared and you can discover very good practices from masters
- A Randori is not prepared. Everyone in the room has to be a part of it and the main goal is to learn Test Driven Development the hard way. If you learn a new language in the meantime, it’s a nice side effect. You can find blog posts that shows how it works.
Barcamps: No coding here. But no dedicated speakers. Everyone can propose topics and people will regroup themselves in rooms and talk about these. It’s a great oportunity to take the lead on your favourite subject or just fly from room to room to mesure the mood of the community.
Hackergartens or Hackathon: Here, you can meet the maintainers of open source projects and, with them, start hacking, fixing issues and pushing code on their repositories. It’s perfect to discover the habits and first steps of Free Software contributions.
Conferences: Paid events, on one or more days. Often more officials and professional than User Groups. It’s nevertheless unique events where you will see celebrities and framework creators. Inspiring, you will almost always come back changed and remotivated.
Code Retreat or Masterclasses: During one entire day, you will have the chance to build, through iterations, a piece of software and trying to apply some good practices with experimented Craftsmen.
Startup week ends: You and your team have 48 hours to create a startup. It’s not a joke but a contest. Entrepreneurs are here to help you to shape your idea. You can concentrate on the mockup, the code or your business model. At the end of the week end, you can win the support of a founder to create your own company.
I am personally convinced that these meetings will always exists. It’s like musicians. There will always be people that want to share their passions, learn and teach. Beside, nowadays, most companies have understood the benefits of it. First, as a sponsor, because you it’s often the community targted. Then, as a recruitment pool, it’s a good way to find motivated talents. And finally, as source of knowledge and motivation, it’s very positive (and cheaper than training) to send employee at conferences for example.
Where To Start
It depends on where you live, but it’s not difficult to find your nearer User Group. Google will make a wonderful job on that. Eventbrite, Lanyrd and Meetup are also very efficient. Don’t hesitate to follow everyone related on Twitter, other social platform or look at the mailing lists. Don’t be shy. It may also be a good reason to travel around the world to check other conferences.
If your don’t find anything or if your favourite language/methodology/tool has not his event. Take the lead! You can start by doing Tech Talks in your company. Asking for help in your city. It could be a simple meetup at Starbucks a Monday morning with five attendees. It’s maybe the start of a new adventure or maybe not. But it’s amazing what we can achieve together.
As a follower of the software craftsmanship movement, an open source enthusiast and an Agile advocate, Aurélien has worked with computers for almost 10 years. While starting his career as a technician, he quickly became an experienced Java developer and a good team worker. He loves the web, small automation tools and he is always looking for new technologies to play with.
You can know more about him at: aurelien.thier.ioTweet