If you were never exposed to functional programming before, learning Haskell will give you a whole new perspective on how you write code, and I bet it will make you a better programmer just because of that.
With that said, in Europe I ever came across exactly zero job ads that require Haskell, and exactly one in Singapore. In North America / Bay Area it might be more common though.
I write a lot of documentation. I do it not because others ask, but because I genuinely believe it is going to be helpful to someone at some point, and anticipate this need. So when Bobby from marketing asks about a feature, or Kate the junior dev can’t wrap her head about some algorithm, hey, I got them covered!
So I think this mindset is the first thing you need in order to get going. It will inspire you to write more and better.
Secondly, my practical advice is the following:
divide your doc in sections. Plan them out beforehand by writing just titles and subtitles. See how they fit together, if their sequence makes sense. Rearrange them until they convey a clear story. Usually you might want to have three macro-sections: 1. Introduction - what is the document about, who is it indended for, and why it was developed. This helps set expectations right off the bat. You can also describe the big-picture goals of the system/feature. What is it used for. What are the main use cases.
2. System/Feature Overview: here you can describe the big-boxes architecture, the main components (apps, servers, middleware, db, whatever), what they do, and how they work together. Describe communication protocols and standards followed. Describe functionalities the system provides. You can follow up on the use cases you mentioned in part 1 and show how the system delivers them.
3. Technical Details/Implementation Choices: depending on the audience of your doc, you might want to document non-obvious design choices. This is also where might want to describe expected inputs and outputs. If it’s an API, describe the routes, accepted methods, paylods. Provide actual examples, as many as you can. Describe the data model.
Then as you follow this trace, you might find out you wrote a lot about a certain topic. Depending on the level of detail you want to achieve, break it down in smaller sub-sections, or move parts over to section 3.
As for the writing style, you might want a prose with short sentences and easy language. Make sure to explain stuff thoroughly and not take anything for granted. Everything that looks damn obvious today, won’t be 6 months from now.
Sorry if this looks like a stream-of-consciousness. It sort of is. I hope you can find some of it useful.
Personally, I would still choose gin. Gin seems to be more straight to the point. To name one, compare goyave router.Route("PUT|PATCH", ...) with gin router.PUT() or router.PATCH().
Also I'm not a fan of adding a lot of functionality and opinionated behavior into web frameworks. e.g. configuration files that need to be in a specific place in my workdir, "automatic 404 when a database record is not found", etc.
But sure, if you want to get a server up and running from scratch very quickly for a POC or a simple API-over-a-database app, this lib might be a good starting point.
what stops these people from downloading mine or anyone's resume off LinkedIn and use that for their purposes? they wouldn't even need to bother contacting me first
As the first stage of the interview, we give a take-home test with no constraints. We just ask them to put together some code that works with one of our public APIs.
I think this is decently respectful of the candidate's time, while giving us the opportunity to review some actual code written by them.
And yet, most of them don't even bother... Well, I get that you are busy, but I don't feel comfortable investing time in an on-site interview without seeing any code first.
Disclaimer: If they provide a link to their github with some solid projects or OSS contributions, we skip the take-home altogether.
I don't entirely agree with this. Many speakers talk about their experience with some technology or problem. If it's not presented as a sales pitch - which sometimes might happen -, it is definitely valuable to hear about real-world use cases. And then you even get to ask them questions at the end. It is an opportunity to share info and practices that you can hardly get in the same way from a non-interactive blog article or a forum thread.
> When people attend conferences, they're doing it to be seen
This might be true, and as you say, it's all business.
I don't think this is necessarily bad (I'm not saying that you think so). Conferences are useful to meet people in person and expand your network, which is also very valuable. Maybe some do this as a deliberate calculation, some others are genuinely interested in socializing. That's all very fine. And ultimately if speaking at a conference has chances to improve my resume, why would I not go for it? It's all business, right?
> If you're at a talk that's truly unbearable, just tune out or walk out if it's that bad.
This is good advice.
Overall I would say conferences are a decent tool for staying in touch with the community. Not all of them are bad, and not all speakers have inflated egos.
The main issue is that Italy is part of the EU, and also one of its major economies.
The argument about unfairness is absolutely not a joke. In fact, it’s the main point. Doing business in China as a foreign-owned company in many sectors of the economy is, simply put, a huge challenge, when not outright impossible. This is mainly due to opaque or protectionist regulations. State-backed competitors also make the market harder to penetrate since they will always win price wars. Then add lack of concern for intellectual property.
Chinese companies don’t have these problems in Europe. Not even close. They enjoy all the advantages of a (basically) free market, whereas the opposite is not true.
This is where the “unfairness” is.
The EU has been trying to find some leverage against China to balance the scale for some time now, albeit our efforts have been mild. That’s because the EU doesn’t have a common foreign affairs strategy and individual member states are always more concerned with their internal politics to actually go figure out one.
So China can just come here, pick a country that can be easily enticed by the promise of bilateral cooperation and handsome investments, and all of a sudden the EU now has a member who will start voting against anti-China policies.
Without a unified will, the EU member countries don’t have the contractual power to demand and obtain anything from China. We will be an easy game for them.
I think this is a rather confusing article for beginners. I would say that request processing in an HTTP framework isn’t exactly a practical use case to demonstrate Go concurrency features. Most real-world applications are based on REST, which is stateless. In fact I would not associate HTTP server frameworks (in Go or in whatever language) with internal shared state management in an entry level article.
For people interested in Go concurrency features there’s this great curated list instead:
I'm using Nulab's Backlog. This is sort of a shameless plug since I work for that company. However I must say that after several years of clunky issue trackers, this one feels very very refreshing.
I won't waste your time with marketing speech, which you can find plenty of on the official website.
But actually easiness of use and moderate configurability, plus a decent-looking UI, are the points our advocates praise most often.
The company is very strong in Japan, where it was founded, but rather low-key in the rest of the world. I never heard of it myself before I joined, but after starting to actually use the product, I really wish I had.
You can subscribe to a free account. The ‘signup free’ link is somewhat hidden under the pricing sections.
The product has many nice drawing tools and templates and you can export to raster or vector formats.
You can make something like the one in your link by combining some preset icons Cacoo offers with regular drawing tools.
I found quite frustrating that any non-zero score depends only on time of submission in a specific time zone. It makes it a race and a race for certain people only.
But of course one can just take it as an opportunity to practice a language and learn new stuff.
Nulab is a team of fun-spirited innovators dedicated to creating software that supports effective communication and collaboration. With headquarters in Fukuoka, Japan and offices spanning Tokyo, Kyoto, New York City, Singapore and Amsterdam, our company is growing quickly. We’re looking for the next Nulaber to join our development team in our Amsterdam and New York offices.
I have recently discovered Backlog - disclaimer: due to being hired by the company, even if not in that team. If you google "backlog project management" it should be the first result.
I honestly like it very much. It is way easier to use than Jira, nice modern UI/UX, integrates with git etc. It has enough features to help with larger projects, and you can shut off features you don't need. There's even more to say, but I don't want to spam the thread.
I feel the product deserves credit. You can try it out.
Wow, yes, this comment is much more acute than it might look. However I often had the impression that China seems to be this hot get-shit-done-without-corporate-bullshit place because they are improvising - both management and technical functions.
I came up with the following explanation: the Chinese are bad at abstract thinking, therefore they don't build theoretical constructs as solid as we do, therefore they are worse at devising complex processes - compared to westerners. I'm not talking about scientific prowess. I'm talking about problem solving and creativity.
Disclaimer: I worked in China and speak fluent Mandarin.
Absolutely. I lived in China and Spain, and am about to move once again. Those experiences have given me perspective on the world and on myself, gave me self-confidence when I was able to succeed in a foreign environment against international competition, built my character and drive. It ultimately gives me a non-negligible advantage over my peers when it comes to job-hunting. It does have downsides because leaving Family & Friends is tough at times, homesickness, etc.
My personal 2 cents is, think about your motivations. Don't do that just because of a calculation.
The GDPR isn't a set of technical specs. It purposefully sets out broad guidelines and leaves the implementation to each data-handling organization. Obviously the requirements and challenges of a hospital are much different than those of an e-commerce.
Therefore, it is the organization, or more precisely its DPO, that has to define what is "appropriate" to their business.
Then, according to your interests/knowledge/SOW, you can act as a security consultant who gives proactive advice, or as a contractor that develops a solution from a set of specs.
With that said, in Europe I ever came across exactly zero job ads that require Haskell, and exactly one in Singapore. In North America / Bay Area it might be more common though.