Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "open plan but not really open"
-
A note on devRant community etiquette. I've seen some behavior lately that I want to just mention since it goes against the rules of our community. We've specifically built moderation tools into upvoting and downvoting, and that is how all content should be moderated.
Commenting on rants that you don't think should be posted only gives them more exposure and unfortunately at times people trying to moderate content via comments and rants have gotten abusive towards other members. On the contrary, I've yet to see any of the people these select few members accuse of "ruining the community" act hostile towards anyone.
So with that said, I wanted to make sure this policy is visible, because commenting on other people's rants, especially in a hostile way to stop them from posting, is bannable and we really don't want to see it. Like mentioned before, that's what downvoting is for and it's much more effective since it doesn't boost the content like adding a comment does.
We take content quality seriously and while we haven't been able to eliminate reposts completely, we've made a lot of progress. For directly reposted content, we added the repost detector (https://devrant.io/rants/425054/...) and are still working to improve that and appreciate any feedback/ideas for it.
Like any community on the internet, devRant will always have some reposts and it will always have some content you really don't like. That's what comes along with being an open platform with very little moderation. We get requests to moderate more heavily, but we don't like censoring recent rants and don't plan to do that.
Most of the times people who repost content or an image didn't realize it was already posted. Not everyone uses recent sort and almost always they have no ill intent.
Anyway, feel free to let me know if you have any questions and feedback is always welcome.45 -
I was 15 years old and the first year of high school. Everything was new to me and I was such a newbie. At that time I had 2-3 year of programming behind me at an institution where they taught competitive programming. And I knew something about computers. Not much but more than most of my school mates. At that time I wanted to become "super cool hacker".
So we had this very very thought teacher for history which was also our form master. She really knows how to explained everything about history and in an interesting way. But while she was teaching we also had to write down notes from her powerpoints that were on a projector. And occasionally she would wait for us to copy everything and then move on with her lecture. But sometimes she didn't. This was frustrating as hell. The whole class would complain about this because you couldn't take notes down normal, you had to do it at double speed.
But she got one weak spot. She was not very good with computers. Our school computers were locked in some kinda closet so that students didn't have physical access to a computer and were also password protected. So I came up with the plan to plant wireless mouse in her computer so that I could control her mouse. At that time it seemed like SUPER HACKER MASTER PLAN.
So I got an opportunity one time when she left the classroom and let closet where the computer was open. I quickly sneaked the USB of the wireless mouse in the computer and then go back to the seat.
So THE FUN began.
Firstly I would only go back in powerpoint so that all my schoolmates could write down notes including me. And it was hilarious to watch when she didn't know what is happening. So then I would move her mouse when she tried to close some window. I would just move it slightly so she wouldn't notice that somebody else is controlling mouse. And by missing X button just by slight she would click other things and other things would pop up and now she had to close this thing so it became a nightmare for her. And she would become angry at the mouse and start complaining how the computer doesn't work and that mouse doesn't obey her.
One time when she didn't pay attention to her computer and projector I went to paint program and drew a heart and wrote we love you (In Slovenian Imamo vas radi -> See the picture below) and one of my school mates has the picture of it. We were all giggling and she didn't know what is was for. And I managed to close everything before she even noticed.
So it got to the point where she couldn't hand it more so she called our school IT guy so that he would check her computer (2 or 3 weeks passed before she called IT guy). And he didn't find anything. He was really crappy IT guy in general. So one week passed by and I still had messed with her mouse. So she got a replacement computer. Who would guessed all the problems went away (because I didn't have another mouse like that). I guess when our IT guy took the computer to his room and really thoroughly check it he found my USB.
So he told her what was the problem she was so pissed off really I didn't see her pissed off so much in all my 4 years in high school. She demanded the apology from whom did it. And at that moment my mind went through all possible scenarios... And the most likely one was that I was going to be expelled... And I didn't have the balls to say that I did it and I was too afraid... Thanks to God nobody from my school mates didn't tell that it was me.
While she waited that somebody would come forward there was one moment when our looks met and at that moment both of us knew that I was the one that did it.
Next day the whole class wrote the apology letter and she accepted it. But for the rest of 4 years whenever was there a problem with the computer I had to fixed it and she didn't trust anybody not even our IT guy at school. It was our unwritten contract that I would repair her computer to pay off my sin that I did. And she once even trusted me with her personal laptop.
So to end this story I have really high respect for her because she is a great teacher and great persons that guide me through my teen years. And we stayed in contact.11 -
This is kind of a horror story, with a happing ending. It contains a lot of gore images, and some porn. Very long story.
TL;DR Network upgrade
Once upon a time, there were two companies HA and HP, both owned by HC. Many years went by and the two companies worked along side each one another, but sometimes there were trouble, because they weren't sure who was supposed to bill the client for projects HA and HP had worked on together.
At HA there was an IT guy, an imbecile of such. He's very slow at doing his job, doesn't exactly understand what he's doing, nor security principles.
The IT guy at HA also did some IT work for HP from time to time when needed. But he was not in charge of the infrastructure for HP, that was the jobb for one developer who didn't really know what he was doing either.
Whenever a new server was set up at HP, the developer tried many solutions, until he landed on one, but he never removed the other tested solutions, and the config is scattered all around. And no documentation!!
Same goes with network, when something new was added, the old was never removed or reconfigured to something else.
One dark winter, a knight arrived at HP. He had many skills. Networking, server management, development, design and generally a fucking awesome viking.
This genius would often try to cleanse the network and servers, and begged his boss to let him buy new equipment to replace the old, to no prevail.
Whenever he would look in the server room, he would get shivers down his back.
(Image: https://i.bratteng.xyz/Ie9x3YC33C.j...)
One and a half year later, the powerful owners in HA, HP and HC decided it was finally time to merge HA and HP together to HS. The knight thought this was his moment, he should ask CEO if he could be in charge of migrating the network, and do a complete overhault so they could get 1Gb interwebz speeds.
The knight had to come up with a plan and some price estimates, as the IT guy also would do this.
The IT guy proposed his solution, a Sonicwall gateway to 22 000 NOK, and using a 3rd party company to manage it for 3000 NOK/month.
"This is absurd", said the knight to the CEO and CXO, "I can come up with a better solution that is a complete upgrade. And it will be super easy to manage."
The CEO and CXO gave the knight a thumbs up. The race was on. We're moving in 2 months, I got to have the equipment by then, so I need a plan by the end of the week.
He roamed the wide internet, looked at many solutions, and ended up with going for Ubiquiti's Unifi series. Cheap, reliable and pretty nice to look at.
The CXO had mentioned the WiFi at HA was pretty bad, as there was WLAN for each meeting room, and one for the desks, so the phone would constantly jump between networks.
So the knight ended up with this solution:
2x Unifi Securtiy Gateway Pro 4
2x Unifi 48port
1x Unifi 10G 16port
5x Unifi AP-AC-Lite
12x pairs of 10G unifi fibre modules
All with a price tag around the one Sonicwall for 22 000 NOK, not including patch cables, POE injectors and fibre cables.
The knight presented this to the CXO, whom is not very fond of the IT guy, and the CXO thought this was a great solution.
But the IT guy had to have a say at this too, so he was sent the solution and had 2 weeks to dispute the soltion.
Time went by, CXO started to get tired of the waiting, so he called in a meeting with the knight and the IT guy, this was the IT guys chance to dispute the solution.
All he had to say was he was familiar with the Sonicwall solution, and having a 3rd party company managing it is great.
He was given another 2 weeks to dispute the solution, yet nothing happened.
The CXO gave the thumbs up, and the knight orders the equipment.
At this time, the knight asks the IT guy for access to the server room at HA, and a key (which would take 2 months to get sorted, because IT guys is a slow imbecile)
The horrors, Oh the horrors, the knight had never seen anything like this before.
(Image: https://i.bratteng.xyz/HfptwEh9qT.j...)
(Image: https://i.bratteng.xyz/HfptwEh9qT.j...)
(Image: https://i.bratteng.xyz/hmOE2ZuQuE.j...)
(Image: https://i.bratteng.xyz/4Flmkx6slQ.j...)
What are all these for, why is there a fan ductaped to on of the servers.
WHAT IS THIS!
Why are there cables tied in a knot.
WHY!
These are questions we never will know the answers too.
The knight needs access to the servers, and sonicwall to see how this is configured.
After 1.5 month he gains access to the sonicwall and one of the xserve.
What the knight discovers baffles him.
All ports are open, sonicwall is basically in bridge mode and handing out public IPs to every device connected to it.
No VLANs, everything, just open...10 -
I was thinking today about a certain aspect of running a software startup and then it came to me...
Hank Scorpio, from the Simpsons, was right in his approach.
So many time I have seen people get hired only for the company to get a less-than-optimal performance from them.
But why is this? Of course, it is many factors but one of the major ones is...
Employers seem to lump employees in together and assume that since most developers operate in one way that the new devs should be the same way.
The problem with this seems to be that we are all pandering to the lowest common denominator.
Let's face it, most devs (like most people) are not good, and almost everyone is not living up to their potential because of a lack of understanding of themselves and how they can achieve more.
On top of that, most devs are just employees who will do what you tell them to.
Since those above developers are the norm (Reference Seinfeld "95% of people are undatable") we have to assume that there is a 5% who are exceptional.
The difference between the 5% and the 95% is NOT some built-in superiority but that the 5% has a good idea themselves and an understanding of how to get the most out of them. They set goals and then find the right path to achieve them. They don't coast.
By assuming these developers are the same as the others is REALLY hampering their potential and by doing this the company only hurts itself.
So, that's a lot of talking but what actionable things can be taken away from this?
Hank asks Homer "What is your dream?"
Well, employeers should take the time to identify which of these developers are in the 5%. A problem arises though when the 5% decide it is in their best interest to blend in.
Like when home says his dream is to "Work for you?" Hank shuts him down and wants to get to the truth. He makes Homer comfortable with not only vocalizing but achieving his dreams.
When an employer is looking for their types they should be looking for the following...
1. A real genuine desire to achieve
2. A real plan to get their goals done
3. Critical thinking and self-evaluation
But more importantly, when they identify these types they should be asking questions like...
- How can we help you be more productive?
- Is there anything about our current operating norm that is hindering you?
- How does your productivity workflow look?
3 difficulties arise though…
1. Most hiring managers are incompetent, and quite frankly, everyone thinks they are in the 5% and for those managers who delude themselves into this without putting in the work, they will have an impossible time actually identifying those who are actually good and productive employees.
2. Showing special treatment to these folks may upset the people below.
3. You will hear things you don’t like…
Examples include…
- That new fancy open-office that you got because it was the trendy thing to do, you might hear that this is a huge hinderance.
- These days people seem to treat devs like nomads, “just give him a laptop and a table and he is fine”!. You may hear that this is complete BS. Real achievers may want a dedicated desk with multiple monitors, a desk with drawers etc.
- This WILL cost you money. I know of developers who cannot work without a dedicated whiteboard. Buy them whatever they need.
- They may want BOTH a standing desk and a chair to sit on.
- Etc.
The point is that it seems to me to be a foolish strategy to tailor your entire company to force everyone into the same work habits. Really good employees have the self-awareness to develop their own productive practices and any keeping of them inside a box will NOT help.27 -
Once went for an interview for a senior web developer role. The first interview was a coding test ( not a problem, been coding for years and know I can do it). The company boasted that it supported pair programming.
I was sat at in an open plan office In front of a machine and given a question sheet of 10 code questions/puzzles and asked to solve them. Then out of nowhere 5 other senior devs appeared and stood behind me and proceeded to comment /question every single line I typed (so no pressure then).
I did questions 1-5 (fairly easy tbh) but all the devs behind me critiquing every single line started to drive me crazy so I asked if it was normal for them to interview this way and was told 'yes' and that after a year of trying to find someone they had been unsuccessful.
I told them that I wanted to leave the interview at that point; I don't mind my code being critiqued just prefer it when I've at least finished the line. Forcing you into a pair programming scenario in the interview really didn't feel right.
To this day (2years later) I still see ads for that very same job3 -
My first job was actually nontechnical - I was 18 years old and sold premium office furniture for a small store in Munich.
I did code in my free time though (PHP/JS mostly, had a litte browsergame back then - those were the days), so when my boss approached me and asked me whether I liked to take over a coding project, I agreed to the idea.
Little did I know at the time: I was supposed to work with a web agency the boss had contracted to build their online shop. Only that he had no plan or anything, he basically told them "build me an online shop like abc(a major competitor of ours at the time)"
He employed another sales lady who was supposed to manage the shop (that didn't exist yet). In the end, I think 80% of her job was to keep me from killing my boss.
As you can imagine, with this huuuuge amout of planning and these exact visions of what was supposed to be, things went south fast and far. So far that I could visit my fellow flightless birds down in the Penguin's republic of Antarctica and still need to go further.
Well... When my boss started suing the web agency, I was... ahem, asked to take over. Dumb as I was, I did - I was a PHP kid and thought that Magento, being written in PHP, would be easy to master. If you know Magento, you know that was maybe the wrongest thing I ever said.
Fast forward 3 very exhausting months, the thing was online. Not all of it worked yet, but it was online and fairly secure.
I did next to everything myself, administrating the CentOS box the shop was running on, its (own) e-mail server, the web server, all the coding required for the shop (can you spell 12 hour day for 8 hour pay?)
3 further months later, my life basically was a wreck, I dragged myself to work, the only thing I looked forward being the motorcycle ride home. The system worked though.
Mind you, I was still, at the time, working with three major customers, doing deskside support and some admin (Win Server 2008R2 at the time) - because, to quote my boss, "We could not afford a full time developer and we don't need one".
I think i stopped coding in my free time, the one hobby I used to love more than anything on the world, somewhere Decemerish 2012. I dropped out of the open source projects I was in, quit working on my browser game and let everything slide.
I didn't even care to renew the domains and servers for it, I just let it die without notice.
The little free time I had, I spent playing video games and getting drunk/high.
December 2013, 1.5 years on the job, I reached my breaking point and just left, called in sick at least a week per month because I just could not see this fucking place anymore.
I looked for another job outside of ALL of what I did before. No more Magento, no more sales, no more PHP. I didn't have to look for long, despite what I thought of my skills.
In February 2014, I told my boss that I quit. It was still seven months until my new job started, but I wanted him to know early so we could migrate and find a replacement.
The search for said replacement started in June 2014. I had considerably less work in the months before, looks like he got the hint.
In August 2014, my replacement arrived and I got him started.
I found a job, which I am still in, and still happy about after almost half a decade, at a local, medium sized ISP as a software dev and IT security guy. Got a proper training with a certificate and everything now.
My replacement lasted two months, he was external and never really did his job - the site, which until I had quit, had a total of 3 days downtime for 3 YEARS (they were the hoster's fault, not mine), was down for an entire month and he could not even tell why.
HIS followup was kicked after taking two weeks to familiarize himself with the project. Well, I think that two weeks is not even barely enough to familiarize yourself with nearly three years of work, but my boss gave him two days.
In 2016, the shop was replaced with another one. Different shop system, different OS, different CI. I don't know why and I can't say I give a damn.
Almost all the people that worked at the company back with me have left for greener pastures, taking their customers (and revenue) with them.
As for my boss' comments, instructions and lines: THAT might not be safe for work. Or kids. Or humans in general. And there wouldn't be much left if you put it through a language filter...
Moral of the story: No, it's not a bad thing to leave a place if you're mistreated there. Don't mistake loyalty with stupidity!
And, to quote one of my favourite Bands: "Nothing matters when the pain is all but gone" (Tragedy + Time by Rise Against).8 -
So, now that companies are used to "WFH", maybe we can agree upon a better office for tech companies?
I do actually think the more "ideal" tech company office wouldn't have to be expensive.
It can be smaller. Any tech company worth it's salt should have discovered in the last few months that it's not just devs who can work from home. Sales, support, management — you really don't need to fight your way through highway traffic or cram yourself into a sweaty subway every day.
There's value in having an office. Not everyone can fit a good workspace in their apartment.
But we could at least center it around:
1. A bunch of small, completely soundproof isolation booths, for those who need a focus space, and can't find a silent spot at home.
2. A social lounge space, a communal living room with couches, a bar, creative relaxing stuff, whiteboards, etc. WFH can become depressing even for the most antisocial employees, chilling on a couch with some coworkers to brainstorm ideas or chat about random tech is valuable for building good relationships with your team.
The "open plan office" with rows of desks and monitors, no matter how luxuriously decorated with vertical gardens and hipster desks from reclaimed wood, can go die a fiery painful death.
I either want to work, or socialize.
Open plan offices (and it's even more dystopian suicide-inducing cousin, the cubicle) are like being unable to choose between fucking and a blowjob, so you end up humping a navel.
Oh, and conference rooms, go fuck yourself as well. I want to be able to minimize your ugly face if you plan to talk about company financial reports for 2 hours.2 -
The exit interview with an ex boss.
While working there, we had regular meetings every other week. Discussing current work, equipment requests, technology, sometimes office politics. At some point we discussed that our team was moved to an open-plan office and how I regarded this as detrimental to our productivity and satisfaction. Of course we sometimes had different opinions, but it was an amicable atmosphere. My boss also always carried a personal organizer and sometimes wrote notes during these meetings.
Later I resigned. Him becoming more and more abusive was a major reason, and I think he knew he had crossed a line. So the day of the exit interview came...
In a professional setting, you'd thank each other for the good collaboration. Maybe laugh about one or two points from the past. And then wish each other success for the future and say farewell.
Not there. Not with him in the exit interview.
Instead, he apparently went through a list in his personal organizer. A list of every single thing we ever disagreed at. And roasted me for each. single. item. "Back when you said x... you can't really say it like that". Or "remember that time when you were against open-plan offices? Let me tell you, that's just your opinion. There are no actual arguments against them, it's just a matter of taste". And that went on and on and on. Like a final reckoning. Like he needed to get revenge. I hope that carnage made him happy, because it made *me* happy to have had resigned.
And it was fucking unprofessinal, because this is the management equivalent of stomping your foot in rage and anger, shouting "no no nooo I'm right! I! am! Riiiiiiight! *stomp*".5 -
- Back in October 2019 -
- Me: Hey, these two servers are having weird problems. Several services we use stop functioning every 7-10 days. I can temporarily fix them by taking them off the domain and putting them back on, but I don’t know why they’re happening or what further damage this workaround causes.
- Boss: Thats not good. Well. Keep doing the fix when it’s needed.
- Me: We should really reach out to someone at Microsoft through our support plan. I have no idea how to fix any of this and it’s making our Hyper-V environment very unstable.
- Boss: K. Let’s not worry about that now, let’s just keep working around it.
- In January 2020 -
- Me: Hey boss. More and more errors are generating from these servers. I’ve created a log of everything Ive found to hand off to a support agent. We really need to.
- Boss: Okay. Let’s talk to our internal team that uses Hyper-V and see what they did since they don’t have any problems.
- Me: Its not Hyper-V specific. It’s stemming from AD and authentication. It causes problems even without Hyper-V installed, so I don’t think it will help.
- Boss: K. Let’s just do what we can with what we got.
- Today, May 2020 -
- Me: Hey. The servers no longer work at all, and the workaround has no effect anymore. I’m completely stalled on my project now and have nothing to do.
- Boss: What?? What happened to them?
- Me: *Sends 17 page PDF file documenting all found issues, errors, warnings, and weird anomalies in both servers, as well as troubleshooting steps I’ve already performed*
- Boss: None of this makes any sense. I need you to start troubleshooting right away.
- Me: But... I can’t... *Sends screenshots of errors having no search results on the web, screenshots of Microsoft Support Techs on forums telling me we need to open tickets with Microsoft directly, other reasons why I’m completely blocked*
- Boss: Keep trying to figure it out. We need this resolved as soon as possible and we can’t let it happen again in the future.
Now I’m completely alone in our office, bitterly staring at the servers, trying to force an epiphany on how to fix these dumb boxes.5 -
Man, contributing to open source projects seems very intimidating to me.
I have never contributed to one of those repos on Github with a shit-ton of stars and a load of watchers. Made up my mind to start sometime around the start of September. Looked up a repo that I was very excited to contribute to. Went through their really large codebase, tried to understand as much as I could (They have a fair amount of documentation, but I just can't understand a lot of design decisions that were taken). Looked up one of the open issues marked for newbies, went through the relevant code to understand where and how I would have to make my changes in the code, and was about to start... when a seasoned contributor submitted a pull request.
This same occurrence has repeated itself 3 times now. If you mark an issue for beginners, maybe let the beginners handle them? Also, if you plan to contribute to an issue, why not announce your intention to do so? Get the issue assigned to you, so no one else ends up wasting their time coming up with a solution.
I would love to recommend this to the contributing team, but I am just way too scared to initiate a conversation with these guys. I mean, they are way more experienced and knowledgeable than me (some of them are even famous!).
I am definitely out of my depth with this project, and maybe should look for an easier one, but I really want to rise up to the challenge. Guess I'll stick around then, just waiting for my chance. :|3 -
Inspired by @NoMad. My philosophy is that technology is a means to and ends. We’re a tool oriented species. As it relates to software and hardware, they should be your means to achieve your ends without you needing to think. Think of riding a bicycle or driving a car. You aren’t particularly conscious of them - you just adjust input based on heuristics and reflex - while your doing the activity.
For a long time Software has been horrendously bad at this. There is almost always some setup involved; you need to front-load a plan to get to your ends. Funny enough we’re in the good days now. In the early days of GUI you did have to switch modes to achieve different things until input peripherals got better.
I’ve been using windows from 95 and to this day, though it’s gotten better it’s not trivial to setup an all in one printer and scan a document - just yesterday I had to walk my mother through it and she’s somewhat proficient. Also when things break it’s usually nightmare to fix, which is why fresh installing it periodically is s meme to this day. MS still goes to great lengths with their UI so that most people can still get most of their daily stuff done without a manual.
I started Linux in University when I was offered an intro course on the shell. I’ve been using it professionally ever since. While it’s good at making you feel powerful, it requires intricate knowledge to achieve most things. Things almost never go smoothly no matter how much practice you have, especially if you need to compile tools from source. It also has very little in the ways of safe guards to prevent you from hurting yourself. Sure you might be able to fix it if you press harder but it’s less stress to just fresh install. There is also nothing, NOTHING more frustrating than following documentation to the T and it just doesn’t work! It is my day job to help companies with exactly this. Can’t really give an honest impression of the GUI ux as the distros have varying schools of thoughts with their desktop environments. Even The popular one Ubuntu did weird things for a while. In my humble opinion, *nix is better at powering the internet than being a home computer your grandma can use.
Now after being in the thick of things, priorities change and you really just want to get things done. In 2015 I made the choice to go Mac. It has been one of my more interesting experiences. Honestly, I wish more distros would adopt its philosophy. Elementary only adopted the dock. It’s just so intuitive. How do you install an application? You tap the installer, a box will pop up then you drag the icon to the application folder (in the same box) boom you are done. No setup wizards. How to uninstall? Drag icon from app folder to trash can. Boom done. How to open your app? Tap launch pad and you see all your apps alphabetically just click the one you want. You can keep your frequent ones on the dock. Settings is just another app in launchpad and everything is well labeled. You can even use your printers scanner without digging through menus. You might have issues with finder if your used to windows though and the approach to maximizing and minimizing windows will also get you for a while.
When my Galaxy 4 died I gave iPhone a chance with the SE. I can tell you that for most use cases, there is no discernible difference between iOS and modern android outside of a few fringe features. What struck me though was the power of an ecosystem. My Mac and iPhone just work well together. If they are on the same network they just sync in the background - you need to opt in. My internet went down, my iMac saw that my iPhone had 4g and gave me the option to connect. One click your up. Similar process with s droid would be multi step. You have airdrop which just allows you to send files to another Apple device near you with a tap without you even caring what mechanism it’s using. After google bricked my onHub router I opted to get Apples airport series. They are mostly interchangeable and your Mac and iOS device have a native way to configure it without you needing to mess with connecting to it yourself and blah. Setup WiFi on one device, all your other Apple devices have it. Lots of other cool stuff happen as you add more Apple devices. My wife now as a MacBook, an IPad s d the IPhone 8. She’s been windows android her life but the transition has been sublime. With family sharing any software purchase works for all of us, and not just apples stuff like iCloud and music, everything.
Hate Apple all you want but they get the core tenet that technology should just work without you thinking. That’s why they are the most valued company in the world14 -
Here comes lots of random pieces of advice...
Ain't no shortcuts.
Be prepared, becoming a good programmer (there are lots of shitty programmers, not so many good ones) takes lots of pain, frustration, and failure. It's going to suck for awhile. There will be false starts. At some point you will question whether you are cut out for it or not. Embrace the struggle -- if you aren't failing, you aren't learning.
Remember that in 2021 being a programmer is just as much (maybe even moreso) about picking up new things on the fly as it is about your crystalized knowledge. I don't want someone who has all the core features of some language memorized, I want someone who can learn new things quickly. Everything is open book all the time. I have to look up pretty basic stuff all the time, it's just that it takes me like twelve seconds to look it up and digest it.
Build, build, build, build, build. At least while you are learning, you should always be working on a project. Don't worry about how big the project is, small is fine.
Remember that programming is a tool, not the end goal in and of itself. Nobody gives a shit how good a carpenter is at using some specialized saw, they care about what the carpenter can build with that specialized saw.
Plan your build. This is a VERY important part of the process that newer devs/programmers like to skip. You are always free to change the plan, but you should have a plan going on. Don't store your plan in your head. If you plan exists only in your head you are doing it wrong. Write that shit down! If you create a solid development process, the cognitive overhead for any project goes way down.
Don't fall into the trap of comparing yourself to others, especially to the experts you are learning from. They are good because they have done the thing that you are struggling with at least a thousand times.
Don't fall into the trap of comparing yourself today to yourself yesterday. This will make it seem like you haven't learned anything and aren't on the move. Compare yourself to yourself last week, last month, last year.
Have experienced programmers review your code. Don't be afraid to ask, most of us really really enjoy this (if it makes you feel any better about the "inconvenience", it will take a mid-level waaaaay less time to review your code that it took for you to write it, and a senior dev even less time than that). You will hate it, it will suck having someone seem like they are just ripping your code apart, but it will make you so much better so much faster than just relying on your own internal knowledge.
When you start to be able to put the pieces together, stay humble. I've seen countless devs with a year of experience start to get a big head and talk like they know shit. Don't keep your mouth closed, but as a newer dev if you are talking noise instead of asking questions there is no way I will think you are ready to have the Jr./Associate/Whatever removed from your title.
Don't ever. Ever. Ever. Criticize someone else's preferred tools. Tooling is so far down the list of what makes a good programmer. This is another thing newer devs have a tendency to do, thinking that their tool chain is the only way to do it. Definitely recommend to people alternatives to check out. A senior dev using Notepad++, a terminal window, and a compiler from 1977 is probably better than you are with the newest shiniest IDE.
Don't be a dick about terminology/vocabulary. Different words mean different things to different people in different organizations. If what you call GNU/Linux somebody else just calls Linux, let it go man! You understand what they mean, and if you don't it's your job to figure out what they mean, not tell them the right way to say it.
One analogy I like to make is that becoming a programmer is a lot like becoming a chef. You don't become a chef by following recipes (i.e. just following tutorials and walk-throughs). You become a chef by learning about different ingredients, learning about different cooking techniques, learning about different styles of cuisine, and (this is the important part), learning how to put together ingredients, techniques, and cuisines in ways that no one has ever showed you about before. -
HELP, ITS A MESS!!
Here is a thing : 30 hours ago, i was completely free nd useless .Had a lot of reminders to open source & learn new techs for upcoming summer vacations .
But day before yesterday my friend called me to say that he got a 6 month internship in web from some (not so big) startup and they were looking for some Android dev too, so he gave my name and wanted me to mail him my resume.
I did, and within half an hour he called, discussed about the work and wanted to test me.(as i said i didn't had plans for internship , leave alone a sudden test, but the company was work from home so i didn't denied ) The test was a big one but easy, he wanted me to design 15 UI activities for an app by looking at the wireframe. I asked for next 6 hours, did it in 4.5 and submitted him the repo...
THE TROUBLE STARTS NOW...
1) He seemed impressed i guess, coz the next day when he saw my message, he Created a group of 5 people within a few minutes and started assigning tasks(?!) And in the personal chat what he said was just weird : "You are the lead for this project" (WTF??!?)
2)I had already mentioned him that i currently had exams so won't be doing any much of practical work but after every few grp messages, he was trying to assign me some task and a deadline. Weirdly, the test was actually a wireframe based on the project idea from some of their client , and just to show my skills, i have designed layouts of 15 of their activities of their app.
3) The negetive part comes like this: THERE IS NO MONEY AND ITS A 6 MONTH INTERNSHIP !! Fed up of this continues indirect deadlines, i asked him What's my responsibilities as a team dev, what will be my tenure and what will be the pay to which he replies that:
"there is no stipend for this, we have multiple projects lined up in which you can contribute and your internship period is 6 months which could be increased/decreased on the basis of your performance. You will get a PPO, Internship certificate , mentor support and intellectual code rights (which i am guessing means my 2 word name in the about pages of the apps i develop for them ) .And as a lead , you will be getting an experience in leadership skills "
I am really confused. Work from home seems like a relaxing thing , and being a team lead for the first time definitely would make me a little more confident. But why does it feel to be kind of fraud plan? Plus there is no pay and i would be ignoring my creativity ideas for this (not completely but i am sure anyone giving a job would expect some work from me eceryday ).
WHAT SHOULD I DO???3 -
So my office tends to have seating rearrangements every few months due to the amount of people increasing in the company. In the 1 year that we moved to this office, I have been lucky to not have moved seats drastically.
Today though my team got moved to a new area. The previous area was already pretty small, the new area is even smaller where dual monitors JUST fit on the desk. With more people being hired by the month, there's going to be no more room again. I really wish the company would look at just hiring actual talented staff rather than hiring just to meet demands. Again, it's all about quality, not quantity!! -
This is more of an advice seeking rant. I've recently been promoted to Team Leader of my team but mostly because of circumstances. The previous team leader left for a start-up and I've been somehow the acting Scrum Master of the team for the past months (although our company sucks at Scrum generally speaking) and also having the most time in the company. However I'm still the youngest I'm my team so managing the actual team feels a bit weird and also I do not consider myself experienced enough to be a Technical lead but we don't have a different position for that.
Below actions happen in the course of 2-3 months.
With all the things above considered I find myself in a dire situation, a couple of months ago there were several Blocker bugs opened from the Clients side / production env related to one feature, however after spending about a month or so on trying to investigate the issues we've come to the conclusion that it needs to be refactorised as it's way too bad and it can't be solved (as a side note this issue has also been raised by a former dev who left the company). Although it was not part of the initial upcoming version release it was "forcefully" introduced in the plan and we took out of the scope other things but was still flagged as a potential risk. But wait..there's more, this feature was part of a Java microservice (the whole microservice basically) and our team is mostly made of JS, just one guy who actually works as a Java dev (I've only done one Java course during uni but never felt attracted to it). I've not been involved in the initial planning of this EPIC, my former TL was an the Java guy. Now during this the company decides that me and my TL were needed for a side project, so both of us got "pulled out" of the team and move there but we've also had to "manage" the team at the same time. In the end it's decided that since my TL will leave and I will take leadership of the team, I get "released" from the side project to manage the team. I'm left with about 3 weeks to slam dunk the feature.. but, I'm not a great leader for my team nor do I have the knowledge to help me teammate into fixing this Java MS, I do go about the normal schedule about asking him in the daily what is he working on and if he needs any help, but I don't really get into much details as I'm neither too much in sync with the feature nor with the technical part of Java. And here we are now in the last week, I've had several calls with PSO from the clients trying to push me into giving them a deadline on when will it be fixed that it's very important for the client to get this working in the next release and so on, however I do not hold an answer to that. I've been trying to explain to them that this was flagged as a risk and I can't guarantee them anything but that didn't seem to make them any happier. On the other side I feel like this team member has been slacking it a lot, his work this week would barely sum up a couple of hours from my point of view as I've asked him to push the branch he's been working on and checked his code changes. I'm a bit anxious to confront him however as I feel I haven't been on top of his situation either, not saying I was uninvolved but I definetly could have been a better manager for him and go into more details about his daily work and so on.
All in all there has been mistakes on all levels(maybe not on PSO as they can't really be held accountable for R&D inability to deliver stuff, but they should be a little more understandable at the very least) and it got us into a shitty situation which stresses me out and makes me feel like I've started my new position with a wrong step.
I'm just wondering if anyone has been in similar situations and has any tips or words of wisdom to share. Or how do you guys feel about the whole situation, am I just over stressing it? Did I get a good analysis, was there anything I could have done better? I'm open for any kind of feedback.2 -
Aaaaarggghhh
Having to think about what and when to eat is such a fucking pain in the ass. I don't want to search for recipes. I don't want to think about nutrition. I don't want to count calories. I just want something to tell me exactly what to eat, when I should eat and what to buy. Same goes for workout routines. Just tell me what to do I'll do it. I want an autopilot for that sort of stuff so I don't have to ducking think about it anymore. It's such a giant waste of time to have to manually plan this shit through, I want to use my brain for other things like math or chemistry or Programming. In fact I don't even want to cook because I am alone and cooking for one person is so ducking pointless. I lost over 40kg in the last years. I learned my lesson, most things taste like shit now because I associate food with all the pain and depression that I had to overcome to achieve a normal weight and fit body. Food went from being a joy to being an annoying necessity. I got fit and I want to work out even more but I really don't want to think about this shit. The exercises and pain and hunger are all nothing but planning is my true enemy. It bores me to death, it's more painful than running until I break down I absolutely fucking hate it.
I am really close to start some kind of open source food planner where you can type in your goals ( weight loss, muscle gain etc.) In great detail with all kind of options ( vegetarian, vegan, allergies, budget, country where you live in for local recipes etc.) And it generates a food plan for you with exact details of where exactly to buy the ingredients how to cook them etc. No fancy Ui No bullshit ads for some kind of wonder drug nothing annoying. Something so easy that it can be used as an autopilot for ones fitness and life. Do what it says and you'll look decent, don't think about the rest. Having that would be so great and I could finally think about more important shit than this. Less overhead more time for things that can't be automated.
And Yes I know that this is exactly what a personal trainer would do, but I am not going to spend 600€ a month for someone to tell me exactly what to buy, what to eat and how to work out.23 -
Can I just say, fuck app wrappers.
Why? Well let me tell you the story of cordova.
My plan was to make a leaderboard kind of thing for the tablesoccer we do at the place I'm interning at.
How it would work:
app -> create game -> API -> live feed
Buttons (flic) -> API
API -> RTU -> live feed
They use Symfony internally and externally, so that was my first go to.
I couldn't find any way to do Symfony that can do RTU without running another service.
As they really want an app but it's not their core domain I looked around for options for wrappers and decided to put RTU on the backburner.
Setting up cordova was slightly annoying but was okay. I got to building the base app.
Then I thought, maybe let's get RTU working with cordova. Looked at the options that were available. Decided to check out socketio since it had an tutorial for cordova. Tried it and it didn't work. Went over the whole internet but nobody seems to have a solution that works (the most recent post being 2017)
So I thought, let's get websockets to work instead, but again. Seems like O just can't get it to work.
So, guess what I'm going to do?
AJAX ever 1 second to the API.
Why the hell does RTU have to be so hard cordova. You are the only open source wrapper that's both multiplatform and easy to set up. Why can't you just work...
I might just call it quits on the app and just make a mobile friendly website instead.. Where socketio and websockets just work. As does SSE..
I'm tired, so sorry for the rambling I hope somebody can make sense of this mess. -
TL:DR I wanna scare the shit out of intruders, do you recommend Arduino or Raspberry Pi?
So, I live in a place kinda like a college, but everyone get their own room. There's staff 24/7, and obviously, I really dislike some of them. Otheres I just like to joke with.
Sometimes, I've thought of putting together a "system" which will probably make them shit a brick.
The way I would do this, is have an Arduino or Raspberry Pi connected to a sensor, which will trigger an airhorn somehow. Yes, and airhorn. They should shit bricks, remember?
That's the beginning tho. Later, if this ever becomes something, I plan on adding some system so it wont trigger when I open the door, along with flashing red lights when intruders opens the door.
I attached a picture. The smaller rectangle is my closet. First circle is the sensor, which I assume can just tell when the door moves, if I place it correctly.
The rectangle is the Arduino or Raspberry Pi, which should control it all as you probably already know.
The second circle is the airhorn. Not sure how I'm gonna trigger that yet.
So, does any of you have some advice or recommendations on how I can make this dream become true? Or even additional components to make it more efficient?
Last and most importantly, would Arduino or Raspberry Pi be best for this, is there a specific model thats better fit?10