Deliveries are important, learning is not. What should I do?
As a junior, I need to learn, by my tasks, myself and my peers. I arrived having the same feeling at the entrance at university, knowing nothing.
A recent event: One week before a delivering, we start using my feature in the main app. A need not implemented appears which takes too long to develop. Unknown to everyone, we couldn't guess. The guy was busy as shit. He did a great job with the time he had and I was assigned to other tasks. Another colleague decides to implement a similar software. In 5 days, he writes 2000 LOC with a different approach. Deadline "successful", he saved the day and the project, gg bro. No need to talk about about safety, regulatory and architecture on this.
What made me crazy was that my manager decided to use his software. It was not about ego, more because: 1st: There was no discussion, no list of pros and cons of each software and how we could get the best of both. It just worked for the demo, who cares. 2nd : Is it how people work in all embedded industry ? Giving an illusion of quality to deliver crap, earn time and negotiating time to correct it ? 3rd : There was no time for me to learn how to improve, I was then assigned to another task, kthxbye. Everyone lost money and time. We have to develop features and deliver, quality or not.
I feel tired of trying to convince people, this is how my manager deals with it. I don't believe in those (hidden bad) core values, it stopped being fun. What you guys think I should do ?
7 comments
[ 2.4 ms ] story [ 25.9 ms ] thread- working wins, always. How many people do you know who drive cars but can't change their oil. The only people who care about the code, are engineers, and business people when it costs them money.
- You found a blind spot after you were done, but there was NO means to get the changes needed into your code. That says your code isn't as good as you think it is.
- Realize that though you can write code you don't know what good engineering looks like, if your going to whine about it, find another industry.
The post is not about whining, it's about improving in such environment
That kind of quality in embedded systems is frightening. That kind of corporate culture is demoralizing and is slowing down your career development. You'll grow faster somewhere else.
1. When someone does something differently from the way it "ought" to be done, don't assume that the person is wrong. Doing so is a cop out. Figure out the deeper reasons why it is the right answer in the current situation. Dig deeper. What is the business case? How does the organizational culture play a role?
2. Don't own code. There's no "my feature". There is no "his code". It all belongs to the business, the customer, the team, etc.
3. Within budget and on-time are really useful quality metrics. They keep the lights on at night and the paychecks coming on Friday.
4. <The hardest one> Businesses are run by people and people are imperfect at best and bozos at worst and even bozos can make a lot of money. Facebook was written in PHP. Twitter was a Rails app. The first Google server was built out of legos...really, no shit http://infolab.stanford.edu/pub/voy/museum/pictures/display/...
5. The mark of a professional is doing things that aren't fun because they need to be done. In general, the reason people get paid is because what they get paid to do isn't fun.
6. You are learning. It just doesn't look like what you imagined learning would look like.
7. All of this is normal.
Good luck.
Or in other words: "Welcome to Employment"
To the OP: Read the Daily WTF for unlimited stories like yours.
My additional advice is to figure out your own method for filtering companies you want to work for, so when you move on it won't be as crap. Networking is quite useful for this.
You're just going to have to "grin and bear it" for 3-4 years before people will start listening to what you think. In the mean time, focus on showing up every day on time, wearing a clean shirt, using your manners, and learning to do whatever they're asking you to do, really well. Those things will distinguish you from the other fresh graduates more than you'd think.
I know of one gentleman who, though no fault of his own, had nothing to show for more than four years of work. Projects were shelved, reshuffled, cancelled outright, or he was laid off before he finished. But he still got paid.
I've had this happen to myself. The last two years, nothing really to show for it. Maybe next year.
Our employers are under no obligation to meet our expectations of quality or our need for education or fun.
In some industries people can lose their lives or limbs. We just have our egos to lose. And for that it's better sooner than later. So, the analogy of death or dismemberment falls apart, but you get what I'm saying.
And in the end remember Sturgeon's Law "90% of everything is crap."