Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "programming = practical"
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.9
I started programming with just pen and paper, and remained this way for 2 whole years! ☺
I was in a boarding school without any access to internet or any PC/laptop save the computer lab which was only to be entered during the computer practical classes. It was a grind to write code on paper, dry run it, debug it and sometimes rewrite it nicely so its easy to punch it into the computer when I got the limited time in the practical classes! It made me write code cleanly, think it through before penning it down, and debug by just staring hard at it.
Its amazing how our mind can adapt to such difficult situations and makes it so it becomes a second nature to look and simulate code in our minds without bias, a trait I see rare among beginner programmers ☺17
school takes the creativity out of programming.
you want to try something new?
sorry, can't have that. functionality = priority.
school takes the choice out of programming.
- you're gonna use x language
- with x api
- in x environment
- and make it in x way
- because if you don't, your gonna fail x assignments
- because programming is about getting the job done, with no creativity
yeah fuck you too
school takes the cleverness out of programming
you get a turn left function. it turns a 'turtle' left any amount of degrees that you pass it, you have to make a turn right function to turn right 90 degrees. well, if you thought turning left -90 degrees was a good idea to make a turn right function, then fuck you. you have to turn left three timeswith the default 90 degrees instead because it's more practical/logical.
anyone else hate the movements to get programming into schools?17
So I have a 4 GB USB flash drive (which is fucked, dead sectors everywhere). But I want to use it to copy small files and whatnot.
Genius idea, so I have a program which tells me which of those sectors are dead.
And all I need to do is to write an algorithm that will use that data to determine the largest block of working sectors. After running it (turns out largest alive is 49 MiB) I made a partition between those sectors and formatted the drive...
And lord and behold, the data didn't get corrupted for now atleast.14
Some of these things have been probably mentioned already in some way, but I'd like to add my two cents nevertheless
I grew up in Germany and have been in the German school system for my whole "school career" and what I always missed was a computer/programming related subject. (A real one, not this thing where they teach how to use MS Office) Something that would have pushed me a bit more into this world of technology and programming way earlier, because I didn't know which possibilities I had. It doesn't happen often that I think that something is better in Slovakia but I have to say that in Slovakia they are teaching CS in standard schools from the age of 11or 12 I think. I don't exactly know what they teach there, maybe it's shit, but it's something at least. I know that most people swear on teaching themselves programming and all but there are people like me who struggle with that.
Then of course I'd like to see the teaching get better. They should teach the useful stuff and focus on practical experience.5
Teach programming languages practically. You can’t make a person learn to program when they’re just sitting in a lecture hall staring at the board. Sure, you can teach them concepts like classes/OOP/etc., but you can’t throw 20 lines of code up on the screen and expect everyone to understand it and be able to replicate it or tailor it to their needs.
It’s like learning a language. You can learn the concepts of e.g. tenses in Spanish by sitting in a classroom, but you don’t really know it until you’ve used it in real-world situations. You need practical experience building stuff in a programming language to *really* understand it.7
Was thinking about that whole, "born at the wrong time" quote I have seen, and to me, it seems wrong. Yes, you may have been born too late to explore the world and too early to explore space, but you were born in an amazing time nonetheless! We get to watch the birth and rise of practical AI and the creation and buzz of a new form of currency. If dedicated enough to learn, any person can create incredible things unlike ever before, and likely, ever again, through programming. Yes, you may have been "born too late and too early" for some things, but that doesn't make this any less incredible of a time to be alive.5
Fuck my country's universities, fucking greedy assholes that ruin lives, suck wallets and sucks life from the young.
I'm currently studying something completely non related to programming: History. And I really love it. I love reading 1000 pages for each test and essay and talking about the problem of naming the Cold War a war and cold and etc. The problem is that I won't make as much money as I would make even as a self taught developer.
After considering my possibilities, I thought I could enter the computer science carreer. I don't know how this works in other countries but here you would have to study 3 years of an engineering common plan and then specialise in some sort of industrial engineering while getting an specialisation also in computer science. After some counting, I got to the conclusion that I would be studying 6 years (or more), and wasting half of those years learning stuff that I would never use nor care about.
But that's not all. This semester I took the introductory class for programming. It's pretty basic stuff but at least they teach a little bit about algorithms and problem solving. It turns out that a friend of mine that's about to graduate from computer science applied as a helper for the prof. I was so excited I could finally talk with someone about code!
Since the start of the semester I have been passing a lot of time with him and talking about the future. Turns out he doesn't understand shit about code but somehow he learns everything by hard and has passed every computer science course without having any practical abilities. I don't blame him, he's studying hard and playing by the rules, and turns out that he has wasted precious time of his life also learning biology, chemistry, structural engineering, hidraulic engineering, transportation engineering and a ton of engineerings that he won't use.
If the university would instead take that time to teach better courses of practical programming or leave him some time to try out the stuff he learns by hard, he wouldn't have to hear me talking about stuff he doesn't comprehend but feels that should, and wouldn't be utterly depressed, he wouldn't take SIX years to learn less than what he could learn in less than THREE years. And this isn't just a random university, it is one of the 2 best universities we have here and was in 2014 the best of all Latin America.
And wait, here comes the best part. In my country, levels of education are heavily stratified. After school, superior studies give different titles according to the time you've been studying. Yes just the time. And these titles are what your employers will see to give you different work positions. So for studying a 2 year carreer you get a technic job which pays well but not too well, then at 4 years you get a license title which only proves that you know stuff, then at 5 or more (depending on what you are studying) you get a professional degree and will get payed as a full fledged professional. So here, even though in other countries it takes 6 years to have a masters in engineering, they give you just the engineering degree, and it would take 2 (or more) more years to have a master. Even though you can totally teach engineering in 4 years, here they take BY LAW 2 years more, while paying what a fucking full stack of pairs of kidneys would cost in the black market.
So fuck that shit, I won't be throwing my money at any university. I hope they get reformed soon becouse this is fucking dumb, really really dumb. Like 2 year old shit dumb. I'll just learn a bit more, make some projects until I have a decent portfolio and apply to some company that cares for real knowledge and not just a piece of paper with letters and a shitty logo on it.11
I am planning to learn machine learning and deep learning. I am quite comfortable programming in c++ and python, what would you recommend would be a nice starting point with more attention towards practical stuff.8
I have a serious question.
I particularly address Italian ranters.
It's about time to decide what faculty/"subject" I should go to, and I'm uncertain between "Informatics" and "Informatic Engineering".
Does someone know what the differences between the two are, and, given that I want to do as much programming (and so practical stuff instead of theorical stuff) as possible, which of these two faculties should suit me best?
If you're not from Italy, but from other countries, of course that shouldn't stop you from posting a response, if you want to.
How do Universities work there?
Are they like ours, in Italy, or does it work differently?
Thanks for your patience. 💙9
Its good and practical but those who aim to fill gaps in the programming industry by trying to produce "programmers on demand" via a several month long bootcamp are complete idiots. Nobody can learn to develop a well structured application that's easy to maintain in a couple of months, either that is frontend or back end. We are trying to be engineers , not just solve problems.
Most exited I've been about some code? Probably for some random "build a twitter clone with Rails" tutorial I found online.
I've been working on my CS degree for a while (theoretical CS) but I really wanted to mess with something a bit more practical. I had almost none web dev experience, since I've been programming mostly OS-related stuff till then (C). I started looking around, trying to find a stack that's easy to learn since my time was limited- I still had to finish with my degree.
I played around with many languages and frameworks for a week or two. Decided to go with Ruby/Rails and built a small twitter clone blindly following a tutorial I found online and WAS I FUCKING EXITED for my small but handmade twitter clone had come to life. Coming from a C background, Ruby was weird and felt like a toy language but I fell in love.
The next few months were spent studying and working on my project. It was hard. I had no experience on any web dev technology so I had learn so many new things all at once. Picked up React, ditched it and rewrote the front end with Vue. Read about TDD, worked with PostgreSQL, Redis and a dozen third party APIs, bought a vps and deployed everything from scratch. Played it with node and some machine learning with python.
Long story short, one year and about 30 books later, my project is up and running, has about 4k active monthly users, is making a profit and is steadily growing. If everything goes well, next week I'll close a deal with a pretty big client and I CANT BE FKING HAPPIER AND MORE EXCITED :D Towards the end of the month I'll also be interviewed for a web dev position.
That stupid twitter clone tutorial made me excited enough to start messing with web technologies. Thank you stupid twitter clone tutorial, a part of my heart will be yours forever.2
Man I hate programming tests that have no practical application. I'm not doing one yet, just saw an example question that made me go...ok...I kinda get what you want but..why would you EVER need this. Googled and the consensus is that..*drum roll* you wouldn't ever need it because it's only useful to see if someone can solve it in an interview.
Why not give actual problems or at least actual test cases of things that way you can see if people can solve actual real life problems. Wouldn't that prove that people can reason their way through things or not? See if they can provide a good solution for something that someone else has already encountered instead of some nonsense that wouldn't have an actual practical application?
Maybe it's just me but if you give me a problem that sounds like it's useless for some reason my brain just goes, "Ah this sounds like it's useless, better not actually devote all my brain power to this"...4
React has been a gateway into the practical functional world.
Having a crack at Clojure/Om/Datomic, and then recognising the roots of functional and immutable programming that I've seen before.
I have a lot to learn.
Looking forward to grasping macros fully. Walk before I run though2
Apparently, a lot of people here are complaining about the fact cs classes (and I'm talking about uni here) are way too much theory and far too less teaching practical things. And don't get me wrong, I don't like viewing cs only from a theoretic point of view either, BUT I think cs education is made to teach you how solve complex cs problems by yourself and give you the tools on how to learn about these things in the future. And this is very much theory.
CS is the science part, so don't wonder if there's a lot of theory in it. If you only want to learn how to program, maybe you should take programming courses instead.
In school though, cs education should be less theory and more doing practical (funny) things, programming, "how does the internet work", "why I should not give my credit card details to random strangers on the internet", things like that.3
I am a programming teacher in a local university, I started five years ago, but in this semester I feel very tired, the students don't want to learn. I tray many methodologies and practical protects but the interest show by they is very low. the worst thing is that in anonymous evaluation I get good score but my objective is that students become in a great programmers ¿any advice?3
A previous rant made me start doubting my choices.
I just graduated from college (but college here is probably not what you call college. You choose whether you do one more year and gain the 'x technician' certificate or you do two years and get the 'practical engineer' degree)
Hope you understand it.
Anyway, so I continued 1 year (I skipped 1 year so it's like I did the whole two years) and I have a practical engineer degree in electronics.
I love programming and really want to work in the field but (since I know nothing about the market) I don't even know if I'll get a job without going to university and getting a degree (which I want to get, I want to learn Software Engineering though, not CS)
So now to my question, do you guys truly think getting a degree will be a waste of my time?
tl;dr I want to get a Software Engineer degree, but a lot of posts say it's a waste of time. Who agrees and who doesn't?8
I'm a student expected to graduate in about two months.
I (Allhamdolillah) already have an offer for a job in a company with good repo; they usually work in web (python technologies)
As of now, I'm doing an internship at a totally new company (separated from a famous company too but not very famous itself) as an ERP technical consultant (internee). They also have put forward a job offer.
I am hell confused to decide one.
I joined it coz I was curious about ERP. But their offer is a lot less then the other one.
I have decided two pathways.
1) Python web > Cloud > Data Sciences
2) ERP (either NAV or AX)
Any suggestions from the experienced? What should I prefer? A good company? A good package? Take risk?
Things that might help you guys to help me:
I like python a lot, it was my best selling gig on fiverr. But (apparently with no practical knowledge) I'm not much excited about web as of now.
ERP is a gooood field I know that.
It's fun sometimes irritating though.
Though sometimes I feel like I will get stuck in that field...
I have a strong technical background and have won many programming competitions(university level/national level/even stood runnner up, 2 times in ICPC regionals).3
I don't know if this can be classified as a legit "regret" or not, but anyway (hence no wk78 tag).
I've always chosen to focus more on the theory behind computers and computing rather than on practical dev skills. Not saying that the more theoretical things aren't fun - concepts from theoretical CS and maths still regularly blow my mind, as do the more "esoteric" languages like Haskell, Idris, and Coq. However, after seeing you fine folks here at dR talk about practical development, it feels like there's a whole world of stuff that I've missed about computers and programming, especially web programming. I think I'll tackle that next when I have some free time, maybe spend some time learning PHP to see what all the hate's about... (really though, it must do something right if it has such a huge userbase, plus, I think devRant uses it too...?)
Anyway, just wanted to say that you folks are really cool and an awesome source of inspiration. Best community ever.3
I studied law first and got a retraining about Java from my company for 6 months (just very basic concepts about servers, databse,.. besides java). I really enjoy programming now and that is what I want to do. Do you guys think I need to study computer science to become a good programmer or to change my employer (payment here is really moderate ~ 30k € max ,after taxes, but safe work and good payment after retirement) ? Is there any international certification that should be enough ? Just dont know if it could be a waste of time, becouse I am at a spot to just get practical experience.
Any opinions of you pros ?
Big thanks in advance :)4
I'm quite confused about job market here in germany. Beside studies I'm working in a data center and have already some practical knowledge about programming stuff and managing applications. Although many companies I apply for say I need more experience. How the hell should I collect it if I don't get the chance to do so. Do you have seen this in other countries as well?5
I know this is a recurring question. What language to learn in 2018?
Kotlin, scala, elixir, rust, go, ...?
I need something practical and preferably a language that at least partially supports functional programming patterns. Oh and also I don't want to learn Haskell. Thanks.6
Oh my gosh, no one really knows here what is programming. Even teachers, which claim to be professionals in the subject doesn't know shit except for the basic theory. Nothing in practice.
It was evidenced by the largest job skill competition of Finland (Taitaja) that's for my-aged students (18). And yeah it's not higher education studies, just second degree, but that's where you should get the necessary practical skills for your work life.
The category I participated was website development, which is the only software development category.
It was a public event that is focused on showcasing different jobs. Well, what do programmers do, a viewer may ask. Even the responsible teachers and juries couldn't really answer properly. They just showed the specs we were following to create the crappiest of websites the short period of development time.
So we consume coffee and produce HTML, is that accurate representation of the whole industry?
All the other winners of different categories get a lot of job offers from companies when they win. I won gold last year (bronze this year) and I didn't get a single offer. Who would be interested in human HTML generator who can only make static websites anyway?
Programming is about problem-solving, not about graphic design and writing content.
And just to give you an idea the scale of the competition: last year I made a total of ~2000€ for the victory. And it is super easy if you just know what you are doing. That being graphic design and the making of a static page with a pinch of functionality.1
I just got accepted for computer science .wow.this is going to be a good year. hopefully they let me do all my practical programming assignments in java.and hopefully a cs degree in South Africa holds up in other countries.
Bsc Computer science (I've seen the maths in that course,it's a bit crazy but the programming modules is what I love)
BCom information systems (less complex maths,not much programming and a lot of finance and business based modules)but I can take a post graduate straight up programming and software dev course after that
BTEch IT applications development(very practical experience on programming languages) plus in my second year I get industry experience.