|
|
I'm just trying to point out that being very talented in a specific sub-field of CS is economically worthless.
You need to understand the limitations of a sub field, preferably for many subfields. Preconceptions or preferences for a particular one makes you worse at CS, not better.
That's because the entirety of CS pivots around people who can understand the machines' limitations and the humans' desires, and a lot hinges on communication with the latter.
If you start out with the misconception that:
it has to be understood, memorized and applied I'm definitely not gonna hire you on my team. Maybe someone else will, but I'm not taking that risk.
If your goal is to be valuable as a developer, reconsider your approach and focus on searching / assimilating / communicating things you don't know yet.
As a reference:
I did 5 years of commercial R&D and I wrote drivers for embedded hardware in 3 different projects.
I also did custom work for esoteric DB stacks, IIOT and AR, just to name a few topics.
Not trying to criticize, just trying to help you find your way.
|
|
|
|
|
Member 14971499 wrote:
This feeling that I have to reschool myself again and again to stay in this business makes me sick. I really enjoy programming and it seems like I have predispositions to do this job but I feel this software engineering is crazy (!) If I would study that much for example medical degree I already would be a doctor and at least I would know that I can do my job after these years of studying, and than go back home and read a book, meet with friends, have some time off.
i totally agree.
in our meeting room there comes a mathematics professor to teach lectures on a schedule that doesn't collide with our regular work. i sneak into the meeting room after those classes and look at the board. i see the same derivations, the same integrals, the same limits of the same functions from the time i was 4th grade high school or 1st year at college.
last week i said to the professor, i envy you. why? because your knowledge is firm. your subject, mathematics is non trivial. you teach, that also i always wanted to do. but most importantly mathematics is the same for everyone, even the gods must obey it. and as a bonus, it's logical.
once you learn it you can pass you knowledge to others without being affected by trivia. then in your spare time you can program, read a book, listen to music or go on a philosophical journey to a mountain top of say 3000m, nothing extreme.
in the past 3 project i have worked on:
3 programming languages changed: javascript, php, c#
3 programming environments changed: linux + geany + grep + node + mongo, windows on client + browser + php storm + linux on server + apache + mysql, windows + visual studio + unity + sqlite
3 version control system changed: git, svn, perforce... and god knows what else
some of this i love, to others i am indifferent, the rest i hate
and even the javascript i loved has changed so much that i would look foolish if would go straight to a programming interview
i started my first job as a programmer in 1998, but i was programming since at least 1985. i quite my job as a programmer around 2003, because i couldn't do the thing i loved on orders. 13 years i worked in a few firms and on many types of jobs. i never quit programming on my spare time. i decided to go in programming once more and this time for good. almost 5 years have passed since then. i still program at my spare time, because what i do at work is not interesting to me. it's just a regular job on the assembly line, no matter if it is somehow connected to php or c#... this time if i quit my job as a programmer it is going to be for good.
and it's not even programming. it is some kind of development with some software tools that are given at a particular time instance and that are always changing.
remember the bonus mathematics or physics has because it's mostly essence? you can forget about it in the so called programming. in the so called programming the essence is in books like Donald Knuth's, but what you will constantly get is some hipster way that is prevalent at the moment and the tools that accompany it.
sorry about this discouraging note, but if you love programming (whatever that may be for you, no matter how different from my idea) you should think about it. my advice is to get a knowledge job that cannot be supplanted by machines and in the spare time do some programming or reading.
although, you may be lucky as a programmer to end up in some large firm where not much is expected from you so you can learn what you like or take i new programming course on your own, but at your work time when nobody's watching. had happened to me once...
|
|
|
|
|
Wow, that was very intresting to read Not discouraging at all. I like when people are honest. Better to know that now than to be shocked later. I already heard that it is going to be that way and actually many years ago, when I was searching for jobs I have seen plenty of job postings for PHP-programmers. Like every job was for a PHP-programmer, but nowadays I barely see a jobpostings looking for a PHP-programmer. In those days I wanted to be a programmer but I thought: "No, I never gonna be able to learn this. Technology is changing too much" and now I study CS. So maybe I'm going to be able to stay in that field. Well, who know what the future brings?
modified 3-Jun-21 21:01pm.
|
|
|
|
|
and don't forget what others have said about the corona crisis, nobody has a life anymore compared to the 80's and 90's
also, whenever i worked i was 90% of the time in IT, i just wasn't a programmer.
|
|
|
|
|
Yeah its true
modified 3-Jun-21 21:01pm.
|
|
|
|
|
A few quick things to add:
* In general, I prefer to hire people with CS degrees for programming jobs because they have a broader CS background and better skills; however, some of the best programmers I know don't have CS degrees and one was entirely self taught. I also once recommended someone with a BS over someone with a MS in CS because the person with only the BS knew his stuff better. It's not the degree that counts, it's what you know and what you can do with it.
* I expect people I hire to have basic skills and hopefully know the language(s) we're using and some of the tools (depends on the level, for college hires, I only care about basic problem solving skills using any computer programming language that's a reasonable approximation to what I need - e.g. C++,C#, Java, JavaScript... I don't care which - but you'd better understand OOP).
* Most learning is on the job. No one ever knows the apps and systems they will be working on (unless they're a rehire, and that's VERY rare).
* There are a couple of times in my life where I felt behind, like I didn't know anything, and "everyone" else was an expert in some new technology I needed to learn. Instead of giving up, I dug in and started learning everything I could about it. A few months later I realized that I was now the expert and everyone was coming to me with questions in that technology. That's because only 10% or so of "everyone" were really experts, the other 90% were just muddling through, and it didn't take that much to pass them by.
* I've been doing this for over 40 years. I've spent the entire time learning and re-learning. The languages and tools and systems are completely different, yet the fundamental concepts remain the same, and I'm able to build on my strengths and do a better job and learn things quicker and faster because I have a strong base to build on. So, at least in that sense, it does get easier, but you need to never stop learning and expect to occasionally be overwhelmed...
* Doctors have to keep learning too. The medical industry is changing fast! In the medical industry they have Continuing Education Units and if you don't get enough of them you loose your license.
* These days, everything is about programming. Even if you don't finish your CS degree you can go into any other field and probably leverage a lot of your programming skills to give yourself a leg up and be more efficient/effective than those around you. (Sometimes I wish I'd done just that ).
* [Good] Employers expect their people to be human beings and will work with them to help them learn and grow and balance life. If they won't, find a new employer.
Best,
Dave
|
|
|
|
|
Thanks
modified 3-Jun-21 21:01pm.
|
|
|
|
|
I think you're trying to encompass too much, part of being a software developer/programmer, is be able to know when something is feasible or not given the time and resources available (time and/or money) and prioritize based on that, and while learning above the curriculum is fine, your primary target is to get your degree, which is what will make you marketable in your firsts jobs.
Moreover, whatever language/tooling you learn in your school days might not be applicable to your future jobs, in my case, i learned C++ and Java at school (those were the languages the school liked to use), and when i got my first development job i had to learn VB.NET, for the interview, one day before, as that was the technology they used.
"Science fiction is any idea that occurs in the head and doesn’t exist yet, but soon will, and will change everything for everybody, and nothing will ever be the same again." Ray Bradbury
|
|
|
|
|
RafagaX wrote: and when i got my first development job i had to learn VB.NET, for the interview, one day before, as that was the technology they used.
wow... How did you manage to do that? In one day? Maybe some people are more immune to stress
modified 3-Jun-21 21:01pm.
|
|
|
|
|
Actually in one evening, but i didn't learn it in deep, just the basic, how to declare variables functions, calling conventions, arrays, etc.; just enough to be able to do the interview, read code and perhaps make a simple example or two.
In the end it wasn't how deep i knew VB.NET, it was my willingness to learn and to keep going, what really impressed them and got me that job.
"Science fiction is any idea that occurs in the head and doesn’t exist yet, but soon will, and will change everything for everybody, and nothing will ever be the same again." Ray Bradbury
|
|
|
|
|
Breathe!
First, the degree proves 3 things:
1) Ability to complete something hard (4yrs of schooling)
2) Ability to LEARN (Rough replacement for IQ)
3) Basic Ability in degree (ie, programming), and this gives you the "tech speak skills"
I don't hire programmers fresh out of University anymore. I prefer experience.
Second, it took me 7 years to get my 4yr degree. I worked full time the first 3 years while at community college. Then I worked 20+ hours/wk at University, and was screwed over on the transfer. But I loved it. It was hard, but I was young.
The point: Slow down. At one point I was taking 19 Credits, 3 at the masters level, while working 20+ hrs a week. I FAILED. I dropped the Masters Class on Neural Networks AND a 300 level computer science class that suffered because the work I was trying to do at the Masters level. I LEARNED MY LIMITS. Know yours.
Finally, Dr. Jordan Peterson offers a test you can take (for a fee) that will help identify your personality and what you bring to the table. This could help re-align you with better goals...
But YOU and YOU alone are in control of how you spend your time. Take an extra year to get your degree, and enjoy it a bit more... Or suck it up, and realize once it is done, nobody can take the degree away.
|
|
|
|
|
Thanks for your advice I will keep that in mind.
modified 3-Jun-21 21:01pm.
|
|
|
|
|
Dude, if you're into programming for other reason than having fun you're in the wrong place. My 2c.
modified 17-Feb-21 14:39pm.
|
|
|
|
|
Well, programming is fun, but as long as you don't have to program from the morning to the evening each day without having some free time, at least for your own family. Everything is fun until it doesn't take your life away from you. Avicii loved making music but it made him commit suicide, just because he was forced to constantly deliver and couldn't take a break and overworked himself to death. You can love eating sushi, but it doesn't have to mean that you also have to love to eat it until you throw up.
modified 3-Jun-21 21:01pm.
|
|
|
|
|
You are right. But you're doing it wrong.
Imagine you're in deep dark forest, full of interesting plants and animals, funny-looking critters and a lot of trails appealing you to new adventures and to write new stories.
If you stop to examine in detail each little bug and each and every trail, by the end of the day you'll be in the same situation in which you are now, tired, feeling down and questioning life's sense. And things will go worse each and every day.
Do not do that.
Enjoy the ride, dude. Follow the main path, when you'll see the road you've been meant to ride you'll know it.
In the meanwhile, pass your exams, check a little what frameworks and meteoric languages appear and die around you, learn as much as you can and keep going.
And make sure you're having fun all along. If it's not fun than it's not worth it.
|
|
|
|
|
Thank's for your reply
modified 3-Jun-21 21:01pm.
|
|
|
|
|
You think it sucks now, with 3 hours of classwork and 3 hours of homework a day? Well, when you're employed, it will be a minimum of eight hours a day, no matter what you do for a living. Welcome to adulthood. Childhood was nice, but now it's over. You will look back on your college days as a stressful but rather care-free period in your life. Your so-called life will take place exclusively evenings and weekends. You will learn to take care of your household chores efficiently, so you can get on with the things that interest you. You will get married, so you can split the chores, and so you have someone close by to have a life with, instead of going out looking for your friends.
College is stressful, struggling to understand, keeping up with the lectures and the exam schedule. You need to know that this is a normal state for a college student. You're not an idiot--you just haven't learned yet. Embrace the suck. Work will have its deadlines too, but it's not the same degree of mental struggle. You will be far more confident once you complete your degree.
Continuous reeducation is a part of computer science that will be there your whole career. If you really can't stand to keep learning forever, you need to quit now and do something simpler, like carrying bricks for a living.
|
|
|
|
|
SeattleC++ wrote: Continuous reeducation is a part of computer science that will be there your whole career. If you really can't stand to keep learning forever, you need to quit now and do something simpler, like carrying bricks for a living.
Hehe yeah, you're so right on this one.
modified 3-Jun-21 21:01pm.
|
|
|
|
|
SeattleC++ wrote:
You think it sucks now, with 3 hours of classwork and 3 hours of homework a day? Well, when you're employed, it will be a minimum of eight hours a day, no matter what you do for a living.
this is one of the reasons people who work 3 years in IT are much better than people who do the same thing at college for 3yr
8hr x 5 days > whatever the alternative is and it is less than 8hr a day
|
|
|
|
|
Sounds like you're a little depressed. What you're writing is indeed far from the real world of a programmer. Yes, you have to be creative each and every day, which can be tiring, but that's also the case in other creative jobs. And yes, you have to keep yourself up-to-date for the rest of your life, but it's not going to stay as intense as it is now. As soon as you are a little more experienced and have found your niche in a technology that you like and that is modern enough to keep your employment chances alive, you can sort of settle down for a few years and only specialize deeper in what you already know. But you're also right that software engineering IS crazy.
|
|
|
|
|
Try taking fewer classes. Manage the load. Take a semester off and work a dirty job to catch your breath. Try to find out if you can transfer in a few credits from somewhere else. As a former CompSci student and a former CompSci prof, and a current developer, I can tell you that trying to get too much learning done too fast can ruin the experience.
Take on some simpler project for a volunteer organization, or any wider view on resume building that doesn't involve grinding classes. If you get a semester off, make a list of online tutorials you want to walk thru. But if you're just getting a short break, take a break.
Seriously, your schedule tightens once you win the big "prize" and have a full time job. You won't have the same chances later on.
|
|
|
|
|
I was very pleased with myself today as I've been modifying my image viewer with single instance behaviour. Image filenames selected in Windows10 Explorer are forwarded to the first viewer process when the Enter key is pressed.
It worked very well until one test when an image somehow got displayed as the desktop background. There is nothing in my code that could have done that and was surprised to discover some bizarre 'why oh why oh why' windows magic.
When 1 to 15 image files are selected the action of the enter key is to open each file with the associated program (my viewer). If you dare to select 16 or more Microsoft have decided that what you want is a desktop image slide show. And to make sure you get the message they remove the 'Open' option from the context menu.
Aaaaargh!
|
|
|
|
|
was it not clear for you yet?
The do know what you want better than you
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Alan N wrote: When 1 to 15 image files are selected the action of the enter key is to open each file with the associated program (my viewer). If you dare to select 16 or more Microsoft have decided that what you want is a desktop image slide show. And to make sure you get the message they remove the 'Open' option from the context menu.
Just tested this and it doesn't happen for me. I selected 21 JPG files and the Open item on the context menu remained available. Clicking it opened the images in my default viewer. My desktop background was unchanged.
Are you sure you didn't hit 'Set as desktop background' by accident?
|
|
|
|
|