chuck32
- There is no search function anywhere
- Go back far enough in the news listings and it just stops. No explanation. https://news.ycombinator.com/news?p=15
- To find the formatting guide for posting comments you have to go through the FAQs?!
- Update a comment and you get redirected to the same form with no message.
I really don't get why a site who's target audiance is web developers and hackers has such terrible functionality on their site. Is it because we are really meant to be reading our news through a REST interface?
Well done for achieving work-life balance.
For most of these companies their mission statements and "company culture" are complete BS. Just look at how much tax these companies (think Apple, Facebook, Amazon etc.) pay to see if they are truly "progressive" and "forward-thinking" companies. They are not. And that hypocrisy trickles right down to the bottom.
Thats why its not surpising that in supposedly one of the most liberal and open-minded places in the world, sexual harassment and other forms of discrimination are rife.
I can't find this thread but there was a discussion about workplace discrimination and a transgender woman wrote that she had pretty much no problems working in a large corporate mid-west based company where the majority of employees were conservative and Christian but faced plenty of abuse and comments from co-workers when working for a more "open-minded" silicon valley style company with more of a "bro" culture.
My theory is that most backend developers claim to be "full-stack" in order to get the job even though they really are much more focused on backend stuff. This is because its very hard to learn ruby/python/php/java for web development without learning html/css. Project Managers like having full stack jobs only because they think that can just get somebody to "do everything".
This is also probably a bit of a legacy thing, ~15 years ago the difference between backend and frontend web developement was not as well defined as it is now. A web developer would "make the page look like this with a text field there and a button here" (frontend - html/css/javascript) and then make the form on the page "save the form input to a database" (backend - a php script possibly embedded in the page).
These days development is more like "make the site be a single page app with a responsive mobile-friendly design" (frontend - angular/react/ember...) and make it process data from the user and send it off to external apis and integrate third party libraries (backend - rails/django/.net...) and have a version controlled and automatic way of deploying the code to a multiple servers behind a load balancer (dev ops - chef/puppet for example).
As with any technology, the more advanced it gets, the more need there is for practitioners to specialise.
So for me having a competitive element to what i consider a fairly boring job definitely makes it much less boring. As for rudeness and arrogance I try not to be those things but if somebody else is i just ignore it. Simple as.
Developers who are not team players do not make it far in my experience.
These are very grandiose visions of what being a developer is like. The reality is much more mundane.
You say you "spent all of my MBA (top 3) coding web apps instead of networking", where are those web apps? Are they still around? Put them together into a portfolio to showcase them to employers.
I was a hobbyist programming in my teens and now do it full time. I don't program anymore in my spare time since I spend 8 hours a day doing it but who cares? There are plenty of other hobbies to be had..
If you end up quitting your job to go into programming, how hard would it be to go back to your old line of work? If not very hard why not give full time coding a go? What do you have to lose?
Thats not what he says. He says that these ideas "can be useful in any programming language". Which is the point that I disagree with.
> there's nothing to prevent a library on top of all these others libraries to accomplish this
So a library to organise the code which interacts with other libraries? Sounds an awful lot like a framework to me?
Allowing your codebase to develop organically is a lot better than trying to fit the square peg of your domain into the round hole of the chosen framework.
Its a fair argument to make but honestly I've never worked on a web app where I didn't think that using an MVC framework like Django or Rails made sense.. Do you have any examples of web apps that would be better off without a framework than with?Also there are plenty of PHP codebases that were developed "organically" (i.e. without a framework) that are absolute eye sores to look at because without a structure in place its too easy for developers to write bad code.
This follows from my experience with building F# libraries, but the ideas are quite general and can be useful in any programming language.
This is just not true. The whole article really doesn't apply to any mainstream programming languages like ruby, python, java, javascript etc. The author seems to be coming from an academic view point and the points he makes really don't translate to the software engineering world.His analogy about frameworks being package holidays while composing libraries is like independent travel only tells half the story. How do you organise the interaction of libraries? You can do it yourself but you will have to follow some sort of pattern to organise the code in order to make it easy to work with. What happens when another coder joins your project? Are you going to tell them the pattern you have already been using? What if they dont follow it as expected or disagree with it? Frameworks standardise this. Yes you might not always like certain aspects of the framework you're using but its the price you pay for not having a project full of developers who each have their own way of doing things and are constantly argueing over how to organise the codebase.
Also this hyperbolic use of the word "evil" is immature and dorky. Sorry.
Seems like you've got to up your game. Don't get mad though, take this as a lesson and learn from it. If anything this should be good news because now you know you can earn way more than you are currently for the same exact work.
This is a discussion about whether or not to use frameworks isn't it? I'm argueing for using a framework rather than against, isn't that the whole point of a discussion?
> IME there's this language/framework tribalism culture in software that's extremely poisonous; language/framework supporters go online and bash, spread fud, and denigrate other languages and frameworks.
Not sure if you're saying this because you think I'm bashing/fudding people who don't use frameworks? I'm just argueing a point.
> You haven't advocated any particular framework but maintain some sort of framework use is best position, which is odd.
I think I've put my reasons for advocating frameworks over no frameworks pretty clearly?
> Learning frameworks does take time, and when you're iterating a side project, with a mortgage, 3 kids, and spouse, time is the last thing you have. Is this you? Probably not! But that's the reality for some.
If you have a spouse/kids/mortgage then IMO its even more important that you learn to use a mainstream framework for whatever language you are using because its the way the industry is heading. Spending time on a side project in that situation would be a very bad use of your time while learning a framework will benefit your career immensely. The reality of the tech industry is that you do need to spend some time to keep up to date with modern tech trends, whether or not thats good or bad is another discussion.
But if you are already experienced in a framework like rails, django or laravel, then bashing out a side project should be significantly faster with the framework then without. There are so many things you dont have to re-invent when using a framework like routing, installing an ORM, rendering templates etc.
I honestly haven't read any convincing arguments against using a framework in this thread other than "I don't want to spend time learning it" but if you pick a popular and mature framework like rails or django then learning that will benefit you loads in the long term.
Also keep in mind you could make the same argument against learning a programming language like C and say "I just prefer writing assembly code becuase I know exactly what bits go into which registers".
The problem with this mindset is that yes, its quicker to just bash out some code that does what you want it to but what happens when another developer has to work with that same code later down the line? They are going to have to spend time to figure out how you've structured everything.
One of the advantages of using a framework is to follow a standardized structure. That way a developer only has to learn the framework's structure once, as opposed to learning the individual preferred structure of each and every colleague he collaborates with.
> You end up reading docs more than writing code.
I would say that this the reality of being a software engineer. A good software engineer spends more time reading docs, researching design patterns, reviewing existing implementations and considering the implications of different solutions than he does writing actual code.
> You usually can't just read the code to understand how the app works.
This isn't my experience with frameworks. Since pretty much all frameworks follow the MVC pattern its usually clear where everything goes.
In my experience contractors are mainly hired for development of new projects or features when they'd like to get some more hands on deck to speed up development. Or because the company would like to hire a permie but can't for whatever reason (not sure they will have enough work in the long run, can't find the right person etc.).
Also I've never seen a contractor that who's day-to-day functions were any different from that of a permanent employee. Where are these companies that let permies play ping pong for hours but have the contractors chained to their desk churning out features and reducing technical debt?
Its the result of a general consensus in Germanic countries that forced happiness is distasteful (as has been mentioned) and a lesser appreciation of politeness between strangers. Its not that they are trying to deliberately be rude to you its just that they don't bother to feign cheeriness. Of course this is a massive generalization but overall its an observation of whats valued in the culture.
This is in complete contrast with Americans who will go out of their way to seem happy and cheery, "Hey, my name's Steve, how are you today? So happy to have you in my shop!" - when all you want to buy is a stick of gum..
The UK is a bit different from both the USA and Germany in that they definitely value politeness and cordiality between strangers (whether in a customer service setting or just in general) but they find any overt displays of emotion distasteful so prefer to keep the politeness low-key. Only mentioning the UK because some people are comparing Germanic values with English speaking countries so just wanted to make the distinction.
I think a far better way of getting into a new field of software engineering (like distributed systems) would be to apply for a job in that field, let them know you've been studying it in your spare time but are an experienced software dev with ~15 years under your belt. I think that would be a pretty good offer for an employer (at least a good one). At worst you may have to take a small pay cut but that should certainly be a lot less money lost than if you took a 6 months sabbatical.
If you can afford a 6 months sabbatical then I say take it, but try spending the whole 6 months without touching a computer, or at least not coding. It will help you grow as a person and make you a better software engineer when you come back to it after the 6 months.
"1year or more out there are entirly new stacks, new libraries, new versions, new ways of building things etc."
You think there are any dev teams which change their entire stack every year? As for new libraries, thats what documentation is for, nobody gets hired because they have a the newest & hottest libraries APIs memorized.
Being a good developer has very little to do with knowing all of the trendiest new tools. A sound understanding of software engineering practices and methodologies is far more important.
You say you're looking for somewhere that will "tolerate a greater ramp-up time for new hires" and thats fair enough but there are also plenty of things you can be doing now to prepare for a job to minimize the ramp-up time.
Also your approach of "looking for a job as a web dev, or anything really" is not going to look very attractive to employers. I'm sure you wont be saying that in an interview of course but why would they hire someone with that attitude when there are plenty of people who can say "I love working with Rails/Python/Javascript/whatever because x, y and z and even though I've been unemployed recently I've done this, this and this which is related to this technology".
I'm not saying you have to become one of these web-dev obsessed hacker-newsy types who spend all their free time reading tech blogs and experimenting with no-sql databases but at least pretend to have an interest in one or two particular aspects of web development and spend a bit of time to code something or do something to demonstrate that interest.