282 karma · joined November 25, 2018
As for remote work, the majority of the jobs I've had have been either fully remote or partial - like between 1-3 days a week in the office, the rest from home. Never found any difference when applying to remote jobs myself.
Sorry if thats conceited.
I would add - don't assume that because its a startup that means you have to be working 60 hour weeks. I have worked in and known plenty of other people who have worked in startups that were 9-5 with hardly any over time. There are plenty of startups that succeed with the majority of the employees working normal office hours, you just don't hear about them because they don't brag in interviews about how hard they are "hustling" and how they do yoga at 5am in the morning etc.
As for multiple monitors, I have tried it for a while but much prefer a single 24" screen. When I've had multiple monitors I ended up hardly ever using the second one.
https://www.youtube.com/watch?v=KkMDCCdjyW8&list=PL3BD1325B3...
> But after years of good performance reviews, successful projects, and promotions, I started to finally allow myself to believe that I knew what I was doing.
Back to your original post, this kind of learning is FAR more valuable than anything you will learn in university. You have learned through practice and experience. I have probably interviewed at at ~20 different companies in the last 6 years and never once have I been asked a single question about my university degree, literally never. Nobody cares about them. They know that its the experience that counts, not the degree (though I'm not saying degrees are worthless either). In my experience I would say around 40% of the software developers I have worked with either do not have a degree at all or have a degree in a completed unrelated subject (i.e. Philosophy). The idea that one developer would discount another developer's idea because he doesn't have a degree in computer science is actually laughable.
Though I'm only saying all of that in order to tell you that a degree is not the answer to your imposter syndrome. The answer is to educate yourself, read books, experiment with different technologies and system architectures, read blog posts and discussions, watch conference talks, go to a conference, join slack channels and discuss topics with other developers. You should feel confident that you know what you're talking about because you have put the effort in to determine what the best solution is based off of research and practical experience, not because you paid hundreds of thousands of dollars (assuming your in the US) to have some guy tell you ideas about software engineering which are probably out of date anyway.
Its funny to see management types dismiss the programmers as being "airy-fairy" when they talk about things like code quality and technology stacks but then they wonder why things get completed on time, why bugs happen, why sites get hacked etc.
Somebody else has mentioned this analogy before in this thread, but if you had a house built would you say the same thing about the structural integrity? "As long as the floor can support me then thats all that matters", "House dwellers don't care what kind of structural beams are used to support the floor they just want it to not collapse". That kind of a mentality is ok for an average person living in a house but you'd you have to be off your rocker to hire a building manager who said that.
Also I really shouldn't have to list the famous tech entrepreneurs who dropped out of college or lack degrees entirely because its pretty much a cliche by now.
In short, they are not. Which is why you see so many high profile companies being hacked all the time.
I find it odd how offended you seem by my post.
I don't think that programmers are any different from other professions in this sense. But the subject of this thread is about programming which is why I commented about that. It is just like other STEM subjects in that - a lot of people study them at university, but only a few people actually go on to work in the field they studied. Some studies find that only around 25% of STEM graduates actually go on to work in the field they studied.
http://shortsleeveandtieclub.com/what-percentage-of-engineer...
Now imagine if he tried to learn java by attending a class for it - i.e. sitting there for an hour listening to some guy explain how a for loop works. Chances are he would be bored silly and never get anywhere with coding. I think its important for people learning how to code to have a genuine motivation behind it - have something you actually WANT to build. Don't just learn it so you can get a job.
https://www.japantimes.co.jp/news/2019/03/22/national/number...
And with a population of 126.8 million people that means that 2% of the population are foreign.
What about for a German to consider Jews to be less German? Is that ok too? Its just their "culture" right?
Edit: I suggest you watch this exchange between a black Englishman Gary Young and the white supremacist Richard Spencer. It's nasty stuff right? Him telling the guy "you're not a real Englishman". Yet you have japanese friends who say exactly the same thing about non ethnically Japanese people and you think that's fine? How do you square that circle?
If you had an actual job offer on the other hand then that would be a different story. Then you could reasonably say "I have had an offer for this much salary so please can you match that otherwise you are asking me to work below my market rate for you and although I like working here I don't think it's fair to ask that of me".
For example, even trying to exploit a famous vuln like dirtycow still often requires small tweaks to the exploit script in order to get it to work. There is no way an AI will be able to do that.
Though if you are talking about an "AI" that checks processes running, versions installed etc. and runs the appropriate exploits scripts metasploit already has that in the getsystem command. Though I wouldn't really consider that AI.
https://www.offensive-security.com/metasploit-unleashed/priv...
How do you think meterpreter would be controlled by an AI? Do you think there should be an AI that will automatically figure out a way to hack into a system or escalate privileges?
Regarding other tools like nmap and metasploit - they are frameworks which let you run modules specific to certain exploits. Metasploit has countless of new modules being developed all the time. And nmap has its own scripts to target new kinds of attacks.
Though the basic functionality of nmap will not change anytime soon because network protocols are largely the same since 10 years ago.
That said, I would suggest to learn coding by building something that you actually want to build. Maybe you have an idea for a project that could make money somehow? Then learn the bare minimum you need to learn in order to build that project.
If you just sit there thinking "I am going to learn how to code" then you will likely dick around learning little bits here and there with no real aim. Coding is a means to an end, not a means in itself.
Here is another idea: take a look at the projects on freelancing sites like Upwork. Try coding some of them yourself. You could make yourself a goal to complete a paid project on Upwork within one years time. Pick a language/platform, find projects in that area on upwork, do them yourself as practice runs, learn the bare minimum you need to complete each practice project. As you do more and more you will learn new things each time and eventually you will be confident enough to do a paid project (though you will likely have to bid a pretty low price to get the job!). But you will have the satisfaction of having earned hard money for your efforts, even if its not much!
If I were I would start applying to jobs, and when they ask you what salary you would expect I would go for 35k, you could reasonably push it to 40k depending on how confident you are at negotiating.
Feel free to PM me if you have anymore questions.