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 - "self taught all the way"
I want to pay respects to my favourite teacher by far.
I turned up at university as a pretty arrogant person. This was because I had about 6 years of self-taught programming experience, and the classes started from the ansolute basics. I turned up to my first classes and everything was extremely easy. I felt like I wouldn't learn anything for at least a year.
Then, I met one of my lecturers for the first time. He was about 50~60 years old and had been programming for all of his career. He was known by everyone to be really strict and we were told by other lecturers that it could be difficult for some people to be his student.
His classes were awesome. He was friendly, but took absolutely no shit, and told everything as it was. He had great stories from his life, which he used to throw out during the more boring computer science topics. He had extremely strict rules for our programming style, and bloody good reasons for all of them. If we didn't follow a clear rule on an assignment, he'd give us 0%. To prove how well this worked, nobody got 0%.
We eventually learned that he was that way because he used to work on real-time systems for the military, where if something didn't work then people could die.
This was exactly what I needed. In around one semester I went from a capable self-taught kid, to writing code that was clear, maintainable and fast, without being hacky.
I learned so much in just that small time, and I owe it all to him. So often when I write code now I think back to his rules. Even if I disagree with some, I learned to be strict and consistent.
Sadly, during the break between our first and second year, he passed away due to illness. There was so many lessons still to be learned from him, and there's now no teachers with enough knowledge to continue his best modules like compiler writing.
He is greatly missed, I've never had greater respect for a teacher than for him.22
* whole class is quiet *
M: Do you mean three files?
M: Okay, so let's go with five CSS and twelve HTML as well then...
Please, go somewhere else when you can't explain your OWN HOMEWORK ASSIGNMENT. Holy fuck.18
My teacher at school who taught me programming. We were taught Java.
You see, Java is not a beginner's language, most say. But the way she taught it, the examples, the analogy, the explanation; she made it so easy.
She made us execute our first Hello World program (using BlueJ) and proudly said, "you're all programmers now!", that was when fascination took me over. I remember that moment till today.
Also, unlike regular exams, the programming exams required extreme competency. Marks were split up for algorithm and syntax. There were also questions like find the error in this algorithm for this output. She would always surprise us at the exams!
I had several glorious moments in class by being the first to answer most of her questions. At 13, it was kind of a big deal for me.
(Okay, who am I kidding, it still is :-P)
It was mostly just self learning from there. I switched schools and then there was college. Attending classes in college was like going to the gym with fat trainers. Utterly useless :-/ It just made me appreciate her even more.9
It wasn't my curiosity that introduced me to programming. Actually, it was my mother.
It was about six years ago, when I'd told her I'd like to make video-games, like all kids do. She didn't just nod and go about her way. She found a free course that taught programming to kids my age and immediately enrolled me. Looking back, it was surely the best thing she'd done for me, because it gave me a purpose and a future to look forward to.
The course was interesting. We learned the basics of C++, then moved on to harder topics like algorithms and data types. But more and more, I was beginning to feel left behind. Like I didn't belong there. It didn't help that I only programmed on the course, with no practice back home.
I felt scared of the future. Thought I didn't have what it takes to become a programmer. I might have broken the last straw when I started playing truant and went to McDonald's to pass the time. Because every time I did go to the course, I felt stupid and anxious. So I simply skipped.
Time passed. I got more depressed, became more antisocial, my self-esteem took a nosedive. And when it comes to depression, people always seek an escape path.
I got my escape in fiction. Started reading books, tried writing stories, and it got to the point where I asked my mother if I could become a writer and not a programmer.
And guess what? She said, "Do what brings you happiness. This is your life."
It's funny, that such a silly line stopped and got me to think. Turned out, I didn't program for fun, for myself or for my career. I'd done it for my parents, for their expectations and I was scared that in failing, I'd become a loser in their eyes.
I dropped out of the programming course. Not because it sucked, but because I wasn't going there for myself, but for my parents. But I didn't quit programming. No, I watched countless tutorials, youtube videos, browsed StackOverflow, read some books, coded every day, and now I can say without hesitation, that I love programming. I'm hooked. And I don't want to stop.
If you've read this so far, I'm sorry for my rambling. I will now leave you with only one tip: If you decided to do something, do it for yourself. Forget about parents, expectations, career, future, time or money and do it only because you want to. Because nothing else matters. Only your happiness.7
I'll use this topic to segue into a related (lonely) story befitting my mood these past weeks.
This is entire story going to sound egotistical, especially this next part, but it's really not. (At least I don't think so?)
As I'm almost entirely self-taught, having another dev giving me good advice would have been nice. I've only known / worked with a few people who were better devs than I, and rarely ever received good advice from them.
One of those better devs was my first computer science teacher. Looking back, he was pretty average, but he held us to high standards and gave good advice. The two that really stuck with me were: 1) "save every time you've done something you don't want to redo," and 2) "printf is your best debugging friend; add it everywhere there's something you want to watch." Probably the best and most helpful advice I've ever received 😊
I've seen other people here posting advice like "never hardcode" or "modularity keeps your code clean" -- I had to discover these pretty simple concepts entirely on my own. School (and later college) were filled with terrible teachers and worse students, and so were almost entirely useless for learning anything new.
The only decent dev I knew had brilliant ideas (genetic algorithms, sandboxing, ...) before they were widely used, but could rarely implement them well because he was generally an idiot. (Idiot sevant, I think? Definitely the idiot part.) I couldn't stand him. Completely bypassing a ridiculously long story, I helped him on a project to build his own OS from scratch; we made very impressive progress, even to this day. Custom bootloader, hardware interfacing, memory management, (semi) sandboxed processes, gui, example programs ...; we were in highschool. I'm still surprised and impressed with what we accomplished.
But besides him, almost every other dev I met was mediocre. Even outside of school, I went so many years without having another competent dev to work with. I went through various jobs helping other dev(s) on their projects (or rewriting them), learning new languages/frameworks almost every time: php, pascal, perl, zend, js, vb, rails, node, .... I learned new concepts occasionally (which was wonderful) but overall it was just tedious and never paid well because I was too young to be taken seriously (and female, further exacerbating it). On the bright side, it didn't dwindle my love for coding, and I usually spent my evenings playing with projects of my own.
The second dev (and one one of the best I've ever met) went by Novo. His approach to a game engine reminded me of General Relativity: Everything was modular, had a rich inheritance tree, and could receive user input at any point along said tree. A user could attach their view/control to any object. (Computer control methods could be attached in this way as well.) UI would obviously change depending on how the user could interact and the number of objects; admins could view/monitor any of these. Almost every object / class of object could talk to almost everything else. It was beautiful. I learned so much from his designs. (Honestly, I don't remember the code at all, and that saddens me.) There were other things, too, but that one amazed me the most.
I havent met anyone like him ever again.
Anyway, I don't know if I can really answer this week's question. I definitely received some good advice while initially learning, but past that it's all been through discovering things on my own.
It's been lonely. ☹2
It's rant time!
So, as a broke electrical engineering student, I got this job in a local company. They used JSF and my skills in java were, at the very least, small (former PHP developer). But as a self taught developer this didn't stopped me and I went full on java learning (very bad year for my EE studies).
I became the 'guy in charge' for several of their projects (yeah, they did exploited broke students, I realized this far too late). I was very proud of myself, I worked hard, showed my true value, and they became impressed.
One nice thursday night, my "handler" emailed me with a urgent request. They needed an entire jsf application done by monday and the requirements were fairly complex.
Oh boy, I had a total of 10h of sleep from thursday to monday. I didn't even slept before going to my monday class, but I delivered the system. Got an pat in the back... "you're awesome"... I was happy.
6 months later: I received an email asking to fix a bug in the system. No problem with that. Oddly, this bug was a MAJOR bug. There's no way the system worked properly for six months with it. I fixed it in no time and commited the changes.
Turns out that this was the first time the system was going to be deployed. They made me go in an insane weekend dev project, and didn't even used the system for SIX MONTHS!!! I started to work my way out the company after this, aiming to open my own software company.
I still remember some other rants from the time I worked there. But these are for later.
Nice week for you all, may the sprint go gently and the clients be kind.1
"How useful was your CS degree and why?" - I studied CS at university, my education always was incredibly useful.
Firstly, the knowledge you gain in itself is useful. Furthermore, we explain and understand the unknown in terms of the known. Thus, the more you know, the easier you learn new things.
But secondly and more importantly, university teaches you *how* to think. In a structured way, like a scientist or engineer. To see the bigger picture.
I originally wanted to end here, but I've read a couple of entries doubting the usefulness of any CS degree.
Our profession isn't all that different from others. It is, however, relatively young. How's this for an analogy: We're still in the stage of building sand castles. That's fine, and can be self taught. But in years to come we'll want to build bridges and sky scrapers, which are not just "sand castles scaled up". Our sand castle knowledge won't help us here. Sky scrapers need entirely different materials and a good understanding of architectural statics.
Can you still teach that yourself? Maybe. Will a formal education with a degree be useful and generally more trusted? I bet.3
A long time ago, I've started my journey into web development. Discovered HTML, CSS and was great, then it came WordPress.
As a self taught developer I thought this was an awesome way to develop sites quicker, didn't really knew any better and, for all I did at the time it was fine.
Then I discovered .NET and MVC, I was amazed (I kinda love the MVC pattern)
Then it came Laravel, really really liked working with it, felt free to develop isntead of focusing on mundane stuff
Last week a client came by, requesting a site for his business, he wanted all sorts of custom stuff, but he needed it in WordPress because that is what he knows how to use.
After three days of dealing with "the WordPress way" I'm seriously considering doing the whole thing in Laravel and style the admin to look like WordPress. I feel like wrestling a 500 pound gorilla, geez, why do every little feature has to be implemented in such an unnatural way.
I'm grabbing a hook but to hang myself on it4
Stupid ass nimble fucker of an old friend talks to me for a whole week after a reunion saying stuff like "I'm glad we got to spent time together bro and stuff", the soul eater of poop being sets up a conversation over a week talking like he was a true friend. He only had to manage it for a week more, hell he had to resist his urge for a puny ass week and I would've considered that maybe good people existed. Well the universe along with this Pseudo-panty fuck decided it was time, they pitch me an "idea". Well after demonstrating kindly that I could technically pull (n) such ideas from my virtual butthole. The guy finally believes his idea was stupid and moves away. A minute later. SURPRISE MOTHER FUCKER! he says, telling me that he got an amazing idea along and if I could help him with some stuff. Well.. What? I jumped at this amazing opportunity. Not because of the dangling-dickina of an idea, because this was my way out of this misery fucks life. Alright should buy me some time right? He would go watch some tutorials, make a logo and call me when there's a problem. We'll in the milli fucking time that even a big bang couldn't have recurred, the bitch calls and says.. Bro, sorry for disturbing you, I need some help... [What did your mother from another son tell you she only gave birth to half of you?]
APPARENTLY, THE GUY JOINED FORCES WITH SOME INTELLIGENT MINDS AND SETUP A LEAGUE OF LIKE MINDED NECROPHILES AND I COULD HELP THIS DREAM TEAM with a name and a logo.
It started, I could sense it. I wasn't THE CHOSEN ONE. Tired, I said I'll see what I can do while attempting to block his number. A few hours later, he calls from another number with no shame and asks BRO? DID YOU. Did me what you bloody dick lubricator. Yeah I watched your mom a couple times, then I got bored when I found out it was an ad.
Unfortunately no I did not tell that, instead I used the kindest words I could pull out of my frustrated ass to tell him I won't do it cause I have better things to do.
The guy comes back a few hours later with an emotional back-story of how this is his way out of his sad ass life and saying stuff like sorry to disturb you bro, I never meant to.
Oh my gawd! Give this douche manufacturer an Oscar. Actually give him two!!
After this traumatic experience I often feel for such people. They have around 90 years to live. They have a free fucking brain. They have money. They have less problems.
Why can't they come up with a worthy idea with all these factors to compound the ideation process.
And why on the earth can't they make the Idea on their own. I'm completely self taught so I don't see it being a problem. I could well say that I'm more knowledgeable than a few grads out of my stupid college but I don't wanna compare myself to those stupid beings.
If you have an idea? Make it. Die for it. But never approach another being, either he eats you or you eat him.4
Not really a rant and not very random. More like a very short story.
So I didn't write any rant regarding the whole Microsoft GitHub topic. I don't like to judge stuff quickly. I participated in few threads though.
Another thing is I also don't use GitHub very much apart from giving 🌟 to repos as a bookmark. Have one hobby project there. That's all. So I don't worry that much. I'm that selfish and self concerned. :3
I was first introduced to version control system by learning how to use tortoisesvn around 2008. We had a group project and one of the guys was an experienced and amazing programmer unlike the rest of us. He was doing commercial projects while we were at our 1st and 2nd year. Uni had svn repo server. He taught us about tortoisesvn. He also had Basecamp and taught us how to use it as well. So that's how I learned the benefits of using versioning tools and project management tools. On side note, our uni didn't teach any of those in detail :3
After that project, I was hooked to use versioning tools. So until school kicked me out, I was able to use their svn server. When I was on my own, I had to ask Google for help. I found a new world. There are still free svn services that I can use with certain limited functions. That's not the new world; I found people saying how git is better than svn in various ways. It was around 2010,2011.
At first I was a bit reluctant to touch git because of all the commands in terminal approach. But then I found that there is tortoisegit. I still thank tortoisesvn creator for that. I'm a sucker for GUI tools. So then I also have to pick which git servers to use. Hell yeah, self hosted gitlab is the way to go man. Well that's what the internet said. So I listened. I got it up and running after numerous trial and error. I used it briefly. Then I came back to my country on 2012-2013; the land of kilobytes per minute (yes not second, minute).
My country's internet was improved only after 2016. So from 2013 to 2016, I did my best not to rely on internet. I wasn't able to afford a server at my less than 10 people, 12ft*50ft office. So I had to find alternative to gitlab which preferably run on windows. Found bonobo and it was alright. It worked. Well had crazy moments here and there when the PC running Bonobo got virus and stuff. But we managed. We survived. Then finally multi national Telecom corporates came to our country.
We got cheaper and faster mobile data, broadband and fiber plans. Finally I can visit pornhub ... sorry github. Github is good. I like it. But that doesn't mean I should share my ugly mutated projects to the rest of the world. I could keep using Bonobo but it has risks. So I had to think for an alternative. I remembered that gitlab didn't have cloud hosting service when I checked them out in the past. So I just looked into Bitbucket and happy with their free plans of 5 users and unlimited private repos. I am very very cheap and broke.
That's why I said I don't really care that much about the whole M$GitHub topic at the beginning. However due to that topic, I have visited GitLab website again and found out they have cloud hosting now and their free plan is unlimited users and unlimited repos. So hell yeah. Sorry BB. I am gonna move to cheaper and wider land.
TL;DR : I am gonna move to GitLab because of their free plan.5
rantPercentage := .25 * RANT_AVG
tldr := "Looking for a new project/job/mentor after a problem with my 'job'"
body := `
I've been working for a while now with a smaller minecraft network (hold up now, this is serious, don't walk away yet) for free. It was an amazing opportunity for me. I had the chance to work in a team on a common goal. They had equipment that I otherwise wouldn't have access to, and people who were serious about getting things done, unlike mostly all others. We had almost everything a normal business had- multiple departments, lots of people that sometimes worked through the night, proper version control on software, etc. While others were paid for their work, I chose not to be; I was doing this completely for experience. I want to be ahead for college and for a job as much as possible, so I've dumped most of my free time into this. I was a junior developer, head of security, DBA, and sysadmin. The biggest java and kotlin projects I have ever made, and the ones I was most proud of went to this network. I challenged myself in everything I did, and improved in programming tenfold since I started. I just recently spent three days on their server, setting it up properly, because someone thought managing a control panel was too much work and we need to switch to SSH. So I worked on this server alone for three days, every minute of my free time, setting it all up, and man, I thought it was a thing of beauty. It all made sense and was so simple to manage servers my grandma could do it. Made multiple improvements- iptables was configured, ssh keys were used instead of passwords, ACL was used to manage users' permissions for finer access control to the files, to name a few. I had planned on setting up fail2ban, MySQL and Postgres databases, a website, a couple Go programs to make creating servers even easier, backups to an external server with cron, the works. So after spending in excess of 45 hours on this project (learning tons along the way), I had about 13 servers up and running in an organized fashion, with startup scripts and permissions all done. This was the best setup yet. I went to sleep, got up in the morning, and found out that they had reinstalled everything again without saying anything, wiping out all my work, and had stayed up all night setting up a control panel to get 3 servers running, which they're still working on, and may get it done in a couple more days. So all my work was wasted. A part of me is fine with that I guess, sure it wasted a ton of time on my part but I still learned a lot. But the fact that they just deleted it all without warning and decided to change to another system entirely because it was too much work to learn the new way, after making me set everything up alone without help, having to deal with multiple people breathing down my neck and trying to get people to respond so I could get my work done, annoys the hell out of me. So I decided to take a break from them.
Now I'm looking for a new way to improve in everything I do. I want to get better at java, kotlin, golang, sql, everything related to system administration, database administration, back end, and maybe even a little frontend. I want to be the best developer I can be. The challenge of learning something new is actually fun. I just need a new project, or place to help. Unfortunately, most internships start after college, so that isn't an option, and being a janitor at a small business won't help me much unless I look over other peoples' shoulders when they're working. Open source projects would be interesting, but I don't know if I'd be able to ask anyone for help or opinions on anything. The perfect situation would be working for someone, and having a mentor that really knows their stuff to help me become better. Working on personal projects only gets me so far so fast; it's mostly a cycle of doing something a bunch of different ways because I don't learn about an alternative way to do it until I'm mostly done. Also, if I worked with people in an actual place, I'd get a feel for the environment and for how all the systems worked together. Finally, it'd show me how everything is done properly (hopefully) and how software development in the real world is. A real project, in a real team would be a Godsend for me. I'm not asking for one here, obviously, I just want to know- is this possible for me? I know people my age aren't often hired for this, but I really want to learn and improve. I don't have a degree, I'm self taught in everything. I've been using java for two years, kotlin for a half, golang for less. I know it's unlikely. Just.. how can I try to get this kind of situation, if possible? Thanks.
[DISCLAIMER : Potential Troll Topic here] I am self taught python and js (not considering myself as a real developer as I don't push much on github and work in a complete other field than anything related to CS right now) and would be interested to learn another language, with another paradigm. So, as I love you all, I would be interested In your highlights as I am currently considering either C, C++, Rust or Go.
with C, I know I could interface it with python. With C++ (despite Linus considering it evil) I know I could interface it with Node. I don't know currently what to do with Go, but some people seem really enthusiastic about it (not really relevant I know) and Rust seems like the C of today, with a bunch of new cool kid stuff. My main goal, after all, is to learn something new, to have another sight on programming. Either understanding more about hardware or learning another way of coding (like different from oop).
I know it sounds like a troll, but I promise it's not, just a serious genuine question (hopefully it won't be closed here like on SO)
So what do you think devranters ?
Being eternally grateful to all of you, I wish you a good night.10
Before I went to college, I knew a computer science degree was kind of useless. With enough experience and self-taught skills, you can do way better than someone with a degree.
I went to college anyway because that was required to get in the door for some places, and without forced structure I get easily bored and don't do too well with tutorials.
While in school, I got an internship for the company I'm at today, and I learned more my first summer there than I did 3 years of school before.
And after gaining that experience and being bored and not challenged in school, a degree seemed even more pointless.
Then, in the final courses (the hard ones [allegedly]), a degree seemed even more unimportant. To the point where I almost regret school altogether. So many of the people in those classes failed at understanding the most basic concepts. So many of them had no capability for critical thinking. And yet they still graduate. So many of them should have been filtered out in the earlier classes, but due to easy grading and the school not wanting people to flunk, they still got a degree. The same degree as I have. It makes it meaningless. All those loans I have to repay, to be considered at the same level as them. It's insulting.
I'm luckily at a place that values my talents and ensures I keep my skills up and challenges me. It's still disheartening to think about what came out of my education.8
Hey. Can I borrow your ears for 5 minutes?
Since I've been out of school, I've often felt that even though I've learned how to code, the education went into a totally direction than the one I want to go. Of course a school can't teach you everything perfectly, but having almost no experience in frontend (mind you we learned the BAREST basics) just makes me feel entirely empty in that regard stepping up to a company. I've been pretty loaded during school, since I was struggling with a lot of things so I couldn't really find myself pursueing the direction of coding frontend apps being fun. I needed the little time I had to blow off steam playing games etc.
So the few things I know are all self taught, but I was never given a hand been shown best practices or solid advice where to look. Sitting down now at my pc trying to learn ReactJS for example feels incredibly draining and difficult, since we've never done JS in school ONCE. All the C# experience barely helps, since with ES6 being rolled out parallel to "normal" JS it's even harder to me to connect the lego blocks that is frontend development. Since many best practices are applied to ES6, I can barely even tell what previous practice they are replacing, making the entire picture even more spongy. In one sentence it's very overwhelming.
I've thought I'd apply maybe as a UX/UI Designer since I've got a great visual sense (confirmed countlessly by many, friends and strangers alike) maybe contributing to the frontend part that way. But as I was applying I've noticed that chances are seemingly pretty low to get accepted since it seems you've got zero reputition if you don't have a degree in Design.
It breaks me apart. I could probably apply as a frontend developer, but I am not sure if I would be happy doing that on the long run. Since just fucking around in Photoshop creating things seems like no effort and brings me joy, as compared to coding out lines for example.
I wanted to make money after school, improve on myself and my quality of life since I've drained that entirely for the sake of my education. Not spiral into another couple years just to eventually maybe get in the direction I want to.
On the flipside going into frontend dev with 0 skills, 0 experience, but being expected to have 2 years of hands on experience with the newest frameworks makes me feel empty and worthless.
I often hand out advice to other people on devRant, but this is the one time where I need some. Desperately. I feel shattered inside, getting out of bed in the morning has no incentive to me since I'll just feel like shit all day, watching YouTube to cheer me up temporarily, only to feel immense remorse not spending the day learning or improving on myself. Barely anything brings me joy. I don't wanna call myself depressive, but maybe I am just dodging the term and I am exactly that.
Thanks If you've read through this monstrosity of a rant/story. I'd be glad if you'd be so kind to give me a different take on my situation or a new perspective.
I am stepping on the spot and I am slowly dying inside because of it.
It dreads me to say it, but I need help.12
Hello everyone !
I am a self taught programmer. Currently in last semester in electronics engineering. I want to become a software developer but can't decide the right career path for me to take. I like back end, Android, Data structures and algorithm, Parallel programming, Machine learning and computer vision, and even security. I am afraid I will remain the jack off all trades and won't be the master of any. This way I won't be doing any good in my career. Any advice as what to do ?7
TL;DR: Can anyone recommend or point at any resources which deal with best practices and software design for non-beginners?
I started out as a self-taught programmer 7 years ago when I was 15, now I'm computer science student at a university.
I'd consider myself pretty experienced when it comes to designing software as I already made lots of projects, from small things which can be done in a week, to a project which i worked on for more than a year. I don't have any problems with coming up with concepts for complex things. To give you an example I recently wrote a cache system for an android app I'm working on in my free time which can cache everything from REST responses to images on persistent storage combined with a memcache for even faster access to often accessed stuff all in a heavily multithreaded environment. I'd consider the system as solid. It uses a request pattern where everthing which needs to be done is represented by a CacheTask object which can be commited and all responses are packed into CacheResponse objects.
Now that you know what i mean by "non-beginner" lets get on to the problem:
In the last weeks I developed the feeling that I need to learn more. I need to learn more about designing and creating solid systems. The design phase is the most important part during development and I want to get it right for a lot bigger systems.
I already read a lot how other big systems are designed (android activity system and other things with the same scope) but I feel like I need to read something which deals with these things in a more general way.
Do you guys have any recommended readings on software design and best practices?3
I got admitted into University a few weeks back, unfortunately Universities in my country dose not allow students to take CSE unless they have maths and physics in their A levels even though I had computer science in my A levels and did a lot better than my friends who had maths and physics. I asked them if there was any way I could change my major and they said no. So unfortunately i have to study management information system now and that's the closest subject i could find related to computers the i was allowed. I envied all the students I met there since all of them were studying computer science and they didn't even know how to code . These are the very students who change their major from CSE to BBA . The education system in my country is fucked up ;-; . But that isn't going to stop me from coding right now I started learning java and after I'm done with that i plan on starting to learn lua. Anyways I'm planning on giving another A levels on maths which I'm really bad at lol. Also I don't really know much about management information system i just went with it because all the other BBA majors seemed boring to me and I was too bummed out to research on the subject.Anyways wanted to ask if it is possible to get a job as a developer if you're self taught in South Asian countries?7