I would love to tell you new developers that the rat race is full of inspiration and doing what you love, but that would be a lie. I work for a great company, I come to work each day full of energy and for the most part I enjoy everything I do. But it isn't like it was when I went to school. I went to the University of Arkansas at Little Rock. It was a great school, and I fell in love with coding while I was there, but it didn't prepare me for the reality of being a full-time developer. So I am gonna go ahead and give you some advice. This all based on my experiences so mileage may vary on the advice, but I wish somebody had said at least a few of these things to me.
Your Teacher/Professor is not the same as a client
In college your professor set deadlines for you, they had concrete expectations and their primary goal was for you to learn the material. A client on the other hand doesn't care if you use JQuery or WebAssembly, Angular or React. They don't care about your desire to become a better developer by implementing Design Patterns nor do they care about anything other than what they are paying for you to do for them. So the impetus is on you to make sure that product is good and on time. No grades, no do-overs and no excuses.Some Projects Are Going To Suck
Working as a developer means you sometimes have to do things that aren't as glamorous as building the next Snapchat or Facebook. 75% of my day is working on poorly documented legacy code written either by a much less experienced me, or some other poor slob who was handed the task long ago. From data entry to working with ancient Access DB's get used to not working with the latest and greatest tech.Your Coworkers Are Extended Family
Everybody I see coming into the field these days wants to be the unicorn. They want to be the lynch-pin or the expert. And they behave like they are competing for the highest grade in the class. This approach is in my opinion harmful. Your co-workers are each a part of an extended family. You will on average spend more time with them than with your own biological family. It pays to see them as people you want to build up, not compete with. Anyone of my co-workers know that I am a fickle person, prone to fits of ignorance and incompetence. But they also know that if the beacon is lit and Gondor calls for aid I am the first Rider of Rohan topping the hillside for battle. This approach ensures that I don't become somebody else's wall they have to move past to be better.You Are Going To Fail..... Hopefully
I say this with love. If you want to get better you will fail, sometimes it will be minor league, a build fail or a client request forgotten or lost in the email chain. Other times it will be colossal, db deleting, no backups, computer crashing, client screaming, Michael Bay explosions and fire and brimstone. It will happen sooner or later and you will live, and you will learn some fantastic lessons from these career killing mistakes. Usually you will learn immediately that you are the only one that thinks they are career killing.You control your curriculum
Nobody is going to tell you the next thing to learn. There are no set in stone formulas for become a developer. No predetermined path is set from point A to B and it doesn't end at a diploma. You must take a shine to teaching yourself things. YouTube tutorials are great, books are great, but nothing beats getting in the code and changing things till they break and then fixing them.
I hope all this makes sense, and I hope it helps.
Top comments (9)
One of the most prevalent problem I see in the industry is that people stop learning and simply become a machine that codes 8 hours a day. It's not that they didn't get good grades at uni, some did. They learned and worked on only what the teacher told them to without expanding their knowledge through their own powers, without asking questions, without trying different things, without pushing their limits.
I think that is what you need to do in order to make university really worth your time in programming.
Especially if that student is a valedictorian and the client assumes that he/she can finish a finished product in less than weeks.
I tried different projects. most of them are half-baked and lazy to finish.
One thing I failed in my college is, there are no collaboration. I was expecting to have a pair-programming basis to develop my skills especially working on a project. But in my standing point, they're waiting for me to finish the project and never helped me.
Yes, I failed a lot, but that doesn't stop me from continuing my passion.(I never failed my subjects. I failed because I wasted a lot of time learning it and I won't be using it after I graduate).
Before I was learning web development,(This wasn't taught in college) and Mobile development(Still didn't taught in class because our teacher was lazy and had favoritism for his/her students). But still it's still worth learning new technologies even though this won't be credited in my curriculum.
My Thoughts
Overall I regret the school I went and I want to learn new technologies as soon as I graduate. This was very helpful for me to realize that there can be a lot of opportunities and not depend on what my grades are in the curriculum.
Bravo! This was fantastic. Very relatable. I have to do a little better with the family one.
Thank you very much Derrick.
Very helpful.
Actually writing code and fixing bugs is the best way not only to learn but also to get comfortable with programming
Ah, UALR. I never graduated. Great school, though! ... Also, great article.
Great article man!! Here in Brasil its exactly the same way. I have learned a lot mantaining legacy code...but to keep myself updated, i had to learn new approaches by my own
That LotR reference made my day.
Great post man!
Great post, Derrick!
About the item five, is so true, I see many developers are accept your monotone jobs and don't want to learn something new.