I'm going on year 6 of my software development career. I marvel at people doing this for 20+ years, and hope I can be that person some day. Thanks for the insight.
The really amazing part, is last time I looked - most software developers _leave tech_ after 10 years. This guy has managed to keep the passion over 5x that long!
I have been in the software industry for 30 years as of this month. I have never had a gap of longer then 6 months and the shortest time with a company was 4 years 8 months and the longest time was 16 years. I have worked on the following technoclogies. Companies range from on of the Big 3 consulting firms to startups. Here are the technologies I have worked on
- C/C++ on Win16/Win32
- Assembly language development with Z80/8051/ARM on embedded microcontrollers
- Java (core java, Servlets, J2EE)
- Ruby on Rails
- NodeJS / Javascript
- Worked with AWS tech (the full stack)
- Relational DB (MsSQL, PostGres, MySql), NoSQL db (MonoDB)
- Coded for Linux/Unix, MacOS, Windows 16/32, PalmOS, iOS
I can provide reference for each of those skillsets form my past colleagues.
You know what - I probably couldn't pass half of the insane coding puzzles these interviewers throw out. Not because I can't solve them, I just don't remember enough of the syntax or library semantics of the top of my head.
At my experience can we just assume that I am a competent coder (maybe not the top 1%, but at least in the top %20) and talk about the job and how I can contribute ? I mean its almost insulting if you ask me to make a linked list/reverse a binary tree or other such nonsense looking over my shoulder me with a time limit.
30 years is 60% of your career and there's no evidence that the gravy train for software developers is going to last that long or from 2021 or that any particular individual will remain employable 30 years into their career (yes, many do but many also don't if the anecdotes on HN are to be believed).
In a 6 year period, the blog post author has only worked as a software engineer as part of a team for _one year_. That likely explains why he still finds it hard.
I've been doing software development for a total of 16 years, with a stint as an IT manager for 5 additional. Did some side work here and there to keep skills sharp, but I recently got back into full-time development after I realized I like creating more than I like maintaining.
I'll be 42 in November, and my experience gives me a guided path to understanding and solving problems, independent of technology, language or API.
I don't need to chew through espresso and lattes until 2am, because I've gotten smarter over time. I can identify patterns and problems faster than I did 20 years ago. I work more efficiently and don't need to take a scatter-shot, unfocused approach to work.
I don't disagree that software is a continual source of frustration to develop, but I think that's because we expect at some point to be super-experts for any problem domain.
Yes, tools and frameworks change. Sometimes they suck. Sometimes they don't. If you don't love learning new things and investing yourself in continually keeping up to date, then you doom yourself to being miserable in this profession at any age.
I'm old, so I've had a lot more than 6 years. When I got my first job at a small unknown software company, I'd been programming in my spare time for 9 years already, and I estimate I had put in the proverbial 10,000 hours. I wasn't very good at that time, just good enough to get hired.
I'm counting from when I dropped out of college and started working full-time. Maybe only 21 years ago, it's a little hazy now. I'd been writing code for seven or eight years at that point.
It's funny how the author seems to think that after 5 years he can summarize the mistakes he has made in his programming career, somehow that suggests to me that either the career is now over or that there will be no more mistakes from now on
Whereas the 'exposure' the author has had to me would qualify this person as a trainee programmer, certainly not someone that can look back at a 'career' of any significance. Give it another 15 or 20 years and we'll talk. And if you still remember any of these (other than 'reinvent the wheel', which is in some ways the worst thing you can do except for those times when it is the best) then you haven't had much of a career :)
Best of luck, and I hope you will make many more mistakes, these are not on a 'I should blog about this' level yet.
They're more like introductory level mistakes that you could have for the most part avoided without too much work.
5 years is a long time for only 7 mistakes, I've been doing this for a while and I'm happy if I get through the day without at least double that figure ;)
to program: verb, telling a computer what you thought you meant.
reply