Specialize. I was stretching myself thin, trying to do and learn everything. I found an interest in building specifically for Shopify and jumped on the opportunity to become a Shopify Expert, and the rest is history. Specializing in general allowed me to really hone in on the skills required for the tasks at hand and let somebody else with a stronger interest in other areas excel at those.
Quit my corporate job to do my own thing. I was working for the government as a developer, and there were so.many.hoops to jump through. It took an incredibly long time to get anything done, to explain why I needed specific permissions on my computer to do my job. (For example, I had to complete a 9-page document as to why I needed something other than Notepad for coding.) I waited until I had a solid line of work coming in (in other words, I found myself a retainer client) and then put in my two weeks. It's been a year and a half since I started working 100% for myself and I couldn't be happier with my decision - it came with a significant pay increase, complete freedom over my schedule and selection of projects, and most importantly, really proving to myself that full-time freelancing is a 100% attainable goal.
I also think specialization is a key to success! It is really easy in tech to jump from framework to framework, language to another language, but we fail to realize that companies don't need jacks of all trades, they need the best doing their jobs. Since I focused on becoming a great Android developer I never had any problems finding my next job.
+1 for Specializing. Not only because expertise usually can lead to growth in your career, but also because specializing hopefully means you are more interested in that area.
Until they have a new generation of FancyPhones invented and Android became a history.
Let me provide a counter-argument to 1, because so many people love it: if you specialize, you narrow down your options. So, you're the world's most renowned expert in MUMPS? Congratulations, but almost everybody stopped using it and there are a total of 10 companies you can work for in the entire country, only one in your city. Hope it doesn't go under, or you don't get into a conflict with you boss.
Best Symbian developer in the country? Sorry, Nokia almost went bankrupt, and switched to Windows anyway. What, you thought that'd never happen?
The narrower your specialization field, the more at risk you are that the entire field will be disrupted, and the less jobs are available to you. Better hope that you picked your specialization well! And remember, we all suck at predicting the future. Yes, even you.
Interesting point - but I'd argue that being a specialist shouldn't mean tying yourself to one technology forever.
I've been working in web content management for sixteen years now, and am on my fourth major CMS. I (and the company I work for) have "specialised" in all of them for a while, but we've been flexible enough to jump ship to different technology when we see one system getting overtaken or when our market's needs change.
I'd also make an argument that demonstrating that "ability to adapt and learn new stuff" skill is a really good thing for your CV alongside "really knowledgeable about something". IT changes fast, and good employers should value people who can understand and adapt their skills to those changes.
Specializing doesn't necessarily mean down to one language.
You could specialize in a broader topic that's still focused, like mobile development, or handicap-accessible websites, or web security. A specialty like one of those seems more marketable than saying "I know language xyz" anyway.
Specialise. Absolutely agree. Narrowing focus down and aiming to be the best I can be in a specialised field of knowledge. Not being ignorant to "everything else", keep an eye on things surely. Like switching to GIT when the time came, keeping up to speed with new major development trends. But always keeping an eye on the ball though.
This was so great to hear. I'm in a similar boat - currently working 2 government terms and really wanted to specialize in mobile dev & building for Shopify. In my own time I'm torn between so many languages I "should" learn - when really I know what I am leaning towards and enjoying, so I should focus on that for now.
Anyways, I'm late to the game but early in my experience, so I know I have a lot more to learn! Just good to know that I can sit down and focus on something, even if it's not related to my job at the moment. Spoiler: really not enjoying my co-op placement.
The difference is very distinct: narrow experts know well how to use something produced by those who rejected to stick to one single technology.
Former are frequently more satisfied with their salary, latter are almost always more satisfied with their job.
Interesting, I've done pretty much the opposite of specialization to find my success. Isn't specialization in too much danger of becoming obsolete?
I was struggling with getting a proper job training. I always wanted to be a developer but i didn't find a job. I did jobs i didn't like (like blue color jobs) and ended up in the QA department of a callcenter.
As i lost my job in the QA department and had to do outbound calls, i gathered all my courage and started a job training in a web agency (leaving a somewhat decent paid job). Turned out due to my experience as hobby dev i found my profession. Now i'm working for 7 years in the industry and won't go anywhere else soon.
It wasn't an easy decision and there were so many challenges (like financially) and everybody in my age already have found there spot but i did not regret anything. It changed my life.
That's so awesome!
Applying for positions even if I didn't tick all the requirement bullet points for them. I didn't really think about this one much at the time and thought everyone did this, until after a few years in my industry I kept hearing this sentiment of people being afraid to apply for jobs just because they don't 100% fit all the criteria. I figure if you don't blatantly lie and claim to know something you don't, the company will do its job of weeding out an applicant if they're underqualified to do the work.
Learn in your own time. I've always had my own projects going ever since we got our first computer after moving from Ukraine to the US. The ability to learn quickly on my own helped me greatly as someone without a CS degree to fall back on.
Switching from tester to developer. I was a tester at Microsoft when they laid off most of the test team and converted them to data scientists. I was lucky enough not to be laid off, so I had the option of staying as a data scientist, but I also got lucky that my sister dev team wanted me, so I switched. What I'm doing now is exactly what I want to be doing, and I have a great career path open to me.
A lot of the same things as others have said--but the biggies:
--writing books (back when that was a thing).
Both of these things leveled out the peaks and valleys of freelance and got my name out for more biz.
Postponed my admission into medical school to explore working as an Software Engineer in health tech. Its now two years later I never make it back to medical school cause I love my job and love programming too much!
From a java developer into a front-end developer
1) to go into mobile development
2) to not stop looking for my career until I found a supportive manager and team. I found myself in a few poisonous positions that were taking a mental toll on me. I'm on my 3rd company in 4 years, but I'm very happy now. :)
1) Apply for that job. I almost didn't apply for my current job because I thought I wasn't qualified. I'd made an assumption without even trying. My fiancee persuaded me to in the end. Turns out I've found a great team and manager who has helped me grow into the job I have.
2) Don't feel limited to the job title you're given. If you get employed as a Software Dev and want to help with something else in the company, pitch it to your team/manager. I do not regret asking to help the marketing team with their work, and it has given me new ideas about how to approach both my development and how to help promote the work my company does from a technical standpoint.
"If IE is brave enough to ask to be your default browser, go apply for that job"
Whole heartily agree with the second point! That's how I got to my current position in my company, found a niche I like, helped where I could, and then my manager asked me if I wanted to do that particular work more. Has pushed me to grow a lot faster than I would have otherwise.
Mine may be trivial, but right now it has been the absolute best decision I've made: I decided to become a developer! And then I stuck with it, and stuck with it, and stuck with it...always when I thought I wasn't smart enough or I that I couldn't go on.
I'm still really new to web development -- I haven't even gotten my first job as a developer -- but after all the hard work I've put in to this transition I'm starting to actually see myself as a developer. And every time I think of myself like that, I know that making this transition has been the best career decision I've ever made.
I can't wait for all the future decisions surrounding this career!
That's not trivial. I'm in the same boat. Looking for a developer gig and working on my personal projects. Good luck to you!
Welcome aboard, then! Web development is a very rich area with a lot of options out there.
Personally, I'll say: Sticking in the entrepreneurial side of things. I almost jumped to a bigger company a couple years ago. Looking back on it, I am really glad I stuck to what we are doing.
The money, had I left, would have been better than anything I am currently earning, but I have learned that I really have to be navigating my own path. I am confident, with hindsight, that I would have been frustrated and ultimately burned out at a large organization like that. It's just not my thing. If I ever join a large organization, I want it to be for particular project where I'll definitely get to be creative and have agency. Being a cog in the wheel is not my thing.
I'd guess the opposite is true for many others. Stability and career ladders have never been my thing. I'm 28, though, and I might have a different perspective in a few years.
Thanks for your POV, Ben. I am also 28 and reeling against the corporate career ladder that so many people are preaching to me. I don't know if it's wrong or right, but I know I have worked my whole life up until now just to scrape by and pay the bills. If I can pay the bills AND enjoy the hustle - that is value on life investment (for me)!
I find myself to be more entrepreneurial – I've started side projects and companies in high school, college, and now doing freelancing on the side. None of them home runs or ventures that generated fuck-you money, but non-trivial. But my day job and my primary income comes from working at a larger company.
I'm feeling that burnout and the frustration that I can't navigate my own path or trust my own judgement.
But despite having earned several thousand last year, I don't have the confidence to do it full-time yet. That it can provide a stable income for me to live on and save up for large goals, like a house, marriage, etc. How did you get started on your entrepreneurial tech journey?
Actually really joining the tech community(ies) for areas I am interested in. And by really joining I meant I started by attending regularly and often, then offering to help, then organizing and running my own events. There's no better way to become immersed in the thing you are trying to learn, meeting people who are really smart, networking, and staying current on trends. Also, you make great friends and jobs start looking for you, as opposed to the normal way of things :)
+1 being an active part of the local community it totally changed the way I see development. It took me 15 years (if you include also university) to realize how fun and rewarding tech events are.
Quitting a terrible job after only 6 months. It just WASN'T working, I was unhappy, bored, angry, and I didn't really see it changing. I got A LOT of shit from people saying I was just a millennial jumping jobs whenever something hard came along, but no, it was really not a good fit and it was best for both parties. Now I am at a place that fits my career goals, my interests, and my lifestyle.
Anybody giving you shit for leaving a job that was clearly not working out for anyone is an idiot. Congrats on finding a place you're happy with!
Hard not to be happy at Washington Post :P
Look for a part-time job in Software while I was still at University.
I was just about to finish my industrial placement year, and really didn't want to lose the valuable experience of working on real-world projects whilst finishing my degree. So I emailed a local bespoke software company who were hiring for an Intern Android Developer position. The position was initially supposed to be for 12 weeks full time, but I explained my situation and ended up doing 6 weeks full time, then I continued to work part-time whilst finishing my studies.
Because of the choice I made, I've just been offered a graduate position to start in May!
I was originally going to say my best decision was to not specialize. By always learning by always doing new things, my opportunities and capabilities continue to increase. At some point, you see enough that everything starts to become similar, making it even easier. Then at some point, you look back and realize, "Huh, I feel like I could do anything I wanted."
However, more importantly, I think my best decision was and is to always follow my interests. For some this might lead to specializing, for others, generalizing. Maybe for me it was a little of both. However, if I didn't do this, I would not be motivated to learn and try new things. I would not be driven to finding the edge of some area, putting me in the right time and place to be there for major innovations, in some cases making them myself.
Showing my side project to the CTO.
Originally I was in Marketing as a Web Developer, but was fiddling around with React and Elector during my spare time. I managed to patch together a simplified version of one of our product features using our API. It was a fun side project while I learned new tech. I showed it to our CTO and he offered to switch me to Engineering. Great career move, great support from my company, and it wouldn't have happened if I didn't do show him anything.
I said no to an offer. I interviewed for my dream company about 7 years ago for a developer position. I kept insisting that I wanted to work as a developer for them. They kept pushing me to take up a Business Analyst position. When they finally came back with an offer, it was pretty good with great salary working for the Director of a one of their divisions. BUT it was a Business Analyst position. There is nothing wrong with being a BA. It just wasn't what I wanted. I didn't even have an another offer at that time to consider. After a few sleepless nights, I said no.
Since then I had some great and not-so-good experiences. However, all of it gave me the confidence and the ability to bring a lot of products to life. Now that I am down the entrepreneurial route, it's come in handy for the various projects that I am working on. Hopefully, one of these days I'll be able to make a living off of one of them :D
Being picky and actually knowing what you want is HUGE. I quit a very good job with no backup over that sort of thing.
Pushing myself outside of my normal tech stacks and becoming self employed for a year.
I emigrated to Australia and moved to a rural town with no computing industry. Which forced me to network online and find work via word of mouth initially, and then finally though social media and publications.
Met some very strange and interesting clients along the way, each with their own bespoke needs but I gained an big appreciation for accuracy in effort estimation, client communication, and the day-to-day management of a business.
I became leaner in all dev tasks and increased automation (it was my money being burned if I spent too much time on a feature), read more dev books in my off time. Due to the range of needs from clients, I was forced out of my comfort zone of iOS and Android dev into the wider web, learning JS, Typescript, Angular2, CMS development (Silverstripe, Wordpress, Drupal) and more PHP than you could shake a stick at, and lets not sysadmin tasks and server management.
It was a grind of a year, often feeling depleted, overworked and as though I wasn't getting anywhere, but I churned out 10+ websites, 4 apps, a framework for a clinical trial and won an Australian design award, so on reflection it was productive and well worth the grind.
To top it all off, at the end of the year, a great company that I had been consulting for offered me a full time senior role, I get to work from home, and I thoroughly enjoy my work. It took that year of hard grind to get me where I wanted to be.
Let's chat! I find myself in a similar position to where you were before you started branching out, and it would be great to get some perspective.
I've been specializing in iOS development for years now, and it feels like there just isn't enough opportunity out there sticking within that one niche. I've lately started picking up other stacks with the hope of getting more remote client work.
At the time, I was working from home and happy with my job. But my husband knew I had the potential to earn more money, and encouraged me to find a new job. I have been with my current company for 9 years now, have grown so much as a developer (moved from front-end to back-end), have gotten to do some traveling, and have been involved in a world-wide open source community.
Making the career switch from design to development. When I was first out of college, every other designer I talked to warned me not to start learning code because once an employer found out I could code, I would never be assigned design work again. Nobody ever encouraged me to try it out or see how I liked it, and it was years before I got there on my own and discovered it was actually a much better fit for me than design ever was.
I have two decisions of equal value that deeply influenced my career.
1) Rigorous Software Engineering degree. Post-secondary schooling in tech/CS/SE isn't for everyone as many folks can carve their own path and succeed. However, I need structure and frankly, I know that my program pushed me so much further than I would have pushed myself on my own. Especially foundation topics, I think I would have brushed them off. Because of my mastery of them now, I know I can rely on them and I'm able to chase some really funky ideas!
2) International co-op work. I had this opportunity through the required co-op component of my program. It's a standard job search process where the school doesn't guarantee placement. It's a chance for employers to post jobs and be able to accurately know what skill level to expect from juniors.
Through networking at the University, I was able to take a junior role overseas. I essentially exploded out of my "comfort zone" and became extremely OK with being there. This is such a crucial skill to have in a career, being in the deep end and figuring things out.
Focusing on what I like (programming) and helping the local community.
I wrote an article about those worst/best career decisions here too: dev.to/miqubel/mistakes-i-made-as-...
Have you found a way to benefit the local community with programming? Curious. :)
I collaborate in an Android study jam for complete beginners, both as organizer and as mentor, also as part of the Women Techmakers activities, so it not only helps beginners do their first steps in tech but also helps with diversity.
There are many local communities who need volunteers to organize events. And you can change someone's life with this little effort.
Going to work for a non-profit has presented me with work (education software) that has value on its own. Now I code to achieve things for others, not for money or for my own self aggrandizement, and those others benefit directly. The goal is never money.
Because of that, I am excited to do the work and the people I work for are grateful for my creativity and efforts. As a consequence, I have a great deal of freedom in my choices of tools, techniques and language.
I do not make a lot of money but, I feel that my working life has value on its own. That is a very satisfying way to feel.
My best career move by far, was to take a chance (and waaaaay less pay) and work for a bootstrapped startup. That being said, I do realize that YMMV. All startups are not created equal, so there are always many risks and it may not be for everyone. In my case, I was very lucky. I worked hard for very smart (and very generous) people. I’ve had a couple of different startup experiences.
When you’re young and inexperienced it can be challenging to vet those opportunities, but it’s important to try and measure the talents and experience of who you’re working for in that environment if you’re going to take the risk. It’s more about the people involved, and you can learn a lot, even from a business venture that ultimately doesn’t make it. In fact, some would probably argue that you learn more from the failures. Of course you have to be engaged and in it for the learning experience, too. I’ve always been pretty lucky to have really awesome mentors throughout my career, but I do seek them out.
The startup experience was invaluable. It gave me a very well-rounded business aptitude that can be hard to get in a larger company. I met wonderful people with superb business minds and have maintained great friendships with most. It paid off financially — not only directly from the startup, but I’ve been able to leverage that knowledge for the longer term, too.
I think having great business sense is important. I can’t even overstate how profoundly important that entrepreneurial knowledge has been to my career, regardless of my role, and regardless of whether or not I’m working for someone else, or doing my own thing. Unless I’m just coding for fun, I’m really part of a larger business context, so understanding that context and how my role contributes to its success has been great for my career.
Also, learning to be comfortable with the uncomfortable — pushing past my boundaries and comfort zones in order to grow — has always been time well spent.
Don’t be afraid to commit…to go all in. Others have mentioned specialization, and I agree. I think that fear of commitment can be a roadblock to specialization. I’ve had a Sr. Engineer tell me that they’d rather hire someone who had deep knowledge and experience in any language/framework, even if it’s not in the same language/framework they use, than someone with a broad range of shallow experiences. So, I think having some deeper profound commitments in my past has also served me well.
Don’t be afraid to “try things on”, so to speak. I started my career in accounting (what?! haha), then moved to sales/marketing, and now here I am coding! :-)
Don't get comfortable in a comfortable job! I'd worked for the same company for many years, I'd been promoted as high as I could, despite that I was still working on the same code base which was becoming more uninteresting and I felt I wasn't learning anything.
"Just apply anyway". I was just scrolling for jobs on a random site and saw one I liked, for an entirely different language (The role included learning it). I knocked up my first proper CV in 10 minutes and sent it over! The recruiter contacted me before the company, so luckily I could make the amendments I should have before, but not longer after our contact I was offered an interview.
I feel like throwing my self out of my comfort zone, and just going for it with another position really was the best decision ever
Giving up my CTO Position in a start up last year. I was 31 and responsible for 13 developer. I did not wrote code anymore. I have went to a bigger company now and working as a "normal" developer in a small agile team. I think if you want to work your whole life as an engineer in (web) tech you can't stop coding with 30. I mean, in 10 years i would still be a CTO who wrote his last code 10 years ago. That sounds awful to me. Also i have now a 40h week and more time for my family.
Took the chance to do AI & CS degree instead of Philosophy. Had never coded before, graduated top of my class.
Quit my cozy Civil Service Project Management Grad Scheme 18 months in to take a entry level support developer job in London. 6 years later I was a lead developer.
Included the COO on an email to all the managers at my company. I was using data to show that broken builds were killing productivity. Helped me get a full time role working on Continuous Delivery.
Changed jobs a week before our first child was born. Seeing the industry from outside one company showed me how many opportunities there are out there.
Quit a job at a large tech company after 6 months to join a start up with friends. Working with people I already have a good trust relationship with from day 1 has been incredible.
When i was studiying the software engineer degree many teachers told us "you will be more than a developer, you will be an engineer". This make me reject some technical jobs and choose other more oriented to management. The best decision i've ever taken was realized that technical jobs makes me happier. And then, also, i found a position on a non-profit organization... now i fulfill myself and sleep better :D
Becoming a software developer!
I dropped out of an English PhD program where I was specializing in eighteenth-century literature to take a job as the college's sole web guy. I'm fairly certain I already make more than I would have made for the first 10-15 years of professing (if I finished the PhD), and I find myself more intellectually engaged with my current work than studying literature. I haven't been this happy in 5 years.
Left a job where I was in over my head with work/life balance (newborn at home, and I was recently put in charge of a not ready for primetime app. just released to prod.) to look for a new job. I stuck it out for a few months, but interviewing on top of that was a nightmare. I took a few months sabbatical to look for work, hone my skills (I hit pseudo management and the tech on the project was weird and proprietary), and spend time with my daughter. It was scary at first to not have a safety net, but my wife and I worked it out with savings and I'm far better off now with a mostly tech. job at a company that values employee development.
Meetups. Meetups. Meetups. Local tech. community slack. Meetups. Talking shop with local tech. friends, including a field trip to a startup one works at. Meetups.
Be patient when interviewing. I had four offers last time, the one I took being the one I wanted most, albeit the slowest. Don't work for a crap company because you are afraid something else won't come or are just excited by the new prospect.
Be flexible. Sometimes what used to be part of your day job blossoms into its own career as tech. and process change. I'm a full stack developer transitioning into data integration. Your career is a honeycomb of opportunities, not a linear progression.
Realizing that I do need some online professional presence, but that it's ok if I don't have an overflowing github, blog daily, etc. I'm a senior developer who can prove myself if you talk to me, and I have other hobbies that aren't always side projects. I seem to get hired just fine.
Sometimes you have to take a chance.
During university I did a few internships with SAP and fell in love with ABAP.
By the time I was done studding the financial crisis hit and I couldn't find a job in ABAP programming. Frustrated, I gave up on programming all together and ended up in networking (Started CISCO Certification and all).
Three years later, a recruitment company approached me "Three years ago, you asked, if we had an SAP ABAP job. We have one now. Interested?". I went to the interview and told them that I hadn't produced even one line of ABAP code during the last three years. (I expected for them to send me packing. I simply wanted a bit more up to date experience in job interviews so that I could use that to apply for networking jobs later).
They offered me the job! Three days later, I singed the contract. Never looked back to networking since (even though my experience in this field is still helping me today)
This has been five years ago. Best decision of my life.
My first ever programming role was one that I had found at the Job centre. Don't get me wrong, it was a good stepping stone in to the industry since I was a hobby PHP programmer before hand.
After a lot a disagreements and the diminishing roles (company was favouring mobile), I decided to leave. While there, I met someone that would go on to teach me a wealth of knowledge and go on to hire me for the company I am currently at.
I was very comfortable at the old job (I didn't like it much but I didn't like change either). Leaving it gave me the opportunity to work with different languages (went from PHP to Ruby #neverlookback) and work for a start up that is making a difference.
I feel a bit stupid to say that but just being friendly, open and true to my coworkers has opened opportunities for my future by creating solid connections.
Also, I've challenged myself with personal projects, thanks to them I've a portfolio to show when I apply to new jobs. That's said, weirdly, not a lot of developers I know have projects to show.
While specialization is a good plan, I would narrow it down to mastering something. Once you have enough concepts under your belt, things like API Design, MVC, etc. become your bread and butter. Frameworks come and go and you'll eventually pick up other languages. But clean code has always been constant throughout the years.
To ignore my friends who thought computers were boring and picked up coding at 8 years old. Hid my passion, but did it anyway. Didn't know it would be my future career.
Apply for my first senior job at 21...even though I felt I wasn't anywhere near ready (at this point I was developing software professionally for 4 years in the corporate world, but still a young'un). I got it - it immediately opened doors and boosted my confidence.
I was so waiting for someone to ask me this question. 1GB internet connection at home!
Asking a change in the position I played in the company. I was a front end developer and had a real hard time, then, I asked a change to cloud and devops and been the happiest since. Doing the things I love with a great team.
Do what you love to do.
Quit what you don’t love to do, effective today.
1) Leave my job in retail to study computer science
2) Re-read #1
Quitting my last job
My best career decision was taking real responsibility for my knowledge. Learning a lot, exploring new tech, reading books, blogs, tweets, giving presentations.
The best decision I ever made was to be humble, ignore my first instinct to discredit an idea before it'd even been tested and admit it when I was wrong, had made a mistake or had jumped to an incorrect conclusion. Damn me for being human.
Returning to a development role after almost ten years as a line-of-business manager.
1.Get a part time job as software developer when I was doing my 2end year in college.
Deciding where I want my career to head, I was choosing which FW I'll learn and went with React, that was single handedly the best career decision I've ever made.
Build things for my own... Solve many básic needs and develop huge' network...