Home > Article > System Tutorial > Success factors for developers
10 years is an important milestone, and I started to reflect on the mistakes I have made in the past and think about what kind of advice I hope to get from my peers. With everything changing so quickly, I'm not sure these lessons still apply.
Whether you are a newbie or an experienced player, I believe you will find the puzzle-solving methods I provide very useful. I look forward to hearing your views and comments, so please feel free to write me back.
Stick to one platform, framework or languageThe biggest mistake I have made in the past 10 years is: I changed software platforms every time I changed jobs.
First I used Enterprise Java Development, then embedded C software, then, for Windows desktop applications I used VB, C# and C, then for iOS applications I used Objective-C, then used NDK to make Android libraries, and finally made Android application.
This career is truly remarkable, but the bosses don’t care. There is no point in spending 10 years developing software. If you can't create Android apps, you won't get a job as an Android developer.
Changing software platforms can have a huge negative impact on your resume. It's really difficult for an employer to decide to pay a lot of money to hire a developer who is not an expert in a particular software product.
Many companies don't care about your past. Technical interviews are more important than all those years of working on other software platforms. This is why good developers can find jobs even without years of development experience.
How can we adapt to the market? You can do it, just like me. But you need to invest in yourself: learn new skills in your free time, and even take time off to learn if you need to. Also lower your salary expectations. You need to take one step back and then two steps forward.
Once you find a software platform, framework, or language that you are passionate about, stick with it. Your expected salary and your employability will be much better in the long run than switching software platforms frequently. Find the best company that has demand for this skill set and jump in. I know this is obvious, but it took me years to realize it.
Don’t seek management positions just for moneyI used to think that high-paying jobs were for people who wore suits and made executive decisions. While this is true for a small percentage of people, skilled developers typically earn higher wages than middle managers.
I have always wanted to be a project manager in my career. I became a Master in Project Management after learning many interesting things. However, after working as a product manager for a while, I eventually realized that wasn't for me.
As developers, our frustration comes from bad company culture, or more precisely: bad technical culture. I saw a huge difference between these two aspects and I left Spain. I feel more appreciated (now) and I love my job more.
If you are unhappy at work as a developer, promotion does not solve the problem. It is better to change jobs, change companies, travel, open your heart and work abroad. There are many technology centers in the world that are in urgent need of developers.
Frustration and feelings of failure among developers are more common than we think. Our managers rarely understand that the mental and physical exhaustion caused by time constraints affects code writing, results and volume. Sometimes we just need to get out and get some fresh air. As mentioned in the tips I wrote below.
Take a breakI had never been unemployed until this year. After 10 years, I needed to take a break to "restructure" my career, and it was one of the best decisions I've ever made.
I took a 5 month break, left my job and became voluntarily unemployed. I could feel how worried everyone was that my career would be over, but it was just the opposite.
From changing jobs one by one in the past 10 years, during which I only took paid annual leave, to now I don’t have to work. It’s really great. There’s nothing worse in our industry than working in a job that doesn’t bring you joy.
In my case, for 4 years, I wanted to sit down and learn German, but never got around to it. During these five months, I took intensive reading courses, three hours a day, which raised my language level from A2 to B2, which is enough for daily social activities.
Going back to work again was a lot easier than I thought. So don’t be afraid to take a break if you need one. In our industry, a gap in your resume is self-explanatory. However, if you do this, you have to make sure you follow my advice below.
ABC: Never Stop CodingDuring my 5-month break, I started a personal project: an Android app using an API. I would like to have an easy-to-use application for adding and removing records from my collection. I also wanted to hone my development skills.
Thanks to this cute little project, I was able to tackle job interviews slowly and confidently. It allowed me to experiment with new libraries and development patterns that I still use successfully at work today.
I wish I had started doing this. Our work tends to become repetitive and become more disorganized after a few years. Therefore, our space for exploration, experimentation and self-improvement becomes smaller and smaller.
Having personal projects, reading (writing) podcasts and trying to speak your mind will make you a better developer in the long run. For fun, put your code on GitHub and share your experiences with the community.
Participate in the communityWhen I was a student, I always thought that I didn’t have time to participate in group and club activities. When I got my first job, the last thing I wanted to do was hang out with other developers.
I was wrong.
Meetups and user groups are fun and a great place to meet fellow developers outside of your work circle. Be proactive if you want to take advantage of this. Offer your help, share your experiences, talk to those around you. Everyone loves to talk about their experience, and you'll probably meet some potential employers.
Some novice groups always need trainers. You can also mentor new people, run workshops, or even launch sponsorships.
If you don’t know where to start, ask a question on Twitter or search on Meetup.com. Look for Google Developer Groups, Cocoaheads or JS usergroups. Local groups are always better than global communities, go to meetups and have fun.
Of course, pay attention to your behavior. Learn their code of conduct and stick to it. Get liked by different types of people and don’t be afraid to talk to them so you can diversify.
Ignore recruitment announcementMy final piece of wisdom. Don’t get jobs through job postings.
The recruitment announcement has been spoiled. Overly complex HR processes, candidate tracking systems, resume spam and a lack of clear communication are just a few of the reasons why companies no longer rely on headhunters to find talented people.
Real geniuses ignore job announcements. The Internet is a way. When you're in your local community, you'll get the latest news - when someone leaves a key role, when a company you're interested in secures funding and who's hiring.
You will also know that some companies are better than others. Many developers at companies that are hiring will be honest with you and will tell you whether their manager is great or even what their salary is.
If you see a job opportunity that interests you, check your network. See if anyone in your user group or LinkedIn works or has worked there, or ask if anyone knows anyone there. Contact them directly to talk to the CTO, HR manager, or other developers in the company.
Headhunters are great, but don't rely on them. Their job is to fill a job opening before someone else does, they're not there to help you find a job, they don't work for you. If the spot they offer is exactly what you're looking for, go for it, if it's not what you're looking for, say thank you, but there's no need to actually thank them.
I hope my article is helpful to you. I guess these boil down to being happy and fun. Don't have too high aspirations, just enjoy development as a hobby, and you will always love your job.
The above is the detailed content of Success factors for developers. For more information, please follow other related articles on the PHP Chinese website!